Isis 3.0 Developer's Reference (API) |
Home |
Convert between parent image coordinates and detector coordinates. More...
#include <PushFrameCameraDetectorMap.h>
Inherits Isis::CameraDetectorMap.
Public Member Functions | |
PushFrameCameraDetectorMap (Camera *parent, const double etStart, const double frameletRate, int frameletHeight) | |
Construct a detector map for push frame cameras. | |
virtual | ~PushFrameCameraDetectorMap () |
Destructor. | |
void | SetStartTime (const double etStart) |
Reset the starting ephemeris time. | |
void | SetExposureDuration (double exposureDuration) |
Change the exposure duration in seconds. | |
void | SetFrameletRate (const double frameletRate) |
Reset the frame rate. | |
double | FrameletRate () const |
Return the time in seconds between framelets. | |
void | SetFrameletOffset (int frameletOffset) |
Reset the frame offset. | |
int | FrameletOffset () const |
Return the frame offset. | |
virtual bool | SetParent (const double sample, const double line) |
Compute detector position from a parent image coordinate. | |
virtual bool | SetDetector (const double sample, const double line) |
Compute parent position from a detector coordinate. | |
void | SetFramelet (int framelet) |
This method changes the current framelet. | |
int | Framelet () |
This method returns the current framelet. | |
void | SetBandFirstDetectorLine (int firstLine) |
Change the starting line in the detector based on band. | |
int | GetBandFirstDetectorLine () |
Return the starting line in the detector for the current band. | |
void | SetFlippedFramelets (bool frameletsFlipped, int nframelets) |
Changes the direction of the framelets. | |
void | SetGeometricallyFlippedFramelets (bool frameletsFlipped) |
Mirrors the each framelet in the file. | |
double | StartEphemerisTime () const |
This returns the starting ET of this band. | |
int | TotalFramelets () const |
Return the total number of framelets including padding. | |
double | frameletSample () const |
This returns the calculated framelet sample. | |
double | frameletLine () const |
This returns the calculated framelet line. | |
int | frameletHeight () const |
This returns how many lines are considered a single framelet. | |
bool | timeAscendingFramelets () |
double | ParentSample () const |
Return parent sample. | |
double | ParentLine () const |
Return parent line. | |
double | DetectorSample () const |
Return detector sample. | |
double | DetectorLine () const |
Return detector line. | |
void | SetStartingDetectorSample (const double sample) |
Set the starting detector sample. | |
void | SetStartingDetectorLine (const double line) |
Set the starting detector line. | |
void | SetDetectorSampleSumming (const double summing) |
Set sample summing mode. | |
void | SetDetectorLineSumming (const double summing) |
Set line summing mode. | |
virtual double | SampleScaleFactor () const |
Return scaling factor for computing sample resolution. | |
virtual double | LineScaleFactor () const |
Return scaling factor for computing line resolution. | |
virtual double | LineRate () const |
Return the line collection rate (0 for framing cameras). | |
Protected Attributes | |
Camera * | p_camera |
double | p_parentSample |
double | p_parentLine |
double | p_detectorLine |
double | p_detectorSample |
double | p_detectorSampleSumming |
double | p_detectorLineSumming |
double | p_startingDetectorSample |
double | p_startingDetectorLine |
double | p_ss |
double | p_sl |
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 | |||
) | [inline] |
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) |
virtual Isis::PushFrameCameraDetectorMap::~PushFrameCameraDetectorMap | ( | ) | [inline, virtual] |
Destructor.
double Isis::CameraDetectorMap::DetectorLine | ( | ) | const [inline, inherited] |
Return detector line.
References Isis::CameraDetectorMap::p_detectorLine.
Referenced by Isis::Camera::SetImage().
double Isis::CameraDetectorMap::DetectorSample | ( | ) | const [inline, inherited] |
Return detector sample.
References Isis::CameraDetectorMap::p_detectorSample.
Referenced by Isis::Camera::SetImage().
int Isis::PushFrameCameraDetectorMap::Framelet | ( | ) | [inline] |
This method returns the current framelet.
This framelet is calculated when SetParent is called.
int Isis::PushFrameCameraDetectorMap::frameletHeight | ( | ) | const [inline] |
This returns how many lines are considered a single framelet.
double Isis::PushFrameCameraDetectorMap::frameletLine | ( | ) | const [inline] |
This returns the calculated framelet line.
int Isis::PushFrameCameraDetectorMap::FrameletOffset | ( | ) | const [inline] |
Return the frame offset.
double Isis::PushFrameCameraDetectorMap::FrameletRate | ( | ) | const [inline] |
Return the time in seconds between framelets.
double Isis::PushFrameCameraDetectorMap::frameletSample | ( | ) | const [inline] |
This returns the calculated framelet sample.
int Isis::PushFrameCameraDetectorMap::GetBandFirstDetectorLine | ( | ) | [inline] |
Return the starting line in the detector for the current band.
virtual double Isis::CameraDetectorMap::LineRate | ( | ) | const [inline, virtual, inherited] |
Return the line collection rate (0 for framing cameras).
Reimplemented in Isis::LineScanCameraDetectorMap, and Isis::RadarPulseMap.
virtual double Isis::CameraDetectorMap::LineScaleFactor | ( | ) | const [inline, virtual, inherited] |
Return scaling factor for computing line resolution.
References Isis::CameraDetectorMap::p_detectorLineSumming.
Referenced by Isis::Camera::LineResolution(), Isis::ThemisIrCamera::SetBand(), and TotalFramelets().
double Isis::CameraDetectorMap::ParentLine | ( | ) | const [inline, inherited] |
Return parent line.
References Isis::CameraDetectorMap::p_parentLine.
Referenced by Isis::Camera::SetRightAscensionDeclination().
double Isis::CameraDetectorMap::ParentSample | ( | ) | const [inline, inherited] |
Return parent sample.
References Isis::CameraDetectorMap::p_parentSample.
Referenced by Isis::Camera::SetRightAscensionDeclination().
virtual double Isis::CameraDetectorMap::SampleScaleFactor | ( | ) | const [inline, virtual, inherited] |
Return scaling factor for computing sample resolution.
References Isis::CameraDetectorMap::p_detectorSampleSumming.
Referenced by Isis::Camera::SampleResolution().
void Isis::PushFrameCameraDetectorMap::SetBandFirstDetectorLine | ( | int | firstLine | ) | [inline] |
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::MarciCamera::SetBand(), and Isis::LroWideAngleCamera::SetBand().
bool Isis::PushFrameCameraDetectorMap::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 and framelet line will be computed.
sample | Sample number in the detector | |
line | Line number in the detector |
Reimplemented from Isis::CameraDetectorMap.
void Isis::CameraDetectorMap::SetDetectorLineSumming | ( | const double | summing | ) | [inline, inherited] |
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::DawnFcCamera::DawnFcCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), and Isis::ThemisVisCamera::ThemisVisCamera().
void Isis::CameraDetectorMap::SetDetectorSampleSumming | ( | const double | summing | ) | [inline, inherited] |
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::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), and Isis::ThemisVisCamera::ThemisVisCamera().
void Isis::PushFrameCameraDetectorMap::SetExposureDuration | ( | double | exposureDuration | ) | [inline] |
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 |
void Isis::PushFrameCameraDetectorMap::SetFlippedFramelets | ( | bool | frameletsFlipped, | |
int | nframelets | |||
) | [inline] |
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.
frameletsFlipped | False if framelets flipped | |
nframelets | Number of framelets in each band, ignored if frameletsFlipped is set to false |
Referenced by Isis::LroWideAngleCamera::LroWideAngleCamera(), and Isis::MarciCamera::MarciCamera().
void Isis::PushFrameCameraDetectorMap::SetFramelet | ( | int | framelet | ) |
This method changes the current framelet.
The camera's ephemeris time will be updated to the center of the framelet.
framelet | Current Framelet |
void Isis::PushFrameCameraDetectorMap::SetFrameletOffset | ( | int | frameletOffset | ) | [inline] |
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::MarciCamera::SetBand(), and Isis::LroWideAngleCamera::SetBand().
void Isis::PushFrameCameraDetectorMap::SetFrameletRate | ( | const double | frameletRate | ) | [inline] |
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 in seconds between framelets |
void Isis::PushFrameCameraDetectorMap::SetGeometricallyFlippedFramelets | ( | bool | frameletsFlipped | ) | [inline] |
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).
frameletsFlipped | True if geometric flip in the framelet |
Referenced by Isis::LroWideAngleCamera::LroWideAngleCamera(), and Isis::MarciCamera::MarciCamera().
bool Isis::PushFrameCameraDetectorMap::SetParent | ( | const double | sample, | |
const double | line | |||
) | [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.
void Isis::CameraDetectorMap::SetStartingDetectorLine | ( | const double | line | ) | [inline, inherited] |
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_startingDetectorSample.
Referenced by Isis::MdisCamera::MdisCamera().
void Isis::CameraDetectorMap::SetStartingDetectorSample | ( | const double | sample | ) | [inline, inherited] |
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::CTXCamera::CTXCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), and Isis::MocWideAngleCamera::MocWideAngleCamera().
void Isis::PushFrameCameraDetectorMap::SetStartTime | ( | const double | etStart | ) | [inline] |
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 [inline] |
This returns the starting ET of this band.
bool Isis::PushFrameCameraDetectorMap::timeAscendingFramelets | ( | ) | [inline] |
int Isis::PushFrameCameraDetectorMap::TotalFramelets | ( | ) | const [inline] |
Return the total number of framelets including padding.
References Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::p_camera, and Isis::Camera::ParentLines().
Camera* Isis::CameraDetectorMap::p_camera [protected, inherited] |
double Isis::CameraDetectorMap::p_detectorLine [protected, inherited] |
double Isis::CameraDetectorMap::p_detectorLineSumming [protected, inherited] |
double Isis::CameraDetectorMap::p_detectorSample [protected, inherited] |
Referenced by Isis::CameraDetectorMap::DetectorSample(), and Isis::MocWideAngleDetectorMap::SetParent().
double Isis::CameraDetectorMap::p_detectorSampleSumming [protected, inherited] |
double Isis::CameraDetectorMap::p_parentLine [protected, inherited] |
double Isis::CameraDetectorMap::p_parentSample [protected, inherited] |
Referenced by Isis::CameraDetectorMap::ParentSample(), and Isis::MocWideAngleDetectorMap::SetDetector().
double Isis::CameraDetectorMap::p_sl [protected, inherited] |
double Isis::CameraDetectorMap::p_ss [protected, inherited] |
double Isis::CameraDetectorMap::p_startingDetectorLine [protected, inherited] |
double Isis::CameraDetectorMap::p_startingDetectorSample [protected, inherited] |