Skip to content

virgil.models Functions

Analytic complex visibilities, in spatial-frequency units (baselines divided by wavelength). Likelihoods are in virgil.likelihood.

Source models: sky-brightness distributions and their visibilities.

Every flux is relative: for a companion it is the companion/primary flux ratio. Likelihoods of these models are in virgil.likelihood.

cvis_binary(u, v, dra, ddec, flux)

Compute complex visibilities for a Cartesian-parameterized binary model.

Source: Martinache (2010), xara (formerly pysco), references; closure-phase contrast limits: Ireland (2013), references.

Parameters:

Name Type Description Default
u array - like

Baseline coordinates in wavelength units (cycles / rad).

required
v array - like

Baseline coordinates in wavelength units (cycles / rad).

required
dra float or array - like

Offset of the companion in mas, positive to the East and the North.

required
ddec float or array - like

Offset of the companion in mas, positive to the East and the North.

required
flux float or array - like

Companion/primary flux ratio.

required

Returns:

Type Description
array - like

Complex visibility samples, normalized to 1 at zero baseline.

cvis_uniform_disk(u, v, diam, dra=0.0, ddec=0.0)

Compute complex visibilities for a uniform (tophat) disk.

The amplitude is 2 * J1(x) / x with x = pi * diam_rad * base_norm, the disk diameter in radians times hypot(u, v), the baseline length in wavelength units.

Parameters:

Name Type Description Default
u array - like

Baseline coordinates in wavelength units (cycles / rad).

required
v array - like

Baseline coordinates in wavelength units (cycles / rad).

required
diam float or array - like

Diameter of the uniform disk in mas.

required
dra float or array - like

Right-ascension and declination offsets in mas.

0.0
ddec float or array - like

Right-ascension and declination offsets in mas.

0.0

Returns:

Type Description
array - like

Complex visibility samples.

cvis_limb_darkened_disk(u, v, diam, coeffs, powers, dra=0.0, ddec=0.0)

Visibilities of a disk whose brightness is a sum of powers of \(\mu\).

For \(I(\mu) = \sum_\nu a_\nu \mu^\nu\), \(\mu = \sqrt{1 - (r/R)^2}\), the visibility is a sum of \(J_{\nu/2+1}(x)/x^{\nu/2+1}\) terms with \(x = \pi\theta|b|/\lambda\), normalized to 1 at zero baseline. Powers need not be integers, with \(-2 < \nu \le 22\) (the lower limit keeps the flux finite). Formula: Limb-darkened stars.

Source: Quirrenbach et al. (1996), eqs. 1-4, references; generalized by harmonix, references.

Parameters:

Name Type Description Default
u array - like

Baseline coordinates in wavelength units (cycles / rad).

required
v array - like

Baseline coordinates in wavelength units (cycles / rad).

required
diam float or array - like

Limb-darkened diameter in mas.

required
coeffs array-like, sequence of float

Coefficients \(a_\nu\) (traceable) and the powers \(\nu\) of \(\mu\) (static), one each.

required
powers array-like, sequence of float

Coefficients \(a_\nu\) (traceable) and the powers \(\nu\) of \(\mu\) (static), one each.

required
dra float or array - like

Right-ascension and declination offsets in mas.

0.0
ddec float or array - like

Right-ascension and declination offsets in mas.

0.0

Returns:

Type Description
array - like

Complex visibility samples.

cvis_radial_dirac_delta_modulated(u, v, r0, az_amps, az_phis)

Complex visibility of an azimuthally modulated radial Dirac-delta ring.

The intensity is \(I(r, \theta) \propto \delta(r-r_0)(1 + \sum_m A_m \cos[m(\theta - \phi_m)])\) with \(\theta\) counter-clockwise from North to East. Rotation and inclination are not applied: transform the \(uv\) coordinates separately. One first-order modulation with phase 0 is bright to the North and faint to the South; with phase 90, bright to the East.

Parameters:

Name Type Description Default
u array - like

Baseline coordinates in wavelength units (cycles / rad).

required
v array - like

Baseline coordinates in wavelength units (cycles / rad).

required
r0 float or array - like

Radial position of the ring in mas.

required
az_amps array - like

1D amplitudes \(A_m\) of the cosine modulations, and their offset angles \(\phi_m\) in degrees relative to the position angle of the projected major axis, first order first.

required
az_phis array - like

1D amplitudes \(A_m\) of the cosine modulations, and their offset angles \(\phi_m\) in degrees relative to the position angle of the projected major axis, first order first.

required

Returns:

Type Description
array - like

Complex visibility samples.

multipole_disk_cvis(u, v, r, w, inc=0.0, pa=0.0, blur_fwhm=None, c=None, s=None, height=None, stretch=None)

Unit-flux visibility of a disk from radial quadrature.

Provisional

May change in any 0.4.x release without a deprecation cycle.

A sum of thin rings at nodes r with weights w, with inc and pa undone, normalized so \(V(0) = 1\). The Bessel series, the height phase and the envelope are in Model notes.

Source: Jennings et al. (2020), references, and Kennedy (2025), references; ideas only.

Parameters:

Name Type Description Default
u array - like

Baseline coordinates in wavelength units (cycles/rad); any shape.

required
v array - like

Baseline coordinates in wavelength units (cycles/rad); any shape.

required
r array - like

Quadrature radii in mas and weights with \(I_0(r_k)\,r_k\,dr\) folded in, shape (n_r,) (w may be u.shape + (n_r,) for a chromatic profile); each w is normalized to unit sum.

required
w array - like

Quadrature radii in mas and weights with \(I_0(r_k)\,r_k\,dr\) folded in, shape (n_r,) (w may be u.shape + (n_r,) for a chromatic profile); each w is normalized to unit sum.

required
inc float or array - like

Inclination and position angle in degrees; FWHM in mas, in the disk plane, of a smoothing Gaussian.

0.0
pa float or array - like

Inclination and position angle in degrees; FWHM in mas, in the disk plane, of a smoothing Gaussian.

0.0
blur_fwhm float or array - like

Inclination and position angle in degrees; FWHM in mas, in the disk plane, of a smoothing Gaussian.

0.0
c array - like or None

Linear harmonic coefficients at the nodes, shape (M, n_r) (row m - 1 is order m; keeping the brightness non-negative is the caller's task); ring heights above the disk plane in mas, shape (n_r,) (None is flat); minor-axis foreshortening on the sky (default cos(inc); negative mirrors the azimuth).

None
s array - like or None

Linear harmonic coefficients at the nodes, shape (M, n_r) (row m - 1 is order m; keeping the brightness non-negative is the caller's task); ring heights above the disk plane in mas, shape (n_r,) (None is flat); minor-axis foreshortening on the sky (default cos(inc); negative mirrors the azimuth).

None
height array - like or None

Linear harmonic coefficients at the nodes, shape (M, n_r) (row m - 1 is order m; keeping the brightness non-negative is the caller's task); ring heights above the disk plane in mas, shape (n_r,) (None is flat); minor-axis foreshortening on the sky (default cos(inc); negative mirrors the azimuth).

None
stretch array - like or None

Linear harmonic coefficients at the nodes, shape (M, n_r) (row m - 1 is order m; keeping the brightness non-negative is the caller's task); ring heights above the disk plane in mas, shape (n_r,) (None is flat); minor-axis foreshortening on the sky (default cos(inc); negative mirrors the azimuth).

None

Returns:

Type Description
array - like

Complex visibilities with the shape of u.