Results and measurements
Global workflow
qsospec.WorkflowResult contains:
spectrum: the spectrum fitted after preprocessing/host subtraction.total_spectrum: the dereddened total spectrum when available.continuumandcontinuum_initial.line_complexeskeyed by recipe ID.complex_statusesfor fitted, partial, failed, and uncovered recipes.host arrays and masks when requested.
warnings, Monte Carlo summaries, metadata, and output paths.
Check continuum_success and per-complex success separately. The
workflow deliberately does not collapse heterogeneous complex outcomes into
one scientific verdict.
Complex measurements
Each qsospec.EmissionComplexResult exposes fitted parameters,
covariance, component models, masks, and a metrics dictionary. Metric
names are feature-specific, for example:
hbeta = result.line_complexes.get("hbeta_oiii")
if hbeta is not None and hbeta.success:
print(hbeta.metrics["Hb_broad_flux_input"])
print(hbeta.metrics["Hb_broad_fwhm_kms"])
lya = result.line_complexes.get("lya_nv")
if lya is not None:
print(lya.metadata["lya_coverage_status"])
print(lya.metadata["lya_fit_reliable"])
Warnings
result.warning_codes() combines workflow, continuum, and complex warning
codes. Warnings are structured records with severity, message, and context.
See Warning reference for recommended actions.
Archived results
Use qsospec.open_run(), qsospec.load_model(), and
qsospec.build_science_catalog() to inspect run bundles without
refitting. See Run-bundle reference.