USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::PushFrameCameraDetectorMap Class Reference

Convert between parent image coordinates and detector coordinates. More...

#include <PushFrameCameraDetectorMap.h>

Inherits Isis::CameraDetectorMap.

List of all members.

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

Camerap_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

Detailed Description

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.

See also:
Camera
Author:
2007-10-15 Steven Lambright

Constructor & Destructor Documentation

Isis::PushFrameCameraDetectorMap::PushFrameCameraDetectorMap ( Camera parent,
const double  etStart,
const double  frameletRate,
int  frameletHeight 
) [inline]

Construct a detector map for push frame cameras.

Parameters:
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.


Member Function Documentation

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.

Returns:
int The current framelet
int Isis::PushFrameCameraDetectorMap::frameletHeight (  )  const [inline]

This returns how many lines are considered a single framelet.

Returns:
int Number of lines in a framelet
double Isis::PushFrameCameraDetectorMap::frameletLine (  )  const [inline]

This returns the calculated framelet line.

Returns:
double Current 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.

Returns:
double Current 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]
double Isis::CameraDetectorMap::ParentSample (  )  const [inline, inherited]
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.

Parameters:
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.

Parameters:
sample Sample number in the detector
line Line number in the detector
Returns:
conversion successful

Reimplemented from Isis::CameraDetectorMap.

void Isis::CameraDetectorMap::SetDetectorLineSumming ( const double  summing  )  [inline, inherited]
void Isis::CameraDetectorMap::SetDetectorSampleSumming ( const double  summing  )  [inline, inherited]
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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).

Parameters:
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.

Parameters:
sample Sample number in the parent image
line Line number in the parent image
Returns:
conversion successful

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Returns:
double Starting time (often band-dependant)
bool Isis::PushFrameCameraDetectorMap::timeAscendingFramelets (  )  [inline]
int Isis::PushFrameCameraDetectorMap::TotalFramelets (  )  const [inline]

Return the total number of framelets including padding.

Returns:
int

References Isis::CameraDetectorMap::LineScaleFactor(), Isis::CameraDetectorMap::p_camera, and Isis::Camera::ParentLines().


Member Data Documentation

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]
double Isis::CameraDetectorMap::p_detectorSampleSumming [protected, inherited]
double Isis::CameraDetectorMap::p_parentLine [protected, inherited]
double Isis::CameraDetectorMap::p_parentSample [protected, inherited]
double Isis::CameraDetectorMap::p_sl [protected, inherited]
double Isis::CameraDetectorMap::p_ss [protected, inherited]
double Isis::CameraDetectorMap::p_startingDetectorLine [protected, inherited]

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