3. Camera#

class Camera(name: str, associated_body_spice_id: int | str, camera_frame: str, measurement_type: str, fov_angular: ArrayWUnits, fov_pixels: tuple, focal_length: ArrayWUnits, ifov_angle: ArrayWUnits, pp_offset: ArrayWUnits = None)#

Bases: Instrument

Represents a camera as instrument on a spacecraft.

Parameters:
  • name (str) – Camera name.

  • associated_body_spice_id (int | str) – SPICE ID of the associated body.

  • camera_frame (str) – Reference frame of the camera.

  • measurement_type (str) – Type of measurement (e.g., image, lidar, etc.).

  • fov_angular (ArrayWUnits) – Angular field of view of the camera.

  • fov_pixels (tuple[int, int]) – Number of pixels along horizontal and vertical axes.

  • focal_length (ArrayWUnits) – Focal length of the camera.

  • pp_offset (ArrayWUnits, optional) – Principal point offset in the image plane. If pp_offset = None, defaults to [0, 0] [unitless ... unitless].

  • pos_craft_cntrd (ArrayWFrame, optional) – Defaults to None.

Notes

References

Examples

# initial setup
import scarabaeus as scb

Attributes

area

The cross-sectional area of the spacecraft.

associated_body_spice_id

SPICE ID of craft or body camera is attached to.

calibration_matrix

Camera calibration matrix.

camera_frame

SPICE-defined frame.

dry_mass

The dry mass of the spacecraft.

dv_fuel_mass

The mass of the fuel spent during delta-v burns.

fb_fuel_mass

The mass of the fuel spent during finite burns.

focal_length

The focal length of the camera.

focal_length_pixels

The focal length of the camera.

fov_angular

Angular field-of-view of the camera (horizontal, vertical) in radians.

fov_pixels

Sensor resolution (horizontal, vertical).

ifov

Instantaneous field-of-view of the sensor.

instrument_list

The list of instruments attached to the spacecraft.

mass

The mass of the Body object.

max_sample_line

Maximum sampling line.

measurement_type

Description.

n_plate_model

The N-Plate model representing the spacecraft's geometry.

name

The name of the spacecraft.

pp_offset

Offset of the principal point.

ref_coeff

The reflectivity coefficient of the spacecraft.

spice_id

The SPICE ID of the Body object.

Methods

add_instrument(instruments)

Adds an instrument or instruments to the spacecraft.

field_of_view()

Placeholder for Field of View functionality.

get_state(epoch_0[, reference_frame, origin])

Retrieves the state of the body relative to a given origin in a specified reference frame.

add_instrument(instruments) None#

Adds an instrument or instruments to the spacecraft.

Parameters:

instruments (Instrument or list of Instrument) – The instrument or instruments to be attached to the spacecraft.

Return type:

None

field_of_view()#

Placeholder for Field of View functionality.

TODO: Implement the method to handle field of view.

This could be split into ‘set FOV’ and ‘get FOV’ methods.

Returns:

None

get_state(epoch_0, reference_frame: str = 'J2000', origin: str = 'EARTH')#

Retrieves the state of the body relative to a given origin in a specified reference frame.

Parameters:
  • epoch_0 (EpochArray) – The epoch times for which the state is to be computed.

  • reference_frame (str) – The reference frame in which the state is desired. Defaults to ‘J2000’.

  • origin (str) – The origin body relative to which the state is computed. Defaults to 'EARTH'.

Returns:

state_vector – The state vector of the body relative to the origin.

Return type:

ArrayWUnits

property area: ArrayWUnits#

The cross-sectional area of the spacecraft. Expressed in units of square meters.

property associated_body_spice_id: int | str#

SPICE ID of craft or body camera is attached to.

property calibration_matrix: ndarray#

Camera calibration matrix.

property camera_frame: int | str#

SPICE-defined frame.

property dry_mass: ArrayWUnits#

The dry mass of the spacecraft. Expressed in units of kilograms.

property dv_fuel_mass: ArrayWUnits#

The mass of the fuel spent during delta-v burns. Expressed in units of kilograms.

property fb_fuel_mass: ArrayWUnits#

The mass of the fuel spent during finite burns. Expressed in units of kilograms.

property focal_length: float#

The focal length of the camera. Expressed in units of kilometers.

property focal_length_pixels: tuple[int, int]#

The focal length of the camera. Expressed in pixels

property fov_angular: ArrayWUnits#

Angular field-of-view of the camera (horizontal, vertical) in radians.

property fov_pixels: tuple[float, float]#

Sensor resolution (horizontal, vertical).

property ifov: ArrayWUnits#

Instantaneous field-of-view of the sensor.

property instrument_list: list#

The list of instruments attached to the spacecraft.

property mass: ArrayWUnits#

The mass of the Body object.

property max_sample_line: ArrayWUnits#

Maximum sampling line. Unitless.

property measurement_type#

Description.

property n_plate_model#

The N-Plate model representing the spacecraft’s geometry.

property name: str#

The name of the spacecraft.

property pp_offset: ArrayWUnits#

Offset of the principal point. Expressed in units of kilometers.

property ref_coeff: float#

The reflectivity coefficient of the spacecraft.

property spice_id: int | str#

The SPICE ID of the Body object.