Skip to content

balmer_quick

Quick analysis of the Balmer lines (H-alpha, H-beta, H-gamma) on an already-loaded spectrum: normalise the continuum, estimate SNR, then fit a Gaussian to each line.

Kind analysis
Status reference - reviewed and adopted as the reference way to make this measurement
Version 1.0.0
Source bundled

Variables

This recipe declares no variables: it runs as is.

Steps

# Algorithm Parameters
1 normalize_polynomial Normalise continuum order=3, sigma_clip=3.0
2 snr_der Compute SNR -
3 fit_gaussian_line Fit H-alpha line_center_angstrom=6562.79, window_angstrom=30.0, label='H-alpha'
4 fit_gaussian_line Fit H-beta line_center_angstrom=4861.35, window_angstrom=30.0, label='H-beta'
5 fit_gaussian_line Fit H-gamma line_center_angstrom=4340.47, window_angstrom=25.0, label='H-gamma'

Run it

spectro pipeline balmer_quick --input spectrum.fits
spectro preset show balmer_quick      # variables and steps
from spectro_kernel import WorkContext
from spectro_kernel.pipeline import PipelineBuilder

pipeline = PipelineBuilder().from_preset("balmer_quick").build()
result = pipeline.execute(ctx)        # ctx holds the spectrum / frames
print(result.history[-1])             # pipeline:<name> vX.Y.Z + variables
{
  "tool": "run_preset",
  "arguments": {
    "session_id": "<session_id>",
    "preset_name": "balmer_quick"
  }
}