Sensor Type — Sensor Type Mix-ins

The mix-ins in this module are for different types of imaging sensors.

New in version 0.1.0.

class ale.base.type_sensor.Cahvor

Bases: object

Mixin for largely ground based sensors to add an extra step in the frame chain to go from ground camera to the Camera

property cahvor_camera_dict

This function extracts and returns the elements for the CAHVOR camera model from a concrete driver as a dictionary. See the MSL MASTCAM Cahvor, Framer, Pds3Label, NaifSpice, Driver

property cahvor_rotation_matrix

Computes the cahvor rotation matrix for the instrument to Rover frame

Returns

: array

Rotation Matrix as a 2D numpy array

compute_h_c()

Computes the h_c element of a cahvor model for the conversion to a photogrametric model

Returns

: float

Dot product of A and H vectors

compute_h_s()

Computes the h_s element of a cahvor model for the conversion to a photogrametric model

Returns

: float

Norm of the cross product of A and H vectors

compute_v_c()

Computes the v_c element of a cahvor model for the conversion to a photogrametric model

Returns

: float

Dot product of A and V vectors

compute_v_s()

Computes the v_s element of a cahvor model for the conversion to a photogrametric model

Returns

: float

Norm of the cross product of A and V vectors

property detector_center_line

Computes the detector center line using the cahvor model. Equation for computation comes from MSL instrument kernels

Returns

: float

The detector center line/boresight center line

property detector_center_sample

Computes the detector center sample using the cahvor model. Equation for computation comes from MSL instrument kernels

Returns

: float

The detector center sample/boresight center sample

property frame_chain

Returns a modified frame chain with the cahvor models extra rotation added into the model

Returns

: object

A networkx frame chain object

property pixel_size

Computes the pixel size given the focal length from spice kernels or other sources

Returns

: float

Focal length of a cahvor model instrument

class ale.base.type_sensor.Framer

Bases: object

Mix-in for framing sensors.

property ephemeris_stop_time

Returns the sum of the starting ephemeris time and the exposure duration. Expects ephemeris start time and exposure duration to be defined. These should be double precision numbers containing the ephemeris start and exposure duration of the image.

Returns

: double

Ephemeris stop time for an image

property ephemeris_time

Returns the center ephemeris time for the image which is start time plus half of the exposure duration. Expects center_ephemeris_time to be defined. This should be a double containing the average of the start and stop ephemeris times.

Returns

: double

Center ephemeris time for the image

property name_model

Returns Key used to define the sensor type. Primarily used for generating camera models.

Returns

: str

USGS Frame model

class ale.base.type_sensor.LineScanner

Bases: object

Mix-in for line scan sensors.

property ephemeris_stop_time

Returns the sum of the starting ephemeris time and the number of lines times the exposure duration. Expects ephemeris start time, exposure duration and image lines to be defined. These should be double precision numbers containing the ephemeris start, exposure duration and number of lines of the image.

Returns

: double

Center ephemeris time for an image

property ephemeris_time

Returns an array of times between the start/stop ephemeris times based on the number of lines in the image. Expects ephemeris start/stop times to be defined. These should be floating point numbers containing the start and stop times of the images. Expects image_lines to be defined. This should be an integer containing the number of lines in the image.

Returns

: ndarray

ephemeris times split based on image lines

property line_scan_rate

Expects ephemeris_start_time to be defined. This should be a float containing the start time of the image. Expects center_ephemeris_time to be defined. This should be a float containing the average of the start and end ephemeris times.

Returns

: list

Start lines

: list

Line times

: list

Exposure durations

property name_model

Returns Key used to define the sensor type. Primarily used for generating camera models.

Returns

: str

USGS Frame model

class ale.base.type_sensor.Radar

Bases: object

Mix-in for synthetic aperture radar sensors.

property ephemeris_time

Returns an array of times between the start/stop ephemeris times based on the start/stop times with a timestep (stop - start) / image_lines. Expects ephemeris start/stop times to be defined. These should be floating point numbers containing the start and stop times of the images.

Returns

: ndarray

ephemeris times split based on image lines

property line_exposure_duration

Returns the exposure duration for each line.

Returns

: double

Exposure duration for a line

property look_direction

Direction of the look (left or right)

Returns

: string

left or right

property name_model

Returns Key used to define the sensor type. Primarily used for generating camera models.

Returns

: str

USGS SAR (synthetic aperture radar) model

property range_conversion_coefficients

Returns the range conversion coefficients

Returns

: list

Coefficients needed for range conversion

property range_conversion_times

Returns the times associated with the range conversion coefficients

Returns

: list

Times for the range conversion coefficients

property scaled_pixel_width

Returns the scaled pixel width

Returns

: double

Scaled pixel width

property wavelength

Returns the wavelength used for image acquisition.

Returns

: double

Wavelength used to create an image in meters

class ale.base.type_sensor.RollingShutter

Bases: object

Mix-in for sensors with a rolling shutter. Specifically those with rolling shutter jitter.

property line_jitter_coeffs

Polynomial coefficients for the line jitter. The highest order coefficient comes first. There is no constant coefficient, assumed 0.

Returns

: array

property line_times

Line exposure times for the image. Generally this will be normalized to [-1, 1] so that the jitter coefficients are well conditioned, but it is not necessarily required as long as the jitter coefficients are consistent.

Returns

: array

property sample_jitter_coeffs

Polynomial coefficients for the sample jitter. The highest order coefficient comes first. There is no constant coefficient, assumed 0.

Returns

: array