Isis 3 Programmer Reference
Isis::RadarPulseMap Class Reference

Convert between alpha image coordinates and radar sample, time coordinates. More...

#include <RadarPulseMap.h>

Inheritance diagram for Isis::RadarPulseMap:
Inheritance graph
Collaboration diagram for Isis::RadarPulseMap:
Collaboration graph

Public Member Functions

 RadarPulseMap (Camera *parent, const double etStart, const double lineRate)
 Construct a detector map for line scan cameras.
 
virtual ~RadarPulseMap ()
 Destructor.
 
void SetStartTime (const double etStart)
 Reset the starting ephemeris time.
 
void SetLineRate (const double lineRate)
 Reset the line rate.
 
double LineRate () const
 Return the time in seconds between scan lines.
 
virtual bool SetParent (const double sample, const double line)
 Compute radar (sample/time)from a alpha image coordinate.
 
virtual bool SetDetector (const double sample, const double line)
 Compute alpha position from a detector coordinate.
 
void SetXAxisTimeDependent (bool on)
 Set the time dependent axis, if never called y is the time dependent axis.
 
virtual bool SetParent (const double sample, const double line, const double deltaT)
 Compute detector position from a parent image coordinate.
 
double AdjustedStartingSample () const
 Return the starting detector sample adjusted for summation.
 
double AdjustedStartingLine () const
 Return the starting detector line adjusted for summation.
 
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 exposureDuration (const double sample, const double line, const int band) const
 This virtual method is for returning the exposure duration of a given pixel.
 

Protected Attributes

Camerap_camera
 Pointer to the camera.
 
double p_parentSample
 The parent sample calculated from the detector.
 
double p_parentLine
 The parent line calculated from the detector.
 
double p_detectorLine
 Detector coordinate line value.
 
double p_detectorSample
 Detector coordinate sample value.
 
double p_detectorSampleSumming
 The scaling factor for computing sample resolution.
 
double p_detectorLineSumming
 The scaling factor for computing line resolution.
 
double p_startingDetectorSample
 Detector start coordinate sample value.
 
double p_startingDetectorLine
 Detector start coordinate line value.
 
double p_ss
 Start sample.
 
double p_sl
 Start line.
 

Private Member Functions

void Compute ()
 Compute new offsets whenenver summing or starting sample/lines change.
 

Private Attributes

bool p_xAxisTimeDependent
 
bool p_yAxisTimeDependent
 
double p_etStart
 Starting time at the top of the 1st alpha line.
 
double p_lineRate
 iTime between lines in parent cube
 

Detailed Description

Convert between alpha image coordinates and radar sample, time coordinates.

This class is used to convert between alpha coordinates (sample/line) and radar pulse coordinates (sample,time) for a radar instrument.

See also
Camera
Author
2008-06-16 Jeff Anderson
History

2009-07-01 Janet Barrett - Corrected the calculations used to convert from line to time and back

2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.

Definition at line 35 of file RadarPulseMap.h.

Constructor & Destructor Documentation

◆ RadarPulseMap()

Isis::RadarPulseMap::RadarPulseMap ( Camera * parent,
const double etStart,
const double lineRate )
inline

Construct a detector map for line scan cameras.

Parameters
parentThe parent camera model for the detector map
etStartstarting ephemeris time in seconds at the top of the first line
lineRatethe time in seconds between lines

Definition at line 45 of file RadarPulseMap.h.

References p_etStart, and p_lineRate.

◆ ~RadarPulseMap()

virtual Isis::RadarPulseMap::~RadarPulseMap ( )
inlinevirtual

Destructor.

Definition at line 54 of file RadarPulseMap.h.

Member Function Documentation

◆ AdjustedStartingLine()

double Isis::CameraDetectorMap::AdjustedStartingLine ( ) const
inherited

Return the starting detector line adjusted for summation.

Returns
(double) The starting line

Definition at line 123 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_sl.

◆ AdjustedStartingSample()

double Isis::CameraDetectorMap::AdjustedStartingSample ( ) const
inherited

Return the starting detector sample adjusted for summation.

Returns
(double) The starting sample

Definition at line 113 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_ss.

◆ Compute()

◆ DetectorLine()

double Isis::CameraDetectorMap::DetectorLine ( ) const
inherited

Return detector line.

Returns
(double) The detector line

Definition at line 163 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorLine.

Referenced by Isis::Camera::SetImage(), and Isis::Camera::SetImage().

◆ DetectorSample()

double Isis::CameraDetectorMap::DetectorSample ( ) const
inherited

Return detector sample.

Returns
(double) The detector sample

Definition at line 153 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorSample.

Referenced by Isis::Camera::SetImage(), and Isis::Camera::SetImage().

◆ exposureDuration()

double Isis::CameraDetectorMap::exposureDuration ( const double sample,
const double line,
const int band ) const
virtualinherited

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.

Parameters
sampleThe sample of the desired pixel.
lineThe line of the desired pixel.
bandThe band of the desired pixel.
Returns
double The exposure duration for the desired pixel in seconds.
Exceptions
IException::Programmer"Exposure duration is only available for LineScan, VariableLineScan, and PushFrame Cameras."

Reimplemented in Isis::LineScanCameraDetectorMap, Isis::PushFrameCameraDetectorMap, Isis::VariableLineScanCameraDetectorMap, and Isis::NirsDetectorMap.

Definition at line 212 of file CameraDetectorMap.cpp.

References Isis::IException::Programmer.

Referenced by Isis::Camera::exposureDuration(), and Isis::Camera::exposureDuration().

◆ LineRate()

double Isis::RadarPulseMap::LineRate ( ) const
inlinevirtual

Return the time in seconds between scan lines.

Reimplemented from Isis::CameraDetectorMap.

Definition at line 83 of file RadarPulseMap.h.

References p_lineRate.

◆ LineScaleFactor()

double Isis::CameraDetectorMap::LineScaleFactor ( ) const
virtualinherited

◆ ParentLine()

double Isis::CameraDetectorMap::ParentLine ( ) const
inherited

Return parent line.

Returns
(double) The parent line

Definition at line 143 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_parentLine.

Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().

◆ ParentSample()

double Isis::CameraDetectorMap::ParentSample ( ) const
inherited

Return parent sample.

Returns
(double) The parent sample

Definition at line 133 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_parentSample.

Referenced by Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().

◆ SampleScaleFactor()

double Isis::CameraDetectorMap::SampleScaleFactor ( ) const
virtualinherited

Return scaling factor for computing sample resolution.

Returns
(double) The scaling factor for sample resolution

Definition at line 173 of file CameraDetectorMap.cpp.

References Isis::CameraDetectorMap::p_detectorSampleSumming.

Referenced by Isis::Camera::ObliqueSampleResolution(), and Isis::Camera::SampleResolution().

◆ SetDetector()

bool Isis::RadarPulseMap::SetDetector ( const double sample,
const double line )
virtual

Compute alpha position from a detector coordinate.

This method will compute a alpha sample given a detector coordinate. The alpha line will be computed using the the time in the parent camera

Parameters
sampleSample number in the detector
lineLine number in the detector (ignored)
Returns
conversion successful

Reimplemented from Isis::CameraDetectorMap.

Definition at line 24 of file RadarPulseMap.cpp.

References Isis::CameraDetectorMap::p_camera, p_etStart, p_lineRate, Isis::CameraDetectorMap::p_parentLine, Isis::CameraDetectorMap::SetDetector(), and Isis::Spice::time().

◆ SetDetectorLineSumming()

void Isis::CameraDetectorMap::SetDetectorLineSumming ( const double summing)
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.

Parameters
summingLine summing mode

Definition at line 123 of file CameraDetectorMap.h.

References Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::p_detectorLineSumming.

Referenced by Isis::CrismCamera::CrismCamera().

◆ SetDetectorSampleSumming()

void Isis::CameraDetectorMap::SetDetectorSampleSumming ( const double summing)
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.

Parameters
summingSample 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::CrismCamera::CrismCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HrscCamera::HrscCamera(), and Isis::RosettaVirtisCamera::RosettaVirtisCamera().

◆ SetLineRate()

void Isis::RadarPulseMap::SetLineRate ( const double lineRate)
inline

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.

Parameters
lineRatethe time in seconds between lines

Definition at line 78 of file RadarPulseMap.h.

References p_lineRate.

◆ SetParent() [1/2]

bool Isis::RadarPulseMap::SetParent ( const double sample,
const double line )
virtual

Compute radar (sample/time)from a alpha image coordinate.

This method will compute the radar position from the alpha line/sample coordinate. The alpha line will be used to set the appropriate time in the parent camera.

Parameters
sampleSample number in the alpha image
lineLine number in the alpha image
Returns
conversion successful

Reimplemented from Isis::CameraDetectorMap.

Definition at line 43 of file RadarPulseMap.cpp.

References Isis::CameraDetectorMap::p_camera, Isis::CameraDetectorMap::p_detectorLine, p_etStart, p_lineRate, Isis::CameraDetectorMap::SetParent(), and Isis::Sensor::setTime().

◆ SetParent() [2/2]

bool Isis::CameraDetectorMap::SetParent ( const double sample,
const double line,
const double deltaT )
virtualinherited

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.

Parameters
sampleSample number in the parent image
lineLine number in the parent image
deltaToption time offset from center of exposure in seconds
Returns
conversion successful

Reimplemented in Isis::LineScanCameraDetectorMap, Isis::PushFrameCameraDetectorMap, Isis::RollingShutterCameraDetectorMap, and Isis::VariableLineScanCameraDetectorMap.

Definition at line 82 of file CameraDetectorMap.cpp.

References Isis::Spice::isTimeSet(), Isis::CameraDetectorMap::p_camera, Isis::CameraDetectorMap::p_detectorLine, Isis::CameraDetectorMap::p_detectorLineSumming, Isis::CameraDetectorMap::p_detectorSample, Isis::CameraDetectorMap::p_detectorSampleSumming, Isis::CameraDetectorMap::p_parentLine, Isis::CameraDetectorMap::p_parentSample, Isis::CameraDetectorMap::p_sl, Isis::CameraDetectorMap::p_ss, Isis::Sensor::setTime(), and Isis::Spice::time().

◆ SetStartingDetectorLine()

void Isis::CameraDetectorMap::SetStartingDetectorLine ( const double line)
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.

Parameters
lineStarting detector line

Definition at line 93 of file CameraDetectorMap.h.

References Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::p_startingDetectorLine.

◆ SetStartingDetectorSample()

void Isis::CameraDetectorMap::SetStartingDetectorSample ( const double sample)
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.

Parameters
sampleStarting detector sample

Definition at line 79 of file CameraDetectorMap.h.

References Isis::CameraDetectorMap::Compute(), and Isis::CameraDetectorMap::p_startingDetectorSample.

Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera().

◆ SetStartTime()

void Isis::RadarPulseMap::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 alpha 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
etStartstarting ephemeris time in seconds

Definition at line 66 of file RadarPulseMap.h.

References p_etStart.

◆ SetXAxisTimeDependent()

void Isis::RadarPulseMap::SetXAxisTimeDependent ( bool on)
inline

Set the time dependent axis, if never called y is the time dependent axis.

Definition at line 95 of file RadarPulseMap.h.

Member Data Documentation

◆ p_camera

◆ p_detectorLine

◆ p_detectorLineSumming

◆ p_detectorSample

◆ p_detectorSampleSumming

◆ p_etStart

double Isis::RadarPulseMap::p_etStart
private

Starting time at the top of the 1st alpha line.

Definition at line 103 of file RadarPulseMap.h.

Referenced by RadarPulseMap(), SetDetector(), SetParent(), and SetStartTime().

◆ p_lineRate

double Isis::RadarPulseMap::p_lineRate
private

iTime between lines in parent cube

Definition at line 104 of file RadarPulseMap.h.

Referenced by LineRate(), RadarPulseMap(), SetDetector(), SetLineRate(), and SetParent().

◆ p_parentLine

◆ p_parentSample

◆ p_sl

◆ p_ss

◆ p_startingDetectorLine

double Isis::CameraDetectorMap::p_startingDetectorLine
protectedinherited

◆ p_startingDetectorSample

double Isis::CameraDetectorMap::p_startingDetectorSample
protectedinherited

◆ p_xAxisTimeDependent

bool Isis::RadarPulseMap::p_xAxisTimeDependent
private

Definition at line 101 of file RadarPulseMap.h.

◆ p_yAxisTimeDependent

bool Isis::RadarPulseMap::p_yAxisTimeDependent
private

Definition at line 102 of file RadarPulseMap.h.


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