Skip to content

doppler_tomogram

Doppler tomogram of a binary from N phase-resolved spectra.

Category Advanced
Backend numpy - implemented here on top of numpy primitives
Version 2.0.0
Reads -
Writes extras.tomography_result, metrics.n_spectra, metrics.period_days, metrics.epoch_hjd, metrics.gamma_kms, metrics.line_center_aa

Back-projection of N phase-resolved spectra onto the (V_x, V_y) plane. Pixels are averaged over the phases that contribute (NaN-aware mean) so the phase-coverage footprint does not bleed into the brightness map. JD_mid is read from each spectrum's meta['jd_mid'], falling back to meta['dateobs'] + meta['exptime_s'] via astropy.time.Time. Descending wavelength axes are sorted before interpolation. v2.0.0: the projection now follows Marsh & Horne 1988 Eq. 1, v = γ − Vx·cos(2πφ) + Vy·sin(2πφ) ; v1.x used γ − Vx·sin(2πφ) + Vy·cos(2πφ), so a spot with RV curve γ + K·sin(2πφ) (the secondary) landed at (−K, 0) instead of (0, +K). Maps produced by v1.x are rotated by −90° (Vx, Vy) → (Vy, −Vx) relative to v2 / the literature convention.

Parameters

Parameter Default Required Description
period_days None yes Orbital period of the binary (days).
epoch_hjd None yes Reference epoch HJD of phase 0 (days).
gamma_kms 0.0 - Systemic velocity (km/s) added to the back-projection.
line_center_aa 6562.82 - Rest wavelength (Å) of the line to tomogram.
velocity_window_kms 1000.0 - Half-extent (km/s) of the V_x/V_y axes.
n_velocity 121 - Number of velocity samples per axis (odd, 11–401).

Use it

from spectro_kernel import run_algorithm

output = run_algorithm("doppler_tomogram", ctx, {
    "period_days": "<value>",
    "epoch_hjd": "<value>",
    "gamma_kms": 0.0,
    "line_center_aa": 6562.82,
    "velocity_window_kms": 1000.0,
    "n_velocity": 121
})
spectro run doppler_tomogram --input spectrum.fits \
  --param period_days=<value> \
  --param epoch_hjd=<value> \
  --param gamma_kms=0.0 \
  --param line_center_aa=6562.82 \
  --param velocity_window_kms=1000.0 \
  --param n_velocity=121
{
  "tool": "doppler_tomogram",
  "arguments": {
    "session_id": "<session_id>",
    "params": {
      "period_days": "<value>",
      "epoch_hjd": "<value>",
      "gamma_kms": 0.0,
      "line_center_aa": 6562.82,
      "velocity_window_kms": 1000.0,
      "n_velocity": 121
    }
  }
}

Every algorithm is an MCP tool of the same name; describe_algorithm returns this page's metadata as JSON.

References

  • Marsh & Horne 1988, MNRAS 235, 269 — Doppler tomography by back-projection (§2).
  • Horne 1985, MNRAS 213, 129 — MEM tomographic reconstruction (not implemented; cited for completeness).
  • Marsh 2001, Lecture Notes in Physics 573 — astrotomography review.
  • aperture_photometry - Differential aperture photometry on ctx.image (photutils).
  • disentangle_sb2 - Separate the spectra of the two components of an SB2 spectroscopic binary.