Configuration¶
Top-level configuration container for unite models.
Configuration bundles a LineConfiguration,
an optional ContinuumConfiguration, and an optional
InstrumentConfig into a single
serializable object.
All sub-configs can still be serialized individually via their own
to_dict / from_dict methods. Configuration adds
convenience for round-tripping the combined object to YAML.
Examples¶
Build and save:
>>> from unite.line import LineConfiguration, Redshift, FWHM
>>> from unite.continuum import ContinuumConfiguration
>>> from unite.instrument import InstrumentConfig, RScale
>>> from unite.instrument.nirspec import G235H, G395H
>>> from unite.prior import TruncatedNormal
>>> import astropy.units as u
>>> z, w = Redshift('nlr'), FWHM('nlr')
>>> lines = LineConfiguration()
>>> lines.add_line('Ha', 6564.61 * u.AA, redshift=z, fwhm=w)
>>> cont = ContinuumConfiguration.from_lines(lines.wavelengths)
>>> r = RScale(prior=TruncatedNormal(1.0, 0.05, 0.8, 1.2))
>>> dispersers = InstrumentConfig([G235H(r_scale=r), G395H(r_scale=r)])
>>> cfg = Configuration(lines, cont, dispersers=dispersers)
>>> cfg.save('config.yaml')
Load and inspect:
>>> cfg2 = Configuration.load('config.yaml')
>>> cfg2.lines
LineConfiguration: ...
>>> cfg2.dispersers
InstrumentConfig: 2 disperser(s) ...
- class unite.config.Configuration(lines, continuum=None, dispersers=None)[source]¶
Bases:
objectContainer for a complete unite model configuration.
- Parameters:
- linesLineConfiguration
Emission line configuration.
- continuumContinuumConfiguration, optional
Continuum configuration.
Noneif not used.- dispersersInstrumentConfig, optional
Instrument configuration describing disperser models and calibration tokens. When provided,
validate()is called immediately andUserWarningis issued if any calibration axis lacks a fixed anchor.
- Attributes:
- linesLineConfiguration
- continuumContinuumConfiguration or None
- dispersersInstrumentConfig or None
- Parameters:
lines (LineConfiguration)
continuum (ContinuumConfiguration | None)
- to_dict()[source]¶
Serialize to a YAML-safe dictionary.
- Return type:
- Returns:
- dict
Contains
'lines'and, if present,'continuum'and'dispersers'keys.
- classmethod from_dict(d)[source]¶
Deserialize from a dictionary.
- classmethod from_yaml(text)[source]¶
Deserialize from a YAML string.