This is the documentation of applefy
, a Python package for calculating
detection limits for exoplanet high contrast imaging (HCI) datasets.
applefy
provides a number of features and functionalities to improve the accuracy
and robustness of contrast curve calculations. It implements the classical
approach based on the t-test (compare
Mawet et al. 2014) as well as the parametric
boostrap test for non-Gaussian residual noise (Bonse et al. 2023.
Applefy has two main features:
- Compute contrast curves (see documentation)
- Compute contrast grids (see documentation)
Further, this repository contains the code needed to reproduce the results of our paper, available here.
A full documentation of the package, including several examples and tutorials can be found on ReadTheDocs.
This short guide will walk you through the required steps to set up and install
applefy
.
The code was written for Python 3.8 and above
The code of applefy
is available on the PyPI repository
as well as on
GitHub. We strongly recommend you
to use a virtual environment to install
the package.
Applefy can only be used together with a data post-processing library for high-contrast imaging data! The following packages are currently supported:
Just run:
pip install applefy
Start by cloning the repository and install applefy
as a Python package:
git clone git@github.com:markusbonse/applefy.git ;
cd applefy ;
pip install .
In case you intend to modify the package you can install the package in
"edit mode" by using the -e
flag:
pip install -e .
Depending on the use case applefy
can be installed with additional options.
If you install applefy
from GitHub you can add them by:
pip install -e ".[option1,option2,...]"
If you install applefy
from PiPy you can add them by:
pip install "applefy[option1,option2,...]"
The following options are available:
dev
: Adds all dependencies needed to build the documentation page with sphinx.fast_sort
: Installs the library parallel_sort which can speed up the calculation of bootstrap experiments. Since, parallel_sort is a wrapper around the GNU library it is only supported on Linux.plotting
: Installs the libraries seaborn, matplotlib and bokeh which we use in our plots.vip
: Installs applefy with VIP. Note, this option is conflicting with the optionpynpoint
.pynpoint
: Installs applefy with PynPoint using the PynPoint version available on GitHub. Note, this option is conflicting with the optionvip
. This option is only available if you installapplefy
from GitHub.
The tutorials in the user documentation are based on a demonstration dataset (NACO at the VLT). The data is publicly available at Zenodo. The repository contains three files:
30_data
: This is the NACO L' Beta Pic dataset as a hdf5 already. The data was pre-processed with PynPoint.70_results
: Contains results created by the tutorials of the user documentation. They are only needed if you don't want to compute your own PCA residuals.laplace_lookup_tables.csv
: Are the lookup tables for the LaplaceBootstrapTest.
Check out the plot gallery
in the applefy
documentation.
All code was written by Markus J. Bonse, with additional contributions from Timothy Gebhard. Detailed information on the citation can be found here.