Isis 3 Programmer Reference
|
Convert between parent image coordinates and detector coordinates. More...
#include <CameraDetectorMap.h>
Public Member Functions | |
CameraDetectorMap (Camera *parent=0) | |
Default constructor assumes no summing and starting detector offsets. More... | |
virtual | ~CameraDetectorMap () |
Destructor. 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 | 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 | LineRate () const |
Return the line collection rate (0 for framing cameras) 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 | |
Camera * | p_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 | |
void | Compute () |
Compute new offsets whenenver summing or starting sample/lines change. More... | |
Convert between parent image coordinates and detector coordinates.
This base class is used to convert between parent detector coordinates (sample/line) and detector coordinates for the camera.
Definition at line 47 of file CameraDetectorMap.h.
Isis::CameraDetectorMap::CameraDetectorMap | ( | Camera * | parent = 0 | ) |
Default constructor assumes no summing and starting detector offsets.
parent | Camera that will use this detector map |
Definition at line 15 of file CameraDetectorMap.cpp.
References Compute(), p_camera, p_detectorLineSumming, p_detectorSampleSumming, p_startingDetectorLine, p_startingDetectorSample, and Isis::Camera::SetDetectorMap().
|
virtual |
Destructor.
Definition at line 29 of file CameraDetectorMap.cpp.
double Isis::CameraDetectorMap::AdjustedStartingLine | ( | ) | const |
Return the starting detector line adjusted for summation.
Definition at line 123 of file CameraDetectorMap.cpp.
References p_sl.
double Isis::CameraDetectorMap::AdjustedStartingSample | ( | ) | const |
Return the starting detector sample adjusted for summation.
Definition at line 113 of file CameraDetectorMap.cpp.
References p_ss.
|
private |
Compute new offsets whenenver summing or starting sample/lines change.
Definition at line 99 of file CameraDetectorMap.cpp.
References p_detectorLineSumming, p_detectorSampleSumming, p_sl, p_ss, p_startingDetectorLine, and p_startingDetectorSample.
Referenced by CameraDetectorMap(), SetDetectorLineSumming(), SetDetectorSampleSumming(), SetStartingDetectorLine(), and SetStartingDetectorSample().
double Isis::CameraDetectorMap::DetectorLine | ( | ) | const |
Return detector line.
Definition at line 163 of file CameraDetectorMap.cpp.
References p_detectorLine.
Referenced by Isis::Camera::SetImage().
double Isis::CameraDetectorMap::DetectorSample | ( | ) | const |
Return detector sample.
Definition at line 153 of file CameraDetectorMap.cpp.
References p_detectorSample.
Referenced by Isis::Camera::SetImage().
|
virtual |
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.
sample | The sample of the desired pixel. |
line | The line of the desired pixel. |
band | The band of the desired pixel. |
IException::Programmer | "Exposure duration is only available for LineScan, VariableLineScan, and PushFrame Cameras." |
Reimplemented in Isis::NirsDetectorMap, Isis::VariableLineScanCameraDetectorMap, Isis::PushFrameCameraDetectorMap, and Isis::LineScanCameraDetectorMap.
Definition at line 212 of file CameraDetectorMap.cpp.
References Isis::IException::Programmer.
Referenced by Isis::Camera::exposureDuration().
|
virtual |
Return the line collection rate (0 for framing cameras)
Reimplemented in Isis::RadarPulseMap, Isis::LineScanCameraDetectorMap, and Isis::ApolloPanoramicDetectorMap.
Definition at line 193 of file CameraDetectorMap.cpp.
|
virtual |
Return scaling factor for computing line resolution.
Definition at line 183 of file CameraDetectorMap.cpp.
References p_detectorLineSumming.
Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::Camera::LineResolution(), Isis::Camera::ObliqueLineResolution(), Isis::ThemisIrCamera::SetBand(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetParent(), and Isis::PushFrameCameraDetectorMap::TotalFramelets().
double Isis::CameraDetectorMap::ParentLine | ( | ) | const |
Return parent line.
Definition at line 143 of file CameraDetectorMap.cpp.
References p_parentLine.
Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().
double Isis::CameraDetectorMap::ParentSample | ( | ) | const |
Return parent sample.
Definition at line 133 of file CameraDetectorMap.cpp.
References p_parentSample.
Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().
|
virtual |
Return scaling factor for computing sample resolution.
Definition at line 173 of file CameraDetectorMap.cpp.
References p_detectorSampleSumming.
Referenced by Isis::Camera::ObliqueSampleResolution(), and Isis::Camera::SampleResolution().
|
virtual |
Compute parent position from a detector coordinate.
This method will compute a parent sample/line given a detector coordinate
sample | Sample number in the detector |
line | Line number in the detector |
Reimplemented in Isis::MocWideAngleDetectorMap, Isis::VariableLineScanCameraDetectorMap, Isis::RollingShutterCameraDetectorMap, Isis::RadarPulseMap, Isis::PushFrameCameraDetectorMap, Isis::LineScanCameraDetectorMap, and Isis::ApolloPanoramicDetectorMap.
Definition at line 43 of file CameraDetectorMap.cpp.
References p_detectorLine, p_detectorLineSumming, p_detectorSample, p_detectorSampleSumming, p_parentLine, p_parentSample, p_sl, and p_ss.
Referenced by Isis::Camera::RawFocalPlanetoImage(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), and Isis::Camera::SetRightAscensionDeclination().
|
inline |
Set line summing mode.
Use this method to specify if detector lines are summed/averaged. That is, one image lines represents the average of N detectors. If not set the default is 1.
summing | Line summing mode |
Definition at line 123 of file CameraDetectorMap.h.
References Compute(), and p_detectorLineSumming.
Referenced by Isis::CrismCamera::CrismCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), and Isis::ThemisVisCamera::ThemisVisCamera().
|
inline |
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.
summing | Sample summing mode |
Definition at line 108 of file CameraDetectorMap.h.
References Compute(), and 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::MexHrscSrcCamera::MexHrscSrcCamera(), 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().
|
virtual |
Compute detector position from a parent image coordinate.
This method will compute the detector position from the parent line/sample coordinate
sample | Sample number in the parent image |
line | Line number in the parent image |
Reimplemented in Isis::MocWideAngleDetectorMap, Isis::VariableLineScanCameraDetectorMap, Isis::RollingShutterCameraDetectorMap, Isis::RadarPulseMap, Isis::PushFrameCameraDetectorMap, Isis::LineScanCameraDetectorMap, and Isis::ApolloPanoramicDetectorMap.
Definition at line 63 of file CameraDetectorMap.cpp.
Referenced by Isis::Camera::SetImage(), Isis::RadarPulseMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), and Isis::VariableLineScanCameraDetectorMap::SetParent().
|
virtual |
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.
sample | Sample number in the parent image |
line | Line number in the parent image |
deltaT | option time offset from center of exposure in seconds |
Reimplemented in Isis::VariableLineScanCameraDetectorMap, Isis::RollingShutterCameraDetectorMap, Isis::PushFrameCameraDetectorMap, and Isis::LineScanCameraDetectorMap.
Definition at line 82 of file CameraDetectorMap.cpp.
References Isis::iTime::Et(), Isis::Spice::isTimeSet(), p_camera, p_detectorLine, p_detectorLineSumming, p_detectorSample, p_detectorSampleSumming, p_parentLine, p_parentSample, p_sl, p_ss, Isis::Sensor::setTime(), and Isis::Spice::time().
|
inline |
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.
line | Starting detector line |
Definition at line 93 of file CameraDetectorMap.h.
References Compute(), and p_startingDetectorLine.
Referenced by Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::JunoCamera::JunoCamera(), Isis::MdisCamera::MdisCamera(), and Isis::RosettaOsirisCamera::RosettaOsirisCamera().
|
inline |
Set the starting detector sample.
Use this method to specify the starting detector that represents the first image sample in the cube. If not set the default is 1.
sample | Starting detector sample |
Definition at line 79 of file CameraDetectorMap.h.
References Compute(), and p_startingDetectorSample.
Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::CTXCamera::CTXCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), and Isis::RosettaOsirisCamera::RosettaOsirisCamera().
|
protected |
Pointer to the camera.
Definition at line 138 of file CameraDetectorMap.h.
Referenced by CameraDetectorMap(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::RadarPulseMap::SetParent(), SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), Isis::VariableLineScanCameraDetectorMap::SetParent(), and Isis::PushFrameCameraDetectorMap::TotalFramelets().
|
protected |
Detector coordinate line value.
Definition at line 142 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), DetectorLine(), SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetParent(), SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), and Isis::VariableLineScanCameraDetectorMap::SetParent().
|
protected |
The scaling factor for computing line resolution.
Definition at line 146 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), CameraDetectorMap(), Compute(), LineScaleFactor(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), SetDetectorLineSumming(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
Detector coordinate sample value.
Definition at line 143 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), DetectorSample(), SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
The scaling factor for computing sample resolution.
Definition at line 145 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), CameraDetectorMap(), Compute(), SampleScaleFactor(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), SetDetectorSampleSumming(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
The parent line calculated from the detector.
Definition at line 141 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), ParentLine(), SetDetector(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
The parent sample calculated from the detector.
Definition at line 140 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), ParentSample(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
Start line.
Definition at line 151 of file CameraDetectorMap.h.
Referenced by AdjustedStartingLine(), Isis::RollingShutterCameraDetectorMap::applyJitter(), Compute(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
Start sample.
Definition at line 150 of file CameraDetectorMap.h.
Referenced by AdjustedStartingSample(), Isis::RollingShutterCameraDetectorMap::applyJitter(), Compute(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protected |
Detector start coordinate line value.
Definition at line 148 of file CameraDetectorMap.h.
Referenced by CameraDetectorMap(), Compute(), and SetStartingDetectorLine().
|
protected |
Detector start coordinate sample value.
Definition at line 147 of file CameraDetectorMap.h.
Referenced by CameraDetectorMap(), Compute(), and SetStartingDetectorSample().