GRIP documentation
What is GRIP?
GRIP (Generic data Reduction for nulling Interferometry Package) is a toolbox for reducing nulling data with the nulling self-calibration method (NSC). These tools can work with data coming from any nuller nuller. It handles baseline discrimination, spectral dispersion. GRIP currently models the histogram of the data in order to get: - the self-calibrated null depth - the mean and standard deviation of a normally distributed observable (e.g. OPD)
GRIP currently features several optimizing strategy: - least squares - maximum likelihood - MCMC (with the emcee library)
It can work on GPU thanks to the cupy library but it does not handle Jax yet.
GRIP is open-source and can be found on Github.
Dependencies
numpy >= 1.26.2
scipy >= 1.11.4
matplotlib >= 3.6.3
h5py >= 3.8.0
emcee >= 3.1.4
numdifftools >= 0.9.41
astropy >= 5.2.1
cupy >= 11.5.0 (optional and not downloaded during the installation)
sbi >= 0.23.2 (optional and not downloaded during the installation)
pytorch >= 2.1.2 (optional and not downloaded during the installation)
Installation
From PIP
Use the command pip install grip-nulling
.
To uninstall: pip uninstall grip-nulling
.
From the source
Clone, download the repo or check one of the releases.
Open the directory then a terminal
Use the command
pip install .
orconda install .
To uninstall:
Open a terminal and the environment
Do not locate yourself in the directory of the package or the parent
Type
pip uninstall grip
Delete the directory
grip
GPU powering
If you have a GPU, greatly boost the performance of GRIP by using Cupy.
Using Neural Posterior Estimation
To use the Neural Posterior Estimation technique, the libraries SBI and PyTorch must be installed separately.
GPU is not necessary to use the NPE feature of GRIP.
Tutorials
Tutorials are available on the Github page of the project.