Instruments¶
Synthesizer provides a small instrument hierarchy for describing the technical configuration of a synthetic observation. Instruments can correspond to real observatories such as JWST, Euclid, or Hubble, or they can be entirely user defined.
For most workflows you should construct the specialised instrument class that matches the observing mode you want:
PhotometricInstrumentfor integrated photometryPhotometricImagerfor photometry plus resolved imagingLineImagerfor resolved emission line imagingSpectroscopicInstrumentfor one-dimensional spectroscopyIntegratedFieldUnitfor resolved spectroscopy and spectral cubesInstrumentCollectionfor combining one or more instruments
The specialised classes are the primary user-facing interface. Instrument
is still available as a convenience factory that dispatches to the appropriate
specialised class, but it is optional.
Typical examples are:
phot = PhotometricInstrument(label="UVJ", filters=UVJ())
imager = PhotometricImager(
label="HST-like",
filters=filters,
resolution=0.1 * arcsecond,
)
line_imager = LineImager(
label="line-imager",
line_ids=["H 1 4861.32A", "O 3 5006.84A"],
resolution=0.1 * arcsecond,
)
spec = SpectroscopicInstrument(label="Spec", lam=lam)
ifu = IntegratedFieldUnit(
label="IFU",
lam=lam,
resolution=0.5 * arcsecond,
)
Each class carries the capabilities needed for that observing mode.
PhotometricInstrumentstores filters and optional photometric depth or SNR informationPhotometricImageradds spatial resolution together with optional PSFs,noise_maps, andnoise_source_mapsLineImagerstores the emission line ids to image together with spatial resolution and the same optional PSF/noise configuration asPhotometricImager, but keyed by line id instead of filter codeSpectroscopicInstrumentstores a wavelength grid for integrated spectraIntegratedFieldUnitcombines a wavelength grid and spatial resolution for resolved spectroscopy
Synthesizer also provides a suite of premade instruments that can be imported directly or loaded from cached files when larger datasets such as PSFs and noise arrays are required.
If you prefer the convenience factory, the equivalent constructor form is:
inst = Instrument(
"HST-like",
filters=filters,
resolution=0.1 * arcsecond,
)
which dispatches to PhotometricImager.
In this section we detail creating and working with these instrument types.