Isis Developer Reference
|
Convert between parent image coordinates and detector coordinates. More...
#include <PushFrameCameraDetectorMap.h>
Public Member Functions | |
PushFrameCameraDetectorMap (Camera *parent, const double etStart, const double frameletRate, int frameletHeight) | |
Construct a detector map for push frame cameras. More... | |
virtual | ~PushFrameCameraDetectorMap () |
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 | FrameletRate () const |
Return the time in seconds between framelets. More... | |
void | SetFrameletRate (const double frameletRate) |
Reset the frame rate. More... | |
int | FrameletOffset () const |
Return the frame offset. More... | |
void | SetFrameletOffset (int frameletOffset) |
Reset the frame offset. More... | |
void | SetFramelet (int framelet, const double deltaT=0) |
This method changes the current framelet. More... | |
int | Framelet () |
This method returns the current framelet. More... | |
void | SetBandFirstDetectorLine (int firstLine) |
Change the starting line in the detector based on band. More... | |
int | GetBandFirstDetectorLine () |
Return the starting line in the detector for the current band. More... | |
void | SetStartTime (const double etStart) |
Reset the starting ephemeris time. More... | |
double | StartEphemerisTime () const |
This returns the starting ET of this band. More... | |
void | SetExposureDuration (double exposureDuration) |
Change the exposure duration in seconds. 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... | |
void | SetFrameletOrderReversed (bool frameletOrderReversed, int nframelets) |
Changes the direction of the framelets. More... | |
void | SetFrameletsGeometricallyFlipped (bool frameletsFlipped) |
Mirrors the each framelet in the file. More... | |
int | TotalFramelets () const |
Return the total number of framelets including padding. More... | |
double | frameletSample () const |
This returns the calculated framelet sample. More... | |
double | frameletLine () const |
This returns the calculated framelet line. More... | |
int | frameletHeight () const |
This returns how many lines are considered a single framelet. More... | |
bool | timeAscendingFramelets () |
Returns if the framelets are reversed from top-to-bottom. 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... | |
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... | |
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 push frame camera.
Isis::PushFrameCameraDetectorMap::PushFrameCameraDetectorMap | ( | Camera * | parent, |
const double | etStart, | ||
const double | frameletRate, | ||
int | frameletHeight | ||
) |
Construct a detector map for push frame cameras.
parent | The parent camera model for the detector map |
etStart | starting ephemeris time in seconds at the first framelet (not including padded framelets). |
frameletRate | the time in seconds between framelets |
frameletHeight | Physical height of framelet in lines (don't account for summing) |
References frameletHeight().
|
virtual |
Destructor.
|
inherited |
Return the starting detector line adjusted for summation.
References Isis::CameraDetectorMap::p_sl.
|
inherited |
Return the starting detector sample adjusted for summation.
References Isis::CameraDetectorMap::p_ss.
|
inherited |
Return detector line.
References Isis::CameraDetectorMap::p_detectorLine.
Referenced by Isis::Camera::SetImage().
|
inherited |
Return detector sample.
References Isis::CameraDetectorMap::p_detectorSample.
Referenced by Isis::Camera::SetImage().
|
virtual |
This virtual method is for returning the exposure duration of a given pixel.
sample | The sample of the desired pixel. |
line | The line of the desired pixel. |
band | The band of the desired pixel. |
Reimplemented from Isis::CameraDetectorMap.
Referenced by SetExposureDuration().
int Isis::PushFrameCameraDetectorMap::Framelet | ( | ) |
This method returns the current framelet.
This framelet is calculated when SetParent is called.
int Isis::PushFrameCameraDetectorMap::frameletHeight | ( | ) | const |
This returns how many lines are considered a single framelet.
Referenced by PushFrameCameraDetectorMap().
double Isis::PushFrameCameraDetectorMap::frameletLine | ( | ) | const |
This returns the calculated framelet line.
int Isis::PushFrameCameraDetectorMap::FrameletOffset | ( | ) | const |
Return the frame offset.
double Isis::PushFrameCameraDetectorMap::FrameletRate | ( | ) | const |
Return the time in seconds between framelets.
double Isis::PushFrameCameraDetectorMap::frameletSample | ( | ) | const |
This returns the calculated framelet sample.
int Isis::PushFrameCameraDetectorMap::GetBandFirstDetectorLine | ( | ) |
Return the starting line in the detector for the current band.
|
virtualinherited |
Return the line collection rate (0 for framing cameras)
Reimplemented in Isis::RadarPulseMap, Isis::LineScanCameraDetectorMap, and Isis::ApolloPanoramicDetectorMap.
|
virtualinherited |
Return scaling factor for computing line resolution.
References Isis::CameraDetectorMap::p_detectorLineSumming.
Referenced by Isis::Camera::LineResolution(), Isis::Camera::ObliqueLineResolution(), Isis::ThemisIrCamera::SetBand(), SetDetector(), SetParent(), and TotalFramelets().
|
inherited |
Return parent line.
References Isis::CameraDetectorMap::p_parentLine.
Referenced by Isis::Camera::SetRightAscensionDeclination().
|
inherited |
Return parent sample.
References Isis::CameraDetectorMap::p_parentSample.
Referenced by Isis::Camera::SetRightAscensionDeclination().
|
virtualinherited |
Return scaling factor for computing sample resolution.
References Isis::CameraDetectorMap::p_detectorSampleSumming.
Referenced by Isis::Camera::ObliqueSampleResolution(), and Isis::Camera::SampleResolution().
void Isis::PushFrameCameraDetectorMap::SetBandFirstDetectorLine | ( | int | firstLine | ) |
Change the starting line in the detector based on band.
Use this method to change which line is read out of the CCD for any given band. That is, as the virtual SetBand method for the specfic camera is invoked this method should be called.
firstLine | 0-based offset to the first line (first line of detector = 0) |
Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), Isis::LroWideAngleCamera::SetBand(), and Isis::MarciCamera::SetBand().
|
virtual |
Compute parent position from a detector coordinate.
This method will compute a parent sample given a detector coordinate. The parent line and framelet line will be computed.
sample | Sample number in the detector |
line | Line number in the detector |
Reimplemented from Isis::CameraDetectorMap.
References Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::p_detectorLine, Isis::CameraDetectorMap::p_detectorSample, Isis::CameraDetectorMap::p_parentLine, and Isis::CameraDetectorMap::SetDetector().
|
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 |
References 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 |
References 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::PushFrameCameraDetectorMap::SetExposureDuration | ( | double | exposureDuration | ) |
Change the exposure duration in seconds.
Use this method to change the exposure duration of each framelet which may be different than the framelet rate.
exposureDuration | The time from the start of a framelet's exposure to the end of the framlet's exposure duration. |
References exposureDuration().
void Isis::PushFrameCameraDetectorMap::SetFramelet | ( | int | framelet, |
const double | deltaT = 0 |
||
) |
This method changes the current framelet.
The camera's ephemeris time will be updated to the center of the framelet.
framelet | Current Framelet |
deltaT | offset from center time in seconds |
References Isis::CameraDetectorMap::p_camera, and Isis::Sensor::setTime().
Referenced by Isis::PushFrameCameraGroundMap::SetGround(), and SetParent().
void Isis::PushFrameCameraDetectorMap::SetFrameletOffset | ( | int | frameletOffset | ) |
Reset the frame offset.
Use this method to reset the frame offset. Usually this will not need to be done unless the offset changes between bands.
frameletOffset | Number of frames offset in cube |
Referenced by Isis::LroWideAngleCamera::SetBand(), and Isis::MarciCamera::SetBand().
void Isis::PushFrameCameraDetectorMap::SetFrameletOrderReversed | ( | bool | frameletOrderReversed, |
int | nframelets | ||
) |
Changes the direction of the framelets.
Use this method to change which direction the framelets are ordered. In some cases, the top framelet from the raw instrument data has been moved to the bottom of the image and this compensates for that.
If not set, the default is to not flip the framelet order
frameletOrderReversed | Indicates whether the order of the framelets is should be flipped |
nframelets | Number of framelets in each band, ignored if frameletsReversed is set to false |
Referenced by Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), and Isis::ThemisVisCamera::ThemisVisCamera().
void Isis::PushFrameCameraDetectorMap::SetFrameletRate | ( | const double | frameletRate | ) |
Reset the frame rate.
Use this method to reset the time between framelets. Usually this will not need to be done unless the rate changes between bands.
frameletRate | the time from the start of a framelet to the start of the next framlet. |
void Isis::PushFrameCameraDetectorMap::SetFrameletsGeometricallyFlipped | ( | bool | frameletsFlipped | ) |
Mirrors the each framelet in the file.
Use this method to change which direction the framelets are geometrically placed. If the first line in the framelet has been changed to the last line in the framelet, then this should be true (DEFAULT).
If not set, the default is true.
frameletsFlipped | Indicates whether each framelet is flipped over a horizontal axis |
Referenced by Isis::LroWideAngleCamera::LroWideAngleCamera(), and Isis::MarciCamera::MarciCamera().
|
virtual |
Compute detector position from a parent image coordinate.
This method will compute the detector position and framelet 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.
|
virtual |
Compute detector position from a parent image coordinate.
This method will compute the detector position and framelet 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 |
deltaT | offset from center time in seconds |
Reimplemented from Isis::CameraDetectorMap.
References Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::p_detectorLine, Isis::CameraDetectorMap::p_parentLine, Isis::CameraDetectorMap::p_parentSample, SetFramelet(), and Isis::CameraDetectorMap::SetParent().
|
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 |
References 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 |
References 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::PushFrameCameraDetectorMap::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 |
Referenced by Isis::ThemisVisCamera::SetBand().
double Isis::PushFrameCameraDetectorMap::StartEphemerisTime | ( | ) | const |
This returns the starting ET of this band.
bool Isis::PushFrameCameraDetectorMap::timeAscendingFramelets | ( | ) |
Returns if the framelets are reversed from top-to-bottom.
Referenced by Isis::PushFrameCameraGroundMap::SetGround().
int Isis::PushFrameCameraDetectorMap::TotalFramelets | ( | ) | const |
Return the total number of framelets including padding.
References Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::p_camera, and Isis::Camera::ParentLines().
Referenced by Isis::PushFrameCameraGroundMap::SetGround().
|
protectedinherited |
Pointer to the camera.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), SetFramelet(), Isis::RadarPulseMap::SetParent(), Isis::CameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), Isis::VariableLineScanCameraDetectorMap::SetParent(), and TotalFramelets().
|
protectedinherited |
Detector coordinate line value.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::DetectorLine(), Isis::CameraDetectorMap::SetDetector(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetParent(), Isis::CameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), and Isis::VariableLineScanCameraDetectorMap::SetParent().
|
protectedinherited |
The scaling factor for computing line resolution.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetDetectorLineSumming(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Detector coordinate sample value.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::DetectorSample(), Isis::CameraDetectorMap::SetDetector(), SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
The scaling factor for computing sample resolution.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::CameraDetectorMap(), Isis::CameraDetectorMap::SampleScaleFactor(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetDetectorSampleSumming(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
The parent line calculated from the detector.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::ParentLine(), Isis::CameraDetectorMap::SetDetector(), Isis::LineScanCameraDetectorMap::SetDetector(), SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
The parent sample calculated from the detector.
Referenced by Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::ParentSample(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Start line.
Referenced by Isis::CameraDetectorMap::AdjustedStartingLine(), Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Start sample.
Referenced by Isis::CameraDetectorMap::AdjustedStartingSample(), Isis::RollingShutterCameraDetectorMap::applyJitter(), Isis::CameraDetectorMap::SetDetector(), Isis::RollingShutterCameraDetectorMap::SetDetector(), Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
protectedinherited |
Detector start coordinate line value.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), and Isis::CameraDetectorMap::SetStartingDetectorLine().
|
protectedinherited |
Detector start coordinate sample value.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap(), and Isis::CameraDetectorMap::SetStartingDetectorSample().