This is a condensed and updated version of #246 that fixes conflicts with the main branch.
It implements a new Observation class, which takes over responsibility for noise models and likelihood calculations, as well as instrumental smoothing for spectra. The lnprob function can now take an arbitrary list of observation objects.
List of significant changes:
New Observation class with Spectrum, Photometry and Lines subclasses. These can be generated from or convert to old style dictionaries, as well as structured arrays for output to a number of formats.
New NoiseModel1D class
Observation objects now get their own NoiseModels for computing observation specific likelihoods.
New way of handling physical (LOSVD) and instrumental smoothing separately.
New fitting.lnprobfn that handles an arbitrary list of Observation objects.
Output now consists of structured arrays for chains, to handle vector parameters more smoothly.
Removes old SedModel and derived classes.
Removes the smoothing module; relies on sedpy for smoothing
Updates to documentation and demo scripts.
Remaining things to do:
[ ] Handle emission line marginalization when spectra overlap
[ ] CI testing for multi-spectra calibration, smoothing, and noise modeling
[ ] Update notebooks, verify demo scripts are correct
This is a condensed and updated version of #246 that fixes conflicts with the main branch.
It implements a new Observation class, which takes over responsibility for noise models and likelihood calculations, as well as instrumental smoothing for spectra. The lnprob function can now take an arbitrary list of observation objects.
List of significant changes:
Observation
class withSpectrum
,Photometry
andLines
subclasses. These can be generated from or convert to old style dictionaries, as well as structured arrays for output to a number of formats.NoiseModel1D
classfitting.lnprobfn
that handles an arbitrary list ofObservation
objects.SedModel
and derived classes.smoothing
module; relies on sedpy for smoothingRemaining things to do: