OITOOLS

GitHub Status Build

OITOOLS is a Julia package for optical interferometry, developed by Prof. Fabien Baron (Georgia State University) and collaborators. It covers the full data analysis workflow:

  • Reading OIFITS v1/v2 files with automatic quality filtering, spectral and temporal binning, and OI_CORR support
  • Plotting UV coverage, V², closure phases, triple amplitudes, and flux spectra
  • Model fitting with NLopt, Levenberg–Marquardt, and UltraNest (Bayesian evidence)
  • Image reconstruction via gradient descent (VMLMB) with NFFT, including polychromatic, time-variable, and SPARCO modes
  • Simulating synthetic OIFITS datasets from images or analytic models

Source code: github.com/fabienbaron/OITOOLS.jl

Forward model pipeline

Both image-based and parametric-model-based workflows follow the same pattern:

OperationImage domainModel domain
→ complex visibilitiesimage_to_vis(x, ft)model_to_vis(model, x, uv)
→ observablesimage_to_obs(x, ft, data)model_to_obs(model, x, data)
→ residualsimage_to_residuals(x, ft, data)model_to_residuals(model, x, data)
→ chi²image_to_chi2(x, ft, data)model_to_chi2(model, x, data)
→ chi² + gradientimage_to_chi2_fg(x, g, ft, data)model_to_chi2_fg(model, x, data)
Note

OITOOLS is under active development. Contributions to the code, documentation, and demos are welcome.