Isis 3.0 Programmer Reference
Back | Home
Isis::LineScanCameraDetectorMap Class Reference

Convert between parent image coordinates and detector coordinates. More...

#include <LineScanCameraDetectorMap.h>

Inheritance diagram for Isis::LineScanCameraDetectorMap:
Inheritance graph
Collaboration diagram for Isis::LineScanCameraDetectorMap:
Collaboration graph

Public Member Functions

 LineScanCameraDetectorMap (Camera *parent, const double etStart, const double lineRate)
 Construct a detector map for line scan cameras. More...
 
virtual ~LineScanCameraDetectorMap ()
 Destructor. More...
 
void SetStartTime (const double etStart)
 Reset the starting ephemeris time. More...
 
void SetLineRate (const double lineRate)
 Reset the line rate. More...
 
double LineRate () const
 Access the time, in seconds, between scan lines. More...
 
virtual double exposureDuration (const double sample, const double line, const int band) const
 This virtual method is for returning the exposure duration of a pixel. More...
 
virtual bool SetParent (const double sample, const double line)
 Compute detector position from a parent image coordinate. More...
 
virtual bool SetParent (const double sample, const double line, const double deltaT)
 Compute detector position from a parent image coordinate. More...
 
virtual bool SetDetector (const double sample, const double line)
 Compute parent position from a detector coordinate. More...
 
double StartTime () const
 Access the starting time at the top edge of the first line in the parent image. More...
 
double AdjustedStartingSample () const
 Return the starting detector sample adjusted for summation. More...
 
double AdjustedStartingLine () const
 Return the starting detector line adjusted for summation. More...
 
double ParentSample () const
 Return parent sample. More...
 
double ParentLine () const
 Return parent line. More...
 
double DetectorSample () const
 Return detector sample. More...
 
double DetectorLine () const
 Return detector line. More...
 
void SetStartingDetectorSample (const double sample)
 Set the starting detector sample. More...
 
void SetStartingDetectorLine (const double line)
 Set the starting detector line. More...
 
void SetDetectorSampleSumming (const double summing)
 Set sample summing mode. More...
 
void SetDetectorLineSumming (const double summing)
 Set line summing mode. More...
 
virtual double SampleScaleFactor () const
 Return scaling factor for computing sample resolution. More...
 
virtual double LineScaleFactor () const
 Return scaling factor for computing line resolution. More...
 

Protected Attributes

Camerap_camera
 Pointer to the camera. More...
 
double p_parentSample
 
double p_parentLine
 
double p_detectorLine
 Detector coordinate line value. More...
 
double p_detectorSample
 Detector coordinate sample value. More...
 
double p_detectorSampleSumming
 
double p_detectorLineSumming
 
double p_startingDetectorSample
 Detector start coordinate sample value. More...
 
double p_startingDetectorLine
 Detector start coordinate line value. More...
 
double p_ss
 Start sample. More...
 
double p_sl
 Start line. More...
 

Private Attributes

double p_etStart
 Starting time at the top of the first parent line. More...
 
double p_lineRate
 Time, in seconds, between lines in parent cube. More...
 

Detailed Description

Convert between parent image coordinates and detector coordinates.

This class is used to convert between parent dector coordinates (sample/line) and detector coordinates for a line scan camera.

See Also
Camera
Author
2005-02-09 Jeff Anderson
History:

2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods

2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.

2013-02-11 E. Howington-Kraus - Added accessor method StartTime(). This is tested by application socetlinescankeywords since no unitTest exists. References #1490.

2016-10-18 Kristin Berry - Added additional SetParent method with time offset deltaT. Updated unitTest. References #4476.

2016-10-19 Jesse Mapel - Added exposureDuration method for accessing a pixel's exposure duration. Updated unitTest. References #4476.

2016-10-27 Jeannie Backer - Moved method implementation to cpp file. References #4476.

Definition at line 55 of file LineScanCameraDetectorMap.h.

Constructor & Destructor Documentation

Isis::LineScanCameraDetectorMap::LineScanCameraDetectorMap ( Camera parent,
const double  etStart,
const double  lineRate 
)

Construct a detector map for line scan cameras.

Parameters
parentThe parent camera model for the detector map
etStartstarting ephemeris time in seconds at the top of the first line
lineRatethe time in seconds between lines

Definition at line 39 of file LineScanCameraDetectorMap.cpp.

References p_etStart, and p_lineRate.

Isis::LineScanCameraDetectorMap::~LineScanCameraDetectorMap ( )
virtual

Destructor.

Definition at line 49 of file LineScanCameraDetectorMap.cpp.

Member Function Documentation

double Isis::CameraDetectorMap::AdjustedStartingLine ( ) const
inherited

Return the starting detector line adjusted for summation.

Definition at line 129 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_sl.

double Isis::CameraDetectorMap::AdjustedStartingSample ( ) const
inherited

Return the starting detector sample adjusted for summation.

Definition at line 123 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_ss.

double Isis::CameraDetectorMap::DetectorLine ( ) const
inherited

Return detector line.

Definition at line 153 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorLine.

Referenced by Isis::Camera::SetImage().

double Isis::CameraDetectorMap::DetectorSample ( ) const
inherited

Return detector sample.

Definition at line 147 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorSample.

Referenced by Isis::Camera::SetImage().

double Isis::LineScanCameraDetectorMap::exposureDuration ( const double  sample,
const double  line,
const int  band 
) const
virtual

This virtual method is for returning the exposure duration of a pixel.

For a fixed rate line scan camera this will return the line scan rate. Note that this may not be the exact same thing as the exposure duration. If there is some amount of padding between exposures, then the line scan rate is actually the exposure duration plus that padding.

Parameters
sampleThe sample of the desired pixel.
lineThe line of the desired pixel.
bandThe band of the desired pixel.
Returns
double The exposure duration for the desired pixel in seconds.
See Also
LineRate

Add a way to account for the padding described above. Push frame cameras handle this by having a separate exposure duration member that can be set by individual camera models. Then, if the exposure duration member is not it's default value (0) return it instead of the line rate.

Reimplemented from Isis::CameraDetectorMap.

Reimplemented in Isis::VariableLineScanCameraDetectorMap.

Definition at line 191 of file LineScanCameraDetectorMap.cpp.

References LineRate().

double Isis::LineScanCameraDetectorMap::LineRate ( ) const
virtual

Access the time, in seconds, between scan lines.

Returns
Line rate.

Reimplemented from Isis::CameraDetectorMap.

Definition at line 86 of file LineScanCameraDetectorMap.cpp.

References p_lineRate.

Referenced by exposureDuration(), and Isis::LineScanCameraSkyMap::SetSky().

double Isis::CameraDetectorMap::ParentLine ( ) const
inherited

Return parent line.

Definition at line 141 of file CameraDetectorMap.cpp.

Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().

double Isis::CameraDetectorMap::ParentSample ( ) const
inherited

Return parent sample.

Definition at line 135 of file CameraDetectorMap.cpp.

Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().

double Isis::CameraDetectorMap::SampleScaleFactor ( ) const
virtualinherited

Return scaling factor for computing sample resolution.

Definition at line 159 of file CameraDetectorMap.cpp.

Referenced by Isis::Camera::ObliqueSampleResolution(), and Isis::Camera::SampleResolution().

bool Isis::LineScanCameraDetectorMap::SetDetector ( const double  sample,
const double  line 
)
virtual

Compute parent position from a detector coordinate.

This method will compute a parent sample given a detector coordinate. The parent line will be computed using the the time in the parent camera

Parameters
sampleSample number in the detector
lineLine number in the detector
Returns
conversion successful

Reimplemented from Isis::CameraDetectorMap.

Reimplemented in Isis::VariableLineScanCameraDetectorMap, and Isis::MocWideAngleDetectorMap.

Definition at line 102 of file LineScanCameraDetectorMap.cpp.

References Isis::iTime::Et(), Isis::CameraDetectorMap::p_camera, p_etStart, p_lineRate, Isis::CameraDetectorMap::SetDetector(), and Isis::Spice::time().

void Isis::LineScanCameraDetectorMap::SetLineRate ( const double  lineRate)

Reset the line rate.

Use this method to reset the time between lines. Usually this will not need to be done unless the rate changes between bands.

Parameters
lineRatethe time in seconds between lines

Definition at line 76 of file LineScanCameraDetectorMap.cpp.

References p_lineRate.

Referenced by Isis::VariableLineScanCameraDetectorMap::SetDetector(), and Isis::VariableLineScanCameraDetectorMap::SetParent().

bool Isis::LineScanCameraDetectorMap::SetParent ( const double  sample,
const double  line 
)
virtual

Compute detector position from a parent image coordinate.

This method will compute the detector position from the parent line/sample coordinate. The parent line will be used to set the appropriate time in the parent camera.

Parameters
sampleSample number in the parent image
lineLine number in the parent image
Returns
bool conversion successful

Reimplemented from Isis::CameraDetectorMap.

Reimplemented in Isis::VariableLineScanCameraDetectorMap, and Isis::MocWideAngleDetectorMap.

Definition at line 126 of file LineScanCameraDetectorMap.cpp.

bool Isis::LineScanCameraDetectorMap::SetParent ( const double  sample,
const double  line,
const double  deltaT 
)
virtual

Compute detector position from a parent image coordinate.

This method will compute the detector position from the parent line/sample coordinate. The parent line and input deltaT offset will be used to set the appropriate time in the parent camera.

Parameters
sampleSample number in the parent image
lineLine number in the parent image
deltaToffset in seconds from current exposure time
Returns
bool conversion successful

Reimplemented from Isis::CameraDetectorMap.

Reimplemented in Isis::VariableLineScanCameraDetectorMap.

Definition at line 144 of file LineScanCameraDetectorMap.cpp.

References Isis::CameraFocalPlaneMap::DetectorLineOffset(), Isis::Camera::FocalPlaneMap(), Isis::CameraDetectorMap::p_camera, Isis::CameraDetectorMap::p_detectorLine, p_etStart, p_lineRate, Isis::CameraDetectorMap::SetParent(), and Isis::Sensor::setTime().

void Isis::CameraDetectorMap::SetStartingDetectorLine ( const double  line)
inlineinherited

Set the starting detector line.

Use this method to specify the starting detector that represents the first image line in the cube. If not set the default is 1.

Parameters
lineStarting detector line

Definition at line 109 of file CameraDetectorMap.h.

References Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::p_startingDetectorLine.

Referenced by Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), and Isis::MdisCamera::MdisCamera().

void Isis::CameraDetectorMap::SetStartingDetectorSample ( const double  sample)
inlineinherited
void Isis::LineScanCameraDetectorMap::SetStartTime ( const double  etStart)

Reset the starting ephemeris time.

Use this method to reset the starting time of the top edge of the first line in the parent image. That is the time, prior to cropping, scaling, or padding. Usually this will not need to be done unless the time changes between bands.

Parameters
etStartstarting ephemeris time in seconds

Definition at line 63 of file LineScanCameraDetectorMap.cpp.

References p_etStart.

Referenced by Isis::ThemisIrCamera::SetBand().

double Isis::LineScanCameraDetectorMap::StartTime ( ) const

Access the starting time at the top edge of the first line in the parent image.

Returns
The start ephemeris time for the image.

Definition at line 165 of file LineScanCameraDetectorMap.cpp.

References p_etStart.

Member Data Documentation

double Isis::CameraDetectorMap::p_detectorSample
protectedinherited
double Isis::LineScanCameraDetectorMap::p_etStart
private

Starting time at the top of the first parent line.

Definition at line 82 of file LineScanCameraDetectorMap.h.

Referenced by LineScanCameraDetectorMap(), SetDetector(), SetParent(), SetStartTime(), and StartTime().

double Isis::LineScanCameraDetectorMap::p_lineRate
private

Time, in seconds, between lines in parent cube.

Definition at line 83 of file LineScanCameraDetectorMap.h.

Referenced by LineRate(), LineScanCameraDetectorMap(), SetDetector(), SetLineRate(), and SetParent().

double Isis::CameraDetectorMap::p_sl
protectedinherited
double Isis::CameraDetectorMap::p_ss
protectedinherited
double Isis::CameraDetectorMap::p_startingDetectorLine
protectedinherited
double Isis::CameraDetectorMap::p_startingDetectorSample
protectedinherited

The documentation for this class was generated from the following files:

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:57:45