Isis 3 Programmer Reference
Isis::ApolloPanoramicDetectorMap Class Reference


Convert between parent image (aka encoder aka machine) coordinates and detector coordinates More...

#include <ApolloPanoramicDetectorMap.h>

Inheritance diagram for Isis::ApolloPanoramicDetectorMap:
Inheritance graph
Collaboration diagram for Isis::ApolloPanoramicDetectorMap:
Collaboration graph

Public Member Functions

 ApolloPanoramicDetectorMap (Camera *parent, double etMiddle, double lineRate, Pvl *lab)
 Construct a detector map for line scan cameras. More...
 
virtual ~ApolloPanoramicDetectorMap ()
 Destroys ApolloPanoramicDetectorMap object. More...
 
virtual bool SetParent (const double sample, const double line)
 This method sets dector sample line coordinates from given cube coordinates. More...
 
virtual bool SetDetector (const double sample, const double line)
 This method sets cube sample line coordinates from given Dector coordinates. More...
 
void SetLineRate (const double lineRate)
 Reset the line rate. More...
 
double LineRate () const
 Return the time in seconds between scan lines. More...
 
double meanResidual ()
 Mean (average) of interior orientation residual vector lengths, accesor. More...
 
double maxResidual ()
 Max interior orientation residual vector length, accesor. More...
 
double stdevResidual ()
 Standard deviation of interior orientation residual vector lengths, accesor. More...
 
virtual bool SetParent (const double sample, const double line, const double deltaT)
 Compute detector position from a parent image coordinate. 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...
 
virtual double exposureDuration (const double sample, const double line, const int band) const
 This virtual method is for returning the exposure duration of a given pixel. More...
 

Protected Attributes

Camerap_camera
 Pointer to the camera. More...
 
double p_parentSample
 The parent sample calculated from the detector. More...
 
double p_parentLine
 The parent line calculated from the detector. More...
 
double p_detectorLine
 Detector coordinate line value. More...
 
double p_detectorSample
 Detector coordinate sample value. More...
 
double p_detectorSampleSumming
 The scaling factor for computing sample resolution. More...
 
double p_detectorLineSumming
 The scaling factor for computing line resolution. More...
 
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 Member Functions

int initializeInteriorOrientation ()
 This method uses the ApolloPanIO class to compute transforamtion from cube to image (aka fiducial cooraintes) More...
 

Private Attributes

double m_etMiddle
 Ephemeris time at the middle line. More...
 
double m_lineRate
 line exposure duration More...
 
Pvlm_lab
 Image label used to construct camera object. More...
 
ApolloPanIO p_intOri
 Class to preform transformations from cube coordiantes to image coordinates. More...
 

Detailed Description


Convert between parent image (aka encoder aka machine) coordinates and detector coordinates

This class is used to convert between parent image (aka encoder aka machine) coordinates (sample/line) and detector coordinates for a the Apollo Panoramic Image.

Author
2011-11-21 Orrin Thomas
History:

2011-11-21 Orrin Thomas - Original version

2012-07-10 Orrin Thomas - Updated to current coding standards

2017-06-28 Makayla Shepherd - Updated documentation. References #4807.

Definition at line 48 of file ApolloPanoramicDetectorMap.h.

Constructor & Destructor Documentation

◆ ApolloPanoramicDetectorMap()

Isis::ApolloPanoramicDetectorMap::ApolloPanoramicDetectorMap ( Camera parent,
double  etMiddle,
double  lineRate,
Pvl lab 
)
inline

Construct a detector map for line scan cameras.

Parameters
parentThe parent Camera Model
etMiddleTime of the center line, line 0 after interior orientation
lineRatethe time in seconds between lines (msec)
labThe labels to use for the camera creation

Definition at line 59 of file ApolloPanoramicDetectorMap.h.

References initializeInteriorOrientation(), m_etMiddle, m_lab, and m_lineRate.

◆ ~ApolloPanoramicDetectorMap()

virtual Isis::ApolloPanoramicDetectorMap::~ApolloPanoramicDetectorMap ( )
inlinevirtual

Destroys ApolloPanoramicDetectorMap object.

Definition at line 69 of file ApolloPanoramicDetectorMap.h.

Member Function Documentation

◆ AdjustedStartingLine()

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

Return the starting detector line adjusted for summation.

Returns
(double) The starting line

Definition at line 139 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_sl.

◆ AdjustedStartingSample()

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

Return the starting detector sample adjusted for summation.

Returns
(double) The starting sample

Definition at line 129 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_ss.

◆ DetectorLine()

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

Return detector line.

Returns
(double) The detector line

Definition at line 179 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorLine.

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

◆ DetectorSample()

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

Return detector sample.

Returns
(double) The detector sample

Definition at line 169 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorSample.

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

◆ exposureDuration()

double Isis::CameraDetectorMap::exposureDuration ( const double  sample,
const double  line,
const int  band 
) const
virtualinherited

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

For framing cameras, exposure duration is not available so it throws an error.

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.
Exceptions
IException::Programmer"Exposure duration is only available for LineScan, VariableLineScan, and PushFrame Cameras."

Reimplemented in Isis::PushFrameCameraDetectorMap, Isis::VariableLineScanCameraDetectorMap, Isis::LineScanCameraDetectorMap, and Isis::NirsDetectorMap.

Definition at line 228 of file CameraDetectorMap.cpp.

References _FILEINFO_, and Isis::IException::Programmer.

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

◆ initializeInteriorOrientation()

int Isis::ApolloPanoramicDetectorMap::initializeInteriorOrientation ( )
private

This method uses the ApolloPanIO class to compute transforamtion from cube to image (aka fiducial cooraintes)

Exceptions
IException::User"No FID_MEASURES table found in cube blobs."
IException::User"Less than four FID_MEASURES found in cube blobs."
IException::User"Insufficient Fiducial Observations for computation of the interior orientation. At least one vertical pair must be measured, many more is recomented."
Returns
int Returns 1 on success and -1 on failure.

Definition at line 88 of file ApolloPanoramicDetectorMap.cpp.

References _FILEINFO_, and Isis::Table::Records().

Referenced by ApolloPanoramicDetectorMap().

◆ LineRate()

double Isis::ApolloPanoramicDetectorMap::LineRate ( ) const
inlinevirtual

Return the time in seconds between scan lines.

Returns
double Time in seconds between scan lines

Reimplemented from Isis::CameraDetectorMap.

Definition at line 93 of file ApolloPanoramicDetectorMap.h.

References m_lineRate.

◆ LineScaleFactor()

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

◆ maxResidual()

double Isis::ApolloPanoramicDetectorMap::maxResidual ( )
inline

Max interior orientation residual vector length, accesor.

Returns
double Max interior orientation residual vector length

Definition at line 109 of file ApolloPanoramicDetectorMap.h.

References Isis::ApolloPanIO::maxResiduals(), and p_intOri.

Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera().

◆ meanResidual()

double Isis::ApolloPanoramicDetectorMap::meanResidual ( )
inline

Mean (average) of interior orientation residual vector lengths, accesor.

Returns
double Mean of interior orientation residual vector lengths

Definition at line 102 of file ApolloPanoramicDetectorMap.h.

References Isis::ApolloPanIO::meanResiduals(), and p_intOri.

Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera().

◆ ParentLine()

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

Return parent line.

Returns
(double) The parent line

Definition at line 159 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_parentLine.

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

◆ ParentSample()

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

Return parent sample.

Returns
(double) The parent sample

Definition at line 149 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_parentSample.

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

◆ SampleScaleFactor()

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

Return scaling factor for computing sample resolution.

Returns
(double) The scaling factor for sample resolution

Definition at line 189 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorSampleSumming.

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

◆ SetDetector()

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

This method sets cube sample line coordinates from given Dector coordinates.

Parameters
sampledector sample coordinate
linedetector line coordinate
Returns
bool Always returns true

Reimplemented from Isis::CameraDetectorMap.

Definition at line 21 of file ApolloPanoramicDetectorMap.cpp.

◆ SetDetectorLineSumming()

◆ SetDetectorSampleSumming()

void Isis::CameraDetectorMap::SetDetectorSampleSumming ( const double  summing)
inlineinherited

Set sample summing mode.

Use this method to specify if detector samples are summed/averaged. That is, one image sample represents the average of N detectors. If not set the default is 1.

Parameters
summingSample summing mode

Definition at line 125 of file CameraDetectorMap.h.

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

Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), and Isis::ThemisVisCamera::ThemisVisCamera().

◆ SetLineRate()

void Isis::ApolloPanoramicDetectorMap::SetLineRate ( const double  lineRate)
inline

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
Returns
void

Definition at line 84 of file ApolloPanoramicDetectorMap.h.

References m_lineRate.

◆ SetParent() [1/2]

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

This method sets dector sample line coordinates from given cube coordinates.

Parameters
samplecube sample coordinate
linecube line coordinate
Returns
bool Always returns true

Reimplemented from Isis::CameraDetectorMap.

Definition at line 50 of file ApolloPanoramicDetectorMap.cpp.

◆ SetParent() [2/2]

bool Isis::CameraDetectorMap::SetParent ( const double  sample,
const double  line,
const double  deltaT 
)
virtualinherited

Compute detector position from a parent image coordinate.

This method will compute the detector position from the parent line/sample coordinate and an offset from the currently set time in seconds. If the time has not already been set, the input offset is not applied.

Parameters
sampleSample number in the parent image
lineLine number in the parent image
deltaToption time offset from center of exposure in seconds
Returns
conversion successful

Reimplemented in Isis::VariableLineScanCameraDetectorMap, Isis::LineScanCameraDetectorMap, and Isis::PushFrameCameraDetectorMap.

Definition at line 98 of file CameraDetectorMap.cpp.

References Isis::iTime::Et(), Isis::Spice::isTimeSet(), Isis::CameraDetectorMap::p_camera, Isis::CameraDetectorMap::p_detectorLine, Isis::CameraDetectorMap::p_detectorLineSumming, Isis::CameraDetectorMap::p_detectorSample, Isis::CameraDetectorMap::p_detectorSampleSumming, Isis::CameraDetectorMap::p_parentLine, Isis::CameraDetectorMap::p_parentSample, Isis::CameraDetectorMap::p_sl, Isis::CameraDetectorMap::p_ss, Isis::Sensor::setTime(), and Isis::Spice::time().

◆ SetStartingDetectorLine()

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 110 of file CameraDetectorMap.h.

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

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

◆ SetStartingDetectorSample()

◆ stdevResidual()

double Isis::ApolloPanoramicDetectorMap::stdevResidual ( )
inline

Standard deviation of interior orientation residual vector lengths, accesor.

Returns
double Standard deviation of interior orientation residual vector lengths

Definition at line 116 of file ApolloPanoramicDetectorMap.h.

References p_intOri, and Isis::ApolloPanIO::stdevResiduals().

Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera().

Member Data Documentation

◆ m_etMiddle

double Isis::ApolloPanoramicDetectorMap::m_etMiddle
private

Ephemeris time at the middle line.

Definition at line 116 of file ApolloPanoramicDetectorMap.h.

Referenced by ApolloPanoramicDetectorMap().

◆ m_lab

Pvl* Isis::ApolloPanoramicDetectorMap::m_lab
private

Image label used to construct camera object.

Definition at line 122 of file ApolloPanoramicDetectorMap.h.

Referenced by ApolloPanoramicDetectorMap().

◆ m_lineRate

double Isis::ApolloPanoramicDetectorMap::m_lineRate
private

line exposure duration

Definition at line 121 of file ApolloPanoramicDetectorMap.h.

Referenced by ApolloPanoramicDetectorMap(), LineRate(), and SetLineRate().

◆ p_camera

◆ p_detectorLine

◆ p_detectorLineSumming

double Isis::CameraDetectorMap::p_detectorLineSumming
protectedinherited

◆ p_detectorSample

double Isis::CameraDetectorMap::p_detectorSample
protectedinherited

◆ p_detectorSampleSumming

double Isis::CameraDetectorMap::p_detectorSampleSumming
protectedinherited

◆ p_intOri

ApolloPanIO Isis::ApolloPanoramicDetectorMap::p_intOri
private

Class to preform transformations from cube coordiantes to image coordinates.

Definition at line 127 of file ApolloPanoramicDetectorMap.h.

Referenced by maxResidual(), meanResidual(), and stdevResidual().

◆ p_parentLine

◆ p_parentSample

double Isis::CameraDetectorMap::p_parentSample
protectedinherited

◆ p_sl

double Isis::CameraDetectorMap::p_sl
protectedinherited

◆ p_ss

double Isis::CameraDetectorMap::p_ss
protectedinherited

◆ p_startingDetectorLine

double Isis::CameraDetectorMap::p_startingDetectorLine
protectedinherited

◆ p_startingDetectorSample

double Isis::CameraDetectorMap::p_startingDetectorSample
protectedinherited

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