AbstractInstrument#
- class ctis.instruments.AbstractInstrument[source]#
Bases:
ABCAn interface describing a general CTIS instrument.
The most important method of this interface is
image(), which represents the forward model of the instrument and maps the spectral radiance of the skyplane to detector counts.The other important method of this interface is
deproject(), which is the transpose of image and maps detector counts from an observed image to the corresponding spectral radiance on the skyplane.Attributes
The logical axis or axes of this instrument corresponding to the different CTIS channels.
The logical axes of
coordinates_scenecorresponding to changing position coordinate.The logical axes of
coordinates_sensorcorresponding to changing position coordinate.The logical axis of
coordinates_sceneandcoordinates_sensorthat corresponds to changing wavelength coordinate.Human-readable name of each independent CTIS channel.
A grid of wavelength and position coordinates on the skyplane which will be used to construct the inverted scene.
A grid of wavelength and position coordinates on the detector plane.
The total number of dispersion magnitudes/angles observed by this instrument.
A function that returns the standard deviation of the uncertainty for a given number of photons.
Methods
__init__()backproject(image[, integrate])The backward model of this CTIS instrument, which maps photons measured by the sensor to spectral radiance on the skyplane.
image(scene[, integrate, noise])The forward model of this CTIS instrument, which maps spectral radiance on the skyplane to photons measured by the instrument's sensor.
Inheritance Diagram

- abstractmethod backproject(image, integrate=True)[source]#
The backward model of this CTIS instrument, which maps photons measured by the sensor to spectral radiance on the skyplane.
This is the complementary operation to
image(), but it is not an inverse ofimage(), this method will spread out the photons from each pixel evenly across the voxels in the scene that could have contributed to the measured signal.- Parameters:
image (AbstractScalar | AbstractFunctionArray) – A series of images captured by a CTIS instrument, evaluated on
coordinates_sensor, in units of photons.integrate (bool) – Complement of the integrate keyword of
image().
- Return type:
FunctionArray[SpectralPositionalVectorArray, AbstractScalar]
- abstractmethod image(scene, integrate=True, noise=True)[source]#
The forward model of this CTIS instrument, which maps spectral radiance on the skyplane to photons measured by the instrument’s sensor.
- Parameters:
scene (AbstractScalar | AbstractFunctionArray) – The spectral radiance of an observed scene, evaluated on
coordinates_scene, in units equivalent to \(\text{erg} \, \text{cm}^{-2} \, \text{sr}^{-1} \, \AA^{-1} \, \text{s}^{-1}\).integrate (bool) – Whether to integrate along the wavelength axis. A real CTIS instrument integrates along wavelength, but sometimes it’s useful to keep the wavelengths separate for demonstration purposes.
noise (bool) – Whether to include the effect of noise in the final image.
- Return type:
FunctionArray[SpectralPositionalVectorArray, AbstractScalar]
- abstract property axis_channel: str | tuple[str, ...]#
The logical axis or axes of this instrument corresponding to the different CTIS channels.
- abstract property axis_scene_xy: tuple[str, str]#
The logical axes of
coordinates_scenecorresponding to changing position coordinate.
- abstract property axis_sensor_xy: tuple[str, str]#
The logical axes of
coordinates_sensorcorresponding to changing position coordinate.
- abstract property axis_wavelength: str#
The logical axis of
coordinates_sceneandcoordinates_sensorthat corresponds to changing wavelength coordinate.
- abstract property channel#
Human-readable name of each independent CTIS channel.
- abstract property coordinates_scene: AbstractSpectralPositionalVectorArray#
A grid of wavelength and position coordinates on the skyplane which will be used to construct the inverted scene.
Normally the pitch of this grid is chosen to be the average plate scale of the instrument.
- abstract property coordinates_sensor: AbstractSpectralPositionalVectorArray#
A grid of wavelength and position coordinates on the detector plane.
- abstract property num_channel: int#
The total number of dispersion magnitudes/angles observed by this instrument.
- abstract property uncertainty: Callable[[ScalarArray], ScalarArray]#
A function that returns the standard deviation of the uncertainty for a given number of photons.