Isis 3 Programmer Reference
|
Convert between parent image coordinates and detector coordinates. More...
#include <LineScanCameraDetectorMap.h>
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 |
@breif 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 | |
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... | |
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... | |
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.
Definition at line 37 of file LineScanCameraDetectorMap.h.
Isis::LineScanCameraDetectorMap::LineScanCameraDetectorMap | ( | Camera * | parent, |
const double | etStart, | ||
const double | lineRate | ||
) |
Construct a detector map for line scan cameras.
parent | The parent camera model for the detector map |
etStart | starting ephemeris time in seconds at the top of the first line |
lineRate | the time in seconds between lines |
Definition at line 23 of file LineScanCameraDetectorMap.cpp.
References p_etStart, and p_lineRate.
|
virtual |
Destructor.
Definition at line 33 of file LineScanCameraDetectorMap.cpp.
|
inherited |
Return the starting detector line adjusted for summation.
Definition at line 123 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_sl.
|
inherited |
Return the starting detector sample adjusted for summation.
Definition at line 113 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_ss.
|
privateinherited |
Compute new offsets whenenver summing or starting sample/lines change.
Definition at line 99 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_detectorLineSumming, Isis::CameraDetectorMap::p_detectorSampleSumming, Isis::CameraDetectorMap::p_sl, Isis::CameraDetectorMap::p_ss, Isis::CameraDetectorMap::p_startingDetectorLine, and Isis::CameraDetectorMap::p_startingDetectorSample.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::SetDetectorLineSumming(), Isis::CameraDetectorMap::SetDetectorSampleSumming(), Isis::CameraDetectorMap::SetStartingDetectorLine(), and Isis::CameraDetectorMap::SetStartingDetectorSample().
|
inherited |
Return detector line.
Definition at line 163 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_detectorLine.
Referenced by Isis::Camera::SetImage().
|
inherited |
Return detector sample.
Definition at line 153 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_detectorSample.
Referenced by Isis::Camera::SetImage().
|
virtual |
@breif 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.
sample | The sample of the desired pixel. |
line | The line of the desired pixel. |
band | The band of the desired pixel. |
@TODO 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 175 of file LineScanCameraDetectorMap.cpp.
References LineRate().
|
virtual |
Access the time, in seconds, between scan lines.
Reimplemented from Isis::CameraDetectorMap.
Definition at line 70 of file LineScanCameraDetectorMap.cpp.
References p_lineRate.
Referenced by exposureDuration(), and Isis::LineScanCameraSkyMap::SetSky().
|
virtualinherited |
Return scaling factor for computing line resolution.
Definition at line 183 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::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().
|
inherited |
Return parent line.
Definition at line 143 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_parentLine.
Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().
|
inherited |
Return parent sample.
Definition at line 133 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::p_parentSample.
Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().
|
virtualinherited |
Return scaling factor for computing sample resolution.
Definition at line 173 of file CameraDetectorMap.cpp.
References Isis::CameraDetectorMap::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 given a detector coordinate. The parent line will be computed using the the time in the parent camera
sample | Sample number in the detector |
line | Line number in the detector |
Reimplemented from Isis::CameraDetectorMap.
Reimplemented in Isis::MocWideAngleDetectorMap, and Isis::VariableLineScanCameraDetectorMap.
Definition at line 86 of file LineScanCameraDetectorMap.cpp.
References Isis::iTime::Et(), Isis::CameraDetectorMap::p_camera, p_etStart, p_lineRate, Isis::CameraDetectorMap::p_parentLine, Isis::CameraDetectorMap::SetDetector(), and Isis::Spice::time().
|
inlineinherited |
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 Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::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().
|
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.
summing | Sample summing mode |
Definition at line 108 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::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().
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.
lineRate | the time in seconds between lines |
Definition at line 60 of file LineScanCameraDetectorMap.cpp.
References p_lineRate.
Referenced by Isis::VariableLineScanCameraDetectorMap::SetDetector(), 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. The parent line will be used to set the appropriate time in the parent camera.
sample | Sample number in the parent image |
line | Line number in the parent image |
Reimplemented from Isis::CameraDetectorMap.
Reimplemented in Isis::MocWideAngleDetectorMap, and Isis::VariableLineScanCameraDetectorMap.
Definition at line 110 of file LineScanCameraDetectorMap.cpp.
|
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.
sample | Sample number in the parent image |
line | Line number in the parent image |
deltaT | offset in seconds from current exposure time |
Reimplemented from Isis::CameraDetectorMap.
Reimplemented in Isis::VariableLineScanCameraDetectorMap.
Definition at line 128 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().
|
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.
line | Starting detector line |
Definition at line 93 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().
|
inlineinherited |
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 Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::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().
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.
etStart | starting ephemeris time in seconds |
Definition at line 47 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.
Definition at line 149 of file LineScanCameraDetectorMap.cpp.
References p_etStart.
|
protectedinherited |
Pointer to the camera.
Definition at line 138 of file CameraDetectorMap.h.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::RadarPulseMap::SetParent(), Isis::CameraDetectorMap::SetParent(), SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), Isis::VariableLineScanCameraDetectorMap::SetParent(), and Isis::PushFrameCameraDetectorMap::TotalFramelets().
|
protectedinherited |
Detector coordinate line value.
Definition at line 142 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::DetectorLine(), Isis::CameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetParent(), Isis::CameraDetectorMap::SetParent(), SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), and Isis::VariableLineScanCameraDetectorMap::SetParent().
|
protectedinherited |
The scaling factor for computing line resolution.
Definition at line 146 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::Compute(), Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetDetectorLineSumming(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Detector coordinate sample value.
Definition at line 143 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::DetectorSample(), Isis::CameraDetectorMap::SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
The scaling factor for computing sample resolution.
Definition at line 145 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::Compute(), Isis::CameraDetectorMap::SampleScaleFactor(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetDetectorSampleSumming(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
private |
Starting time at the top of the first parent line.
Definition at line 64 of file LineScanCameraDetectorMap.h.
Referenced by LineScanCameraDetectorMap(), SetDetector(), SetParent(), SetStartTime(), and StartTime().
|
private |
Time, in seconds, between lines in parent cube.
Definition at line 65 of file LineScanCameraDetectorMap.h.
Referenced by LineRate(), LineScanCameraDetectorMap(), SetDetector(), SetLineRate(), and SetParent().
|
protectedinherited |
The parent line calculated from the detector.
Definition at line 141 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::ParentLine(), Isis::CameraDetectorMap::SetDetector(), SetDetector(), Isis::PushFrameCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
The parent sample calculated from the detector.
Definition at line 140 of file CameraDetectorMap.h.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::ParentSample(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), Isis::PushFrameCameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Start line.
Definition at line 151 of file CameraDetectorMap.h.
Referenced by Isis::CameraDetectorMap::AdjustedStartingLine(), Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::Compute(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Start sample.
Definition at line 150 of file CameraDetectorMap.h.
Referenced by Isis::CameraDetectorMap::AdjustedStartingSample(), Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::Compute(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Detector start coordinate line value.
Definition at line 148 of file CameraDetectorMap.h.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::SetStartingDetectorLine().
|
protectedinherited |
Detector start coordinate sample value.
Definition at line 147 of file CameraDetectorMap.h.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::SetStartingDetectorSample().