public class Instrument
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int[] |
BINNING_FACTORS
Valid binning factor values.
|
static int[] |
CCD_BANDWIDTHS
The filter wavelength bandwidth for each CCD, indexed by CPMM number.
|
static int[] |
CCD_BINNED_PIXELS
The number of image pixels per line for each binning factor.
|
static int[] |
CCD_BY_CPMM
CCD sensor array numbers associated with each CCD, indexed by CPMM number.
|
static int[] |
CCD_CENTER_WAVELENGTHS
The filter center wavelength for each CCD, indexed by CPMM number.
|
static int |
CCD_CHANNEL_UNKNOWN
Special channel number when the actual channel number is unknown.
|
static int |
CCD_CHANNELS
The number of data channels for each CCD assembly.
|
static java.lang.String[] |
CCD_FILTER_NAMES
The filter names associated with each CCD, indexed by CPMM number.
|
static double[] |
CCD_FOCAL_PLANE_X_OFFSETS_MM
Focal plane X offset in millimeters for each CCD, indexed by CPMM number.
|
static double[] |
CCD_FOCAL_PLANE_Y_OFFSETS_MM
Focal plane Y offset in millimeters for each CCD, indexed by CPMM number.
|
static int |
CCD_IMAGE_SENSORS
The number of image sensors in a single CCD channel line.
|
static java.lang.String[] |
CCD_NAMES
The identification names associated with each CCD, indexed by CPMM number.
|
static double |
CCD_PIXEL_SIZE_MM |
static int |
CCD_UNKNOWN
Special CCD number when the actual CCD/CPMM number is unknown.
|
static int |
CCDS
Total number of CCD array assemblies.
|
static int[] |
CPMM_BY_CCD
CPMM numbers associated with each CCD, indexed by CCD sensor array number.
|
static int |
DELTA_LINE_TIME_MAX
Engineering_Header Delta_Line_Time maximum valid value.
|
static double |
DELTA_LINE_TIME_TICK_NANOS
Engineering_Header Delta_Line_Time nanoseconds per tick.
|
static int |
DLL_LOCKED
96 MHz DLL locked telemetry value.
|
static int |
DLL_NOT_LOCKED
96 MHz DLL out of lock telemetry value.
|
static double |
EXPOSURE_SETUP_MICROS
Exposure operation setup time.
|
static double |
HIRISE_CLOCK_SUBTICK_MICROS
HiRISE clock microseconds per subseconds tick.
|
static java.lang.String |
ID
Class identification name with source code version and date.
|
static double |
LINE_TIME_PRE_OFFSET
Offset for Engineering_Header Delta_Line_Time when calculating line time.
|
static int |
MASKED_LINES
Number of binned masked lines following the reverse readout lines.
|
static int |
MAX_BYTES_PER_PIXEL
The maximum number of bytes per pixel value.
|
static int |
MAX_IMAGE_LINES
Image lines upper limit (exclusive).
|
static int[] |
MAX_PIXEL_VALUES
The maximum valid pixel values, indexed by bytes per pixel.
|
static double |
MRO_CLOCK_SUBTICK_MICROS
MRO spacecraft clock microseconds per subseconds tick.
|
static int |
NOT_APPLICABLE_NUMBER
Special integer value when it is not applicable in context.
|
static java.lang.String |
NOT_APPLICABLE_STRING
Special text value when it is not applicable in context.
|
static int |
REVERSE_READOUT_LINES
Number of initial unbinned reverse readout observation lines.
|
static int |
SPACECRAFT_EPOCH
MRO spacecraft clock epoch (year).
|
static int |
SPACECRAFT_NAIF_ID
MRO NAIF spacecraft clock identifier.
|
static int |
SSR_BYTE_BOUNDARY
Byte boundary (byte count modulus) for the solid state recorder.
|
static java.lang.String[] |
STIMULATOR_LED_NAMES
The identification names associated with each stim lamp.
|
static int |
STIMULATOR_LEDS
The number of stimulator LEDs.
|
static int |
STORED_LUTS
The number of stored LUTS available.
|
static int[] |
TDI_STAGES
Valid TDI stages values.
|
static int |
TOTAL_BINNING_FACTORS
The number of binning factors available to each CCD.
|
static int |
TOTAL_TDI_STAGES
The number of time delay integration (TDI) stages available to each CCD.
|
static int |
TRIM_ADDITION_LINES
Number of scan lines after the trim lines
before the first observation line.
|
static int |
UNKNOWN_NUMBER
Special integer value when the actual value is unknown.
|
static java.lang.String |
UNKNOWN_STRING
Special text value when the actual value is unknown.
|
static java.lang.String |
WAVELENGTH_UNITS
The units of wavelength measurement for the CCD filters.
|
Constructor and Description |
---|
Instrument() |
Modifier and Type | Method and Description |
---|---|
static int |
calibration_lines_minimum(int TDI,
int binning)
Gets the minimum number of calibration lines.
|
static int |
focal_plane_x_offset(int CPMM,
int binning)
Gets the focal plane X offset pixels.
|
public static final java.lang.String ID
public static final int CCDS
public static final int CCD_UNKNOWN
public static final java.lang.String[] CCD_NAMES
color filter
it uses
and its CCD sensor array number. N.B.: The CCD sensor array
number is not the same as the CPPM number reported by the
instrument; use the CCD_BY_CPMM
array to map CPMM numbers
to CCD sensor array numbers, and the CPMM_BY_CCD
to map CCD
sensor array numbers to CPMM numbers.public static final java.lang.String[] CCD_FILTER_NAMES
public static final int[] CCD_BY_CPMM
CPMM_BY_CCD
public static final int[] CPMM_BY_CCD
CCD_BY_CPMM
public static final java.lang.String WAVELENGTH_UNITS
public static final int[] CCD_CENTER_WAVELENGTHS
WAVELENGTH_UNITS
.public static final int[] CCD_BANDWIDTHS
WAVELENGTH_UNITS
.public static final double[] CCD_FOCAL_PLANE_X_OFFSETS_MM
CCD_FOCAL_PLANE_Y_OFFSETS_MM
public static final double[] CCD_FOCAL_PLANE_Y_OFFSETS_MM
CCD_FOCAL_PLANE_X_OFFSETS_MM
public static final double CCD_PIXEL_SIZE_MM
public static final int CCD_CHANNELS
Each CCD array assembly is composed of a pair of CCD channels. Both channels act together as an image scanning unit, but each channel has its own distinct imaging sensors and pixel line data store. All instrument observation data is organized by channel.
public static final int CCD_CHANNEL_UNKNOWN
public static final int CCD_IMAGE_SENSORS
Each CCD device of an instrument channel is an array of sensors organized a across-track lines and down-track TDI line stages. Each line contains the same number of sensors.
public static final int MAX_BYTES_PER_PIXEL
public static final int[] MAX_PIXEL_VALUES
public static final int MAX_IMAGE_LINES
public static final int TOTAL_TDI_STAGES
Each CCD device of an instrument channel is an array of sensors organized a across-track lines and down-track TDI line stages. Only one line has its sensor values sampled and scanned out to the CPMM storage for further processing. The sensor values from lines preceeding (up-track) the TDI line are cascaded into the following line to accumulate down-track sensor values. Since the rate at which sensor line values cascade (the scan line time) is set at the time the observation starts to coincide with the rate at which the image scene moves across the sensor lines, the effect is to build image signal strength and improve the signal-to-noise ratio at the expense of some image blurring due to timing and alignment inaccuracies.
TDI_STAGES
,
Constant Field Valuespublic static final int[] TDI_STAGES
public static final int TOTAL_BINNING_FACTORS
After the selected CCD sensor line has its values read out into CPMM storage the accumulated observation sensor readings may be summed - binned - by pixel groups in both the cross-track and down-track directions. Each non-overlapping pixel group is square with a size specified by the binning factor. Each square of pixels is a patch of the image observation that, as a result of binning, produces a single new pixel value.
BINNING_FACTORS
,
Constant Field Valuespublic static final int[] BINNING_FACTORS
public static final int[] CCD_BINNED_PIXELS
CCD_IMAGE_SENSORS
divided by the binning factor in use. However,
for the odd binning factor 3 the number of pixels per line is
rounded up.public static final int STORED_LUTS
public static final int STIMULATOR_LEDS
public static final java.lang.String[] STIMULATOR_LED_NAMES
public static final double EXPOSURE_SETUP_MICROS
public static final int DELTA_LINE_TIME_MAX
public static final double DELTA_LINE_TIME_TICK_NANOS
public static final double LINE_TIME_PRE_OFFSET
public static final int TRIM_ADDITION_LINES
public static final int REVERSE_READOUT_LINES
public static final int MASKED_LINES
public static final int DLL_LOCKED
public static final int DLL_NOT_LOCKED
public static final int SPACECRAFT_EPOCH
public static final double MRO_CLOCK_SUBTICK_MICROS
public static final double HIRISE_CLOCK_SUBTICK_MICROS
public static final int SPACECRAFT_NAIF_ID
public static final int SSR_BYTE_BOUNDARY
public static final int UNKNOWN_NUMBER
public static final int NOT_APPLICABLE_NUMBER
public static final java.lang.String UNKNOWN_STRING
public static final java.lang.String NOT_APPLICABLE_STRING
public static int calibration_lines_minimum(int TDI, int binning)
The minimum number of calibration lines is:
REVERSE_READOUT_LINES + ceil ((MASKED_LINES + TDI) / binning)
Where the number of REVERSE_READOUT_LINES
and MASKED_LINES
are Instrument constants, and TDI and Binning are the Engineering Header
TDI_Stages and Binning_Factor values respectively. The calculated real value
is rounded up to the next line boundary; i.e. any partial line resulting
from the division is entirely included as a calibration line.
N.B.: The calculated number of calibration lines is the minimum that contain data only suitable for calibration purposes, as opposed to observation image lines that contain data for the target image acquisition. However, it is possible for additional image lines to be designated as calibration lines.
TDI
- The number of time delay integration stages.binning
- The line binning factor.public static int focal_plane_x_offset(int CPMM, int binning) throws Out_of_Range_Exception, Invalid_Argument_Exception
CPMM
- The CPMM number for which the offset is to be calculated.binning
- The applicable binning factor.Out_of_Range
- If the CPMM index is invalid.Invalid_Argument
- If binning is 0. Any other binning factor is
accepted.Out_of_Range_Exception
Invalid_Argument_Exception
CCD_CHANNELS
,
BINNING_FACTORS
Copyright \ (C) Arizona Board of Regents on behalf of the \ Planetary Image Research Laboratory, Lunar and \ Planetary Laboratory at the University of Arizona