Camera#

class msfc_ccd.Camera(sensor=None, gain=None, bits_adc=16, timedelta_exposure=<Quantity 10. s>, timedelta_exposure_min=<Quantity 2. s>, timedelta_exposure_max=<Quantity 600. s>, timedelta_exposure_step=<Quantity 100. ms>, timedelta_transfer=<Quantity 50. ms>, timedelta_readout=<Quantity 1.1 s>, *, axis_tap_x='tap_x', axis_tap_y='tap_y')[source]#

Bases: AbstractCamera

A model of the cameras developed by the MSFC sounding rocket team.

This is a composition of a msfc_ccd.abc.AbstractSensor object and various parameters such as the exposure time etc. Also provided are some conversion equations between counts and physical units for various parameters such as the FPGA temperature, etc.

Attributes

axis_tap_x

The name of the logical axis corresponding to changing horizontal tap.

axis_tap_y

The name of the logical axis corresponding to changing vertical tap.

bits_adc

The number of bits supported by the analog-to-digital converter

gain

The conversion factor between electrons and DN.

sensor

A model of the sensor used by this camera to capture light.

timedelta_exposure

The current exposure length.

timedelta_exposure_max

The maximum exposure length supported by this camera

timedelta_exposure_min

The minimum exposure length supported by this camera.

timedelta_exposure_step

The smallest possible change in exposure length supported by this camera.

timedelta_readout

The time required to perform a readout operation.

timedelta_transfer

The time required to transfer the exposed pixels into the storage region.

Methods

__init__([sensor, gain, bits_adc, ...])

calibrate_temperature_adc_1(value)

Convert the ADC 1 temperature from counts to physical units.

calibrate_temperature_adc_234(value)

Convert the ADC 2, 3, or 4 temperature from counts to physical units.

calibrate_temperature_fpga(value)

Convert the FPGA temperature from counts to physical units.

calibrate_timedelta_exposure(value)

Convert the exposure time from counts to physical units.

calibrate_voltage_fpga(value)

Convert the FPGA voltage from counts to physical units.

dn_to_electrons(a)

Convert an array from DN to electrons by multiplying by gain.

to_string([prefix])

Public-facing version of the __repr__ method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.

Inheritance Diagram

Inheritance diagram of msfc_ccd.Camera
Parameters:
classmethod calibrate_temperature_adc_1(value)#

Convert the ADC 1 temperature from counts to physical units.

Parameters:

value (int) – The ADC 1 temperature in counts.

Return type:

Quantity

classmethod calibrate_temperature_adc_234(value)#

Convert the ADC 2, 3, or 4 temperature from counts to physical units.

Parameters:

value (int) – The ADC 2, 3, or 4 temperature in counts.

Return type:

Quantity

classmethod calibrate_temperature_fpga(value)#

Convert the FPGA temperature from counts to physical units.

Parameters:

value (int) – The FPGA temperature in counts.

Return type:

Quantity

classmethod calibrate_timedelta_exposure(value)#

Convert the exposure time from counts to physical units.

Parameters:

value (int) – The exposure time in counts.

Return type:

Quantity

classmethod calibrate_voltage_fpga(value)#

Convert the FPGA voltage from counts to physical units.

Parameters:

value (int) – The FPGA voltage in counts.

Return type:

Quantity

dn_to_electrons(a)#

Convert an array from DN to electrons by multiplying by gain.

Parameters:

a (Quantity | AbstractArray)

Return type:

AbstractArray

to_string(prefix=None)#

Public-facing version of the __repr__ method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.

Parameters:

prefix (None | str) – an optional string, the length of which is used to calculate how much whitespace to add to the result.

Return type:

str

axis_tap_x: str = 'tap_x'#

The name of the logical axis corresponding to changing horizontal tap.

axis_tap_y: str = 'tap_y'#

The name of the logical axis corresponding to changing vertical tap.

bits_adc: int = 16#

The number of bits supported by the analog-to-digital converter

gain: None | Quantity | AbstractScalar = None#

The conversion factor between electrons and DN.

This is usually tap-dependent and contains axis_tap_x and axis_tap_y dimensions.

sensor: None | AbstractSensor = None#

A model of the sensor used by this camera to capture light.

If None (the default), TeledyneCCD230 will be used.

timedelta_exposure: Quantity = <Quantity 10. s>#

The current exposure length.

timedelta_exposure_max: Quantity = <Quantity 600. s>#

The maximum exposure length supported by this camera

timedelta_exposure_min: Quantity = <Quantity 2. s>#

The minimum exposure length supported by this camera.

timedelta_exposure_step: Quantity = <Quantity 100. ms>#

The smallest possible change in exposure length supported by this camera.

timedelta_readout: Quantity = <Quantity 1.1 s>#

The time required to perform a readout operation.

timedelta_transfer: Quantity = <Quantity 50. ms>#

The time required to transfer the exposed pixels into the storage region.