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 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,
)
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_mapsSpectroscopicInstrumentstores 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.