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
cupy >= 11.5.0 (optional and not downloaded during the installation)
Installation
Clone or download the repo.
Open the folder then a terminal
Use the command
pip install .orconda install ..
Tutorials
Tutorials are available on the Github page of the project.
Future work
Contributions are welcome.
Build a double-Bracewell model
Port it to Jax
Add machine learning techniques
Extend the usecase to interferometry
Extend the capability to fit an arbitrary number of parameters
Design a logo