opticks.imaging_model.imager

Classes

Imager(optics_data, detector_data[, ...])

Class containing generic imager parameters.

class Imager(optics_data, detector_data, rw_electronics_data=None)[source]

Class containing generic imager parameters.

An Imager is made up of two necessary and one optional part: Optics, Detector and Read-out / Write Electronics (Optional)

Parameters:
  • optics_data (Optics) – Optics data object

  • detector_data (Detector) – Detector data object

  • rw_electronics_data (RWElectronics) – Read-out/Write Electronics data object (optional)

data_write_rate(band_id, with_binning=True, with_compression=True, with_read_blocks=True)[source]

Data write rate with or without compression.

For a pushbroom only a single line is computed. For a full-frame, the entire frame is computed.

If a list of channels is given, then the returned result is the sum of all the requested channels.

Note that the unused pixels are also read, this assumes that the detector does not have ROI functionality.

Return type:

Quantity

Parameters:
  • band_id (str or Iterable[str]) – band ID (to select the correct band or channel)

  • with_binning (bool, optional) – Return the value with binning or not

  • with_compression (bool) – Return the value with compression or not

  • with_read_blocks (bool) – Return the value with read blocks or not (valid for pushbroom only)

Returns:

Quantity – Pixel read rate with or without binning (Mbit/s)

classmethod from_yaml_file(optics_data, detector_data, rw_electronics_data=None)[source]

Initialises an Imager from components in YAML files.

Return type:

Imager

Parameters:
  • optics_data (Path) – Filepath containing optics design data file (YAML)

  • detector_data (Path) – Filepath containing detector design data file (YAML)

  • rw_electronics_data (Path) – Filepath containing read-write electronics design data file (YAML)

Returns:

Imager – Imager object from the input data

classmethod from_yaml_text(optics_data, detector_data, rw_electronics_data=None)[source]

Initialises an Imager from components in YAML text.

Return type:

Imager

Parameters:
  • optics_data (str) – Text containing optics design data (YAML)

  • detector_data (str) – Text containing detector design data (YAML)

  • rw_electronics_data (str) – Text containing read-write electronics design data (YAML)

Returns:

Imager – Imager object from the input data

horizontal_fov(band_id)[source]

Computes the full field of view in the horizontal direction.

Used pixels only.

Return type:

Quantity

Parameters:

band_id (str) – band ID (to select the correct band or channel)

Returns:

Quantity – Horizontal FOV angle

ifov(band_id, with_binning=True)[source]

Computes the average instantaneous field of view per effective pixel (works in vertical and horizontal).

The IFoV is computed simply as the FoV divided by the number of (binned or unbinned) pixels.

Return type:

Quantity

Parameters:
  • band_id (str) – band ID (to select the correct band or channel)

  • with_binning (bool, optional) – Return the value with binning or not

Returns:

Quantity – IFOV angle

pix_solid_angle(band_id, with_binning=True)[source]

Pixel solid angle (of a pyramid).

Return type:

Quantity

Parameters:
  • band_id (str) – band ID (to select the correct band or channel)

  • with_binning (bool, optional) – Return the value with binning or not

Returns:

Quantity – Pixel solid angle in steradians

q_factor(wavelength, band_id, with_binning=True)[source]

Computes the Q Factor.

Q = wavelength x f_number / pixel pitch

Parameters:
  • wavelength (Quantity | ArrayLike[Quantity]) – Wavelength at which Q is computed

  • band_id (str) – band ID (to select the correct band or channel)

  • with_binning (bool, optional) – Return the value with binning or not

Returns:

float – Q factor value

vertical_fov(band_id)[source]

Computes the full field of view in the vertical direction.

For a pushbroom detector, this nominally corresponds to “read blocks” (to compensate for the slow detector readout rate) multiplied by TDI stages. For a “full-frame” detector, this corresponds to the entire detector area in the vertical direction.

Return type:

Quantity

Parameters:

band_id (str) – band ID (to select the correct band or channel)

Returns:

Quantity – Vertical FOV angle