Comparison with other packages
Which features each package supports natively, checked on 12 October 2026 against the code and documentation of virgil (commit 0771bcc), PMOIRED (commit b5a762e, version 26.10.5), CANDID (commit c255e90, version 1.1.0), eht-imaging (commit 7acf089, version 1.3.2), MPoL (commit 8850b48, version 0.3.1) and fouriever (commit 0aaffe0, version 0.4.15). It is a snapshot, and the packages have different aims: virgil overlaps a lot with some and little with others. If you spot an error, please open an issue.
| Feature | virgil | PMOIRED | CANDID | eht-imaging | MPoL | fouriever |
|---|---|---|---|---|---|---|
| Data | ||||||
| OIFITS input | ||||||
| JWST AMI / kernel phase | ||||||
| VLTI spectro-interferometry (GRAVITY, PIONIER, MATISSE) | ||||||
| Radio visibilities (ALMA, VLBI) | ||||||
| Correlated closure-phase covariance | ||||||
| Companions | ||||||
| Binary grid search | ||||||
| Contrast / detection limits | ||||||
| Bayesian upper limits | ||||||
| Orbit fitting | ||||||
| Sources | ||||||
| Geometric models (uniform disk, Gaussian, ring, disk) | ||||||
| Limb darkening | ||||||
| Gravity-darkened or spotted stars | ||||||
| Chromatic SPARCO-style scenes | ||||||
| Composing models | ||||||
| Imaging | ||||||
| RML / MaxEnt | ||||||
| Gaussian-process image priors | ||||||
| CLEAN | ||||||
| Posterior sampling of images | ||||||
| Inference and engine | ||||||
| MCMC / nested sampling | ||||||
| HMC / NUTS | ||||||
| Variational inference | ||||||
| Automatic differentiation | ||||||
| GPU | ||||||
| Hierarchical multi-filter fits |
supported natively partial, experimental, or through an add-on or another package not supported
Notes
virgil
- Radio visibilities: complex visibilities are fitted, but there is no reader for UVFITS or measurement sets.
PMOIRED
- Closure-phase covariance: a correlation parameter and bootstrapping, not a full covariance matrix.
- Orbit fitting: Keplerian elements can drive component positions; no orbit priors or dedicated fitter.
- Limb darkening: only in the rotating-star model, not the uniform disk.
- Gravity-darkened stars: von Zeipel model is included; spots are not.
- Chromatic scenes: components have independent spectra, so a SPARCO-like scene can be built.
- Hierarchical fits: one model fitted across datasets, without population-level structure.
CANDID
- VLTI: PIONIER is the demonstration case, GRAVITY is mentioned, one instrument setup per file.
- Geometric models: uniform or limb-darkened primary, point or uniform companion, one Gaussian.
- Limb darkening: a single-parameter law in the slower code path.
- Composing models: fixed primary plus companion plus resolved flux, no general interface.
eht-imaging
- Hierarchical fits: multifrequency imaging fits frequencies jointly with spectral index terms.
MPoL
- Geometric models: pixel images are the core; disk models appear only in a tutorial.
- Composing models: PyTorch layers compose, not interferometric source components.
- Gaussian-process priors: a preliminary power-spectral-density loss.
- Image posterior sampling, HMC / NUTS, variational inference: only through Pyro in a tutorial.
fouriever
- VLTI: PIONIER and GRAVITY branches exist; MATISSE does not.
- Geometric models: uniform disk plus unresolved companion only.
- Composing models: a fixed composite, plus subtracting or injecting a companion.
- Hierarchical fits: several datasets can be opened; joint fitting was not verified.