HiRISE

HiRISE.HiPlan.HiCat
Class CCD_Record

java.lang.Object
  extended by HiRISE.HiPlan.HiCat.CCD_Record
All Implemented Interfaces:
CCD_Fields, Cloneable

public class CCD_Record
extends Object
implements CCD_Fields, Cloneable

A set of CCD parameters.

Version:
2.5
Author:
Christian Schaller - UA/PIRL

Field Summary
static int BUFFER_PIXELS
          The number of buffer pixels for each line of each channel.
static int CHANNEL_HEADER_BYTES
          The total header size for each channel.
static int ENGINEERING_HEADER_BYTES
          The size of the engineering header in bytes.
static String ID
          Class identification name with source code version and date.
static int LINE_HEADER_BYTES
          The size of the line header in bytes.
static int LUT_HEADER_BYTES
          The size of the lookup table header in bytes.
static int MASK_PIXELS
          The number of mask pixels for each line of each channel.
static int SCIENCE_CHANNEL_HEADER_BYTES
          The size of the science channel header in bytes.
 
Fields inherited from interface HiRISE.HiPlan.HiCat.CCD_Fields
BINNING, CCD_NAME, CPMM_RAW_DATA_VOLUME_BYTES, IMAGE_LINES, IMAGE_MEAN, LOOKUP_TABLE_K_VALUE, LOOKUP_TABLE_MAXIMUM, LOOKUP_TABLE_MEDIAN, LOOKUP_TABLE_MINIMUM, LOOKUP_TABLE_NUMBER, LOOKUP_TABLE_TYPE, LUT_TYPE_LINEAR, LUT_TYPE_NONE, LUT_TYPE_SQUARE_ROOT, LUT_TYPE_STORED, PLANNED_CCD_PARAMETERS_TABLE, PLANNED_OBSERVATIONS_ID, PLANNED_SNR, TDI, TRIM_LINES
 
Constructor Summary
CCD_Record()
           
CCD_Record(Vector ccdParameters)
          Creates a new CCD record from a set of CCD parameters.
 
Method Summary
 Object clone()
          Returns a clone of this set of CCD parameters
 Integer getBinning()
           
 String getCcdName()
           
static List<String> getCcdParameterFields()
           
static int getDataVolumeBytes(int imageLines, int tdi, int bin, boolean isLutted)
          Computes the data volume in bytes for a HiRISE CCD.
 Integer getImageLines()
           
 Double getImageMean()
           
 Date getLastUpdate()
           
static int getLineDataVolumeBytes(int bin, boolean isLutted)
          Computes the data volume in bytes for a single line of HiRISE data for a single channel.
 Integer getLookupTableKValue()
           
 Integer getLookupTableMaximum()
           
 Integer getLookupTableMedian()
           
 Integer getLookupTableMinimum()
           
 Integer getLookupTableNumber()
           
 String getLookupTableType()
           
 Integer getPlannedObservationsId()
           
 Double getPlannedSnr()
           
 Integer getRawDataVolumeBytes()
           
 Integer getTdi()
           
 Integer getTrimLines()
           
 void setBinning(Integer binning)
           
 void setCcdName(String ccdName)
           
 void setImageLines(Integer imageLines)
           
 void setImageMean(Double imageMean)
           
 void setLastUpdate(Date lastUpdate)
           
 void setLookupTableKValue(Integer lookupTableKValue)
           
 void setLookupTableMaximum(Integer lookupTableMaximum)
           
 void setLookupTableMedian(Integer lookupTableMedian)
           
 void setLookupTableMinimum(Integer lookupTableMinimum)
           
 void setLookupTableNumber(Integer lookupTableNumber)
           
 void setLookupTableType(String lookupTableType)
           
 void setPlannedObservationsId(Integer plannedObservationsId)
           
 void setPlannedSnr(Double plannedSnr)
           
 void setTdi(Integer tdi)
           
 void setTrimLines(Integer trimLines)
           
 Vector<String> toVector()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

public static final String ID
Class identification name with source code version and date.

See Also:
Constant Field Values

SCIENCE_CHANNEL_HEADER_BYTES

public static final int SCIENCE_CHANNEL_HEADER_BYTES
The size of the science channel header in bytes. Each channel includes such a header; each CCD produces two channels of data.

The channel's header consists of the science channel header, the engineering header, and the lookup table. A lookup table is present even if the CCD is not LUT-compressed. The total header data volume H for each channel is

H = SCH + ENG + LUT

where SCH is the science channel header size, ENG is the engineering header size, and LUT is the LUT size.

See Also:
ENGINEERING_HEADER_BYTES, LUT_HEADER_BYTES, Constant Field Values

ENGINEERING_HEADER_BYTES

public static final int ENGINEERING_HEADER_BYTES
The size of the engineering header in bytes. Each channel includes such a header; each CCD produces two channels of data.

The channel's header consists of the science channel header, the engineering header, and the lookup table. A lookup table is present even if the CCD is not LUT-compressed. The total header data volume H for each channel is

H = SCH + ENG + LUT

where SCH is the science channel header size, ENG is the engineering header size, and LUT is the LUT size.

See Also:
SCIENCE_CHANNEL_HEADER_BYTES, LUT_HEADER_BYTES, Constant Field Values

LUT_HEADER_BYTES

public static final int LUT_HEADER_BYTES
The size of the lookup table header in bytes. Each channel includes such a header; each CCD produces two channels of data.

The channel's header consists of the science channel header, the engineering header, and the lookup table. A lookup table is present even if the CCD is not LUT-compressed. The total header data volume H for each channel is

H = SCH + ENG + LUT

where SCH is the science channel header size, ENG is the engineering header size, and LUT is the LUT size.

See Also:
SCIENCE_CHANNEL_HEADER_BYTES, ENGINEERING_HEADER_BYTES, Constant Field Values

CHANNEL_HEADER_BYTES

public static final int CHANNEL_HEADER_BYTES
The total header size for each channel.

The channel's header consists of the science channel header, the engineering header, and the lookup table. A lookup table is present even if the CCD is not LUT-compressed. The total header data volume H for each channel is

H = SCH + ENG + LUT

where SCH is the science channel header size, ENG is the engineering header size, and LUT is the LUT size.

See Also:
SCIENCE_CHANNEL_HEADER_BYTES, ENGINEERING_HEADER_BYTES, LUT_HEADER_BYTES, Constant Field Values

LINE_HEADER_BYTES

public static final int LINE_HEADER_BYTES
The size of the line header in bytes. Each line of image data includes a line header; each CCD produces two channels of data, and the line header is present for each line of each channel.

Each line produces the following data volume L in bytes:

L = LH + (B + M + P) × S

where LH is the line header, B is the number of buffer pixels, M is the number of mask pixels, P is the number of binned image pixels, and S is the number of bytes per pixel (the pixel size). P, the number of binned pixels, is

P = 1024/b

where b is the binning factor. If 3×3 binning is used, however, P = 342 pixels. Note that bin 3 is generally to be avoided in operations.

See Also:
BUFFER_PIXELS, MASK_PIXELS, Constant Field Values

BUFFER_PIXELS

public static final int BUFFER_PIXELS
The number of buffer pixels for each line of each channel. Each CCD produces two such channels of data. If the CCD is LUT-compressed, each pixel is one byte of data; if it is not LUT-compressed, each pixel is two bytes of data.

Each line produces the following data volume L in bytes:

L = LH + (B + M + P) × S

where LH is the line header, B is the number of buffer pixels, M is the number of mask pixels, P is the number of binned image pixels, and S is the number of bytes per pixel (the pixel size). P, the number of binned pixels, is

P = 1024/b

where b is the binning factor. If 3×3 binning is used, however, P = 342 pixels. Note that bin 3 is generally to be avoided in operations.

See Also:
LINE_HEADER_BYTES, MASK_PIXELS, Constant Field Values

MASK_PIXELS

public static final int MASK_PIXELS
The number of mask pixels for each line of each channel. Each CCD produces two such channels of data. If the CCD is LUT-compressed, each pixel is one byte of data; if it is not LUT-compressed, each pixel is two bytes of data.

Each line produces the following data volume L in bytes:

L = LH + (B + M + P) × S

where LH is the line header, B is the number of buffer pixels, M is the number of mask pixels, P is the number of binned image pixels, and S is the number of bytes per pixel (the pixel size). P, the number of binned pixels, is

P = 1024/b

where b is the binning factor. If 3×3 binning is used, however, P = 342 pixels. Note that bin 3 is generally to be avoided in operations.

See Also:
LINE_HEADER_BYTES, BUFFER_PIXELS, Constant Field Values
Constructor Detail

CCD_Record

public CCD_Record(Vector ccdParameters)
Creates a new CCD record from a set of CCD parameters.


CCD_Record

public CCD_Record()
Method Detail

getPlannedObservationsId

public Integer getPlannedObservationsId()

setPlannedObservationsId

public void setPlannedObservationsId(Integer plannedObservationsId)

getCcdName

public String getCcdName()

setCcdName

public void setCcdName(String ccdName)

getBinning

public Integer getBinning()

setBinning

public void setBinning(Integer binning)

getTdi

public Integer getTdi()

setTdi

public void setTdi(Integer tdi)

getImageLines

public Integer getImageLines()

setImageLines

public void setImageLines(Integer imageLines)

getTrimLines

public Integer getTrimLines()

setTrimLines

public void setTrimLines(Integer trimLines)

getLookupTableType

public String getLookupTableType()

setLookupTableType

public void setLookupTableType(String lookupTableType)

getLookupTableMinimum

public Integer getLookupTableMinimum()

setLookupTableMinimum

public void setLookupTableMinimum(Integer lookupTableMinimum)

getLookupTableMaximum

public Integer getLookupTableMaximum()

setLookupTableMaximum

public void setLookupTableMaximum(Integer lookupTableMaximum)

getLookupTableMedian

public Integer getLookupTableMedian()

setLookupTableMedian

public void setLookupTableMedian(Integer lookupTableMedian)

getLookupTableKValue

public Integer getLookupTableKValue()

setLookupTableKValue

public void setLookupTableKValue(Integer lookupTableKValue)

getLookupTableNumber

public Integer getLookupTableNumber()

setLookupTableNumber

public void setLookupTableNumber(Integer lookupTableNumber)

getImageMean

public Double getImageMean()

setImageMean

public void setImageMean(Double imageMean)

getPlannedSnr

public Double getPlannedSnr()

setPlannedSnr

public void setPlannedSnr(Double plannedSnr)

getLastUpdate

public Date getLastUpdate()

setLastUpdate

public void setLastUpdate(Date lastUpdate)

getRawDataVolumeBytes

public Integer getRawDataVolumeBytes()

clone

public Object clone()
Returns a clone of this set of CCD parameters

Overrides:
clone in class Object
Returns:
a clone of the CCD parameters.

toVector

public Vector<String> toVector()

getDataVolumeBytes

public static int getDataVolumeBytes(int imageLines,
                                     int tdi,
                                     int bin,
                                     boolean isLutted)
Computes the data volume in bytes for a HiRISE CCD. This method includes the calibration lines; it does not take into account FELICS compression, since the latter takes place in the MRO solid-state recorder and is applied to the entire observation rather than to select CCD data.

Warning The values for lines, tdi, and bin are not checked; if they are not valid, this method will not return a valid result.

Parameters:
imageLines - the number of post-binning image lines, not including calibration lines.
tdi - the number of time delay integration stages.
bin - the binning factor.
isLutted - true if the data are LUT-compressed, false otherwise.
Returns:
the data volume for the CCD in bytes.
See Also:
Instrument.calibration_lines_minimum(int, int)

getLineDataVolumeBytes

public static int getLineDataVolumeBytes(int bin,
                                         boolean isLutted)
Computes the data volume in bytes for a single line of HiRISE data for a single channel. (A HiRISE CCD has two channels.)

Warning The value for bin is not checked; if it is not a valid HiRISE binning factor, this method will not return a valid result.

Parameters:
bin - the binning factor.
isLutted - true if the data are LUT-compressed, false otherwise.
Returns:
the data volume in bytes for a single channel.

getCcdParameterFields

public static List<String> getCcdParameterFields()

HiRISE

Copyright (C) Arizona Board of Regents on behalf of the Planetary Image Research Laboratory, Lunar and Planetary Laboratory at the University of Arizona