Installation

Dependencies

PackagePurpose
OIFITS.jlRead OIFITS v1/v2 files
NFFTNon-uniform fast Fourier transform for imaging
OptimPackNextGenVMLMB gradient optimizer for image reconstruction (Éric Thiébaut)
NearestNeighborsKD-tree UV deduplication
SparseArraysOI_CORR correlation matrix storage
NLoptLocal and global optimizers (Nelder–Mead, ISRES, …)
LsqFitLevenberg–Marquardt least-squares fitting
UltraNestBayesian model selection via nested sampling
SpecialFunctionsBessel functions for visibility calculations
PyCall / PyPlotMatplotlib-based plotting
CrayonsColoured terminal output

Step 1: Python packages

OITOOLS uses a Julia-managed Conda environment for UltraNest and Astroquery. Paste the following into the Julia REPL:

ENV["PYTHON"] = ""
ENV["MPLBACKEND"] = "qt5agg"
using Pkg
Pkg.add("Conda")
using Conda
Conda.add("ultranest",  channel="conda-forge")
Conda.add("astroquery", channel="astropy")
Tip

If you already have a Python installation you want to use, omit the two ENV[...] lines so Julia reuses your existing Python.

Step 2: Julia packages

Add the EmmtRegistry (required for OptimPackNextGen, OIFITS, and related packages), then install all dependencies:

using Pkg
pkg"registry add General"
pkg"registry add https://github.com/emmt/EmmtRegistry"
Pkg.add([
    "AstroTime", "CFITSIO", "Crayons", "Dates", "DelimitedFiles",
    "FFTW", "FITSIO", "Glob", "LaTeXStrings", "LinearAlgebra",
    "LsqFit", "Match", "NFFT", "NLopt", "NearestNeighbors",
    "Parameters", "PyCall", "PyPlot", "Random", "SparseArrays",
    "SpecialFunctions", "Statistics", "UltraNest",
    "ArrayTools", "LazyAlgebra", "OptimPackNextGen", "OIFITS",
])
Pkg.add(url="https://github.com/fabienbaron/OITOOLS.jl.git")

Installation typically takes 2–10 minutes depending on your system.

Verify the installation:

using OITOOLS