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

  1. Clone or download the repo.

  2. Open the folder then a terminal

  3. Use the command pip install . or conda 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