Skip to content

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.