USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::RadarSlantRangeMap Class Reference

#include <RadarSlantRangeMap.h>

Inheritance diagram for Isis::RadarSlantRangeMap:

Inheritance graph
[legend]
Collaboration diagram for Isis::RadarSlantRangeMap:

Collaboration graph
[legend]
List of all members.

Detailed Description

Convert between radar ground range and slant range.

Creates a map for converting radar ground range distance and slant range distance

See also:
Camera

For internal use only.

Author:
2008-06-16 Jeff Anderson Original version
History:
2009-07-01 Janet Barrett - Changed the bracketing method used to solve for the root of the function that determines ground range given slant range; fixed code that determines the range coefficients to used based on current ephemeris time

Definition at line 52 of file RadarSlantRangeMap.h.

Public Member Functions

 RadarSlantRangeMap (Camera *parent, double groundRangeResolution)
 Radar ground to slant range map constructor.
virtual ~RadarSlantRangeMap ()
 Destructor.
virtual bool SetFocalPlane (const double dx, const double dy)
 Set the ground range and compute a slant range.
virtual bool SetUndistortedFocalPlane (const double ux, const double uy)
 Set the slant range and compute a ground range.
void SetCoefficients (PvlKeyword &keyword)
 Load the ground range/slant range coefficients from the RangeCoefficientSet keyword.
void SetWeightFactors (double range_sigma, double doppler_sigma)
 Set the weight factors for slant range and Doppler shift.
void SetDistortion (const int naifIkCode)
 Load distortion coefficients.
double FocalPlaneX () const
 Return distorted focal plane x.
double FocalPlaneY () const
 Return distorted focal plane y.
double UndistortedFocalPlaneX () const
 Return undistorted focal plane x.
double UndistortedFocalPlaneY () const
 Return undistorted focal plane y.
double UndistortedFocalPlaneZ () const
 Return undistorted focal plane z.

Protected Attributes

double p_focalPlaneX
double p_focalPlaneY
double p_undistortedFocalPlaneX
double p_undistortedFocalPlaneY
double p_zDirection
std::vector< double > p_odk

Private Member Functions

void ComputeA ()
 Set new A-coefficients based on the current ephemeris time.

Private Attributes

double p_et
double p_a [4]
std::vector< double > p_time
std::vector< double > p_a0
std::vector< double > p_a1
std::vector< double > p_a2
std::vector< double > p_a3
int p_maxIterations
double p_tolerance
double p_initialMinGroundRangeGuess
double p_initialMaxGroundRangeGuess
double p_rangeSigma
double p_dopplerSigma
Camerap_camera


Constructor & Destructor Documentation

Isis::RadarSlantRangeMap::RadarSlantRangeMap ( Camera parent,
double  groundRangeResolution 
)

Radar ground to slant range map constructor.

Create a map from ground range distance to slant range distance on a radar instrument

Parameters:
parent the parent camera that will use this distortion map

Definition at line 36 of file RadarSlantRangeMap.cpp.

References p_a, p_camera, p_et, p_initialMaxGroundRangeGuess, p_initialMinGroundRangeGuess, p_maxIterations, p_tolerance, and Isis::Camera::Samples().

virtual Isis::RadarSlantRangeMap::~RadarSlantRangeMap (  )  [inline, virtual]

Destructor.

Definition at line 57 of file RadarSlantRangeMap.h.


Member Function Documentation

void Isis::RadarSlantRangeMap::ComputeA (  )  [private]

Set new A-coefficients based on the current ephemeris time.

The A-coefficients used will be those with the closest ephemeris time to the current ephemeris time.

Definition at line 213 of file RadarSlantRangeMap.cpp.

References Isis::Spice::EphemerisTime(), p_a, p_a0, p_a1, p_a2, p_a3, p_camera, p_time, and pos.

Referenced by SetFocalPlane(), and SetUndistortedFocalPlane().

double Isis::CameraDistortionMap::FocalPlaneX (  )  const [inline, inherited]

Return distorted focal plane x.

Definition at line 62 of file CameraDistortionMap.h.

References Isis::CameraDistortionMap::p_focalPlaneX.

Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().

double Isis::CameraDistortionMap::FocalPlaneY (  )  const [inline, inherited]

Return distorted focal plane y.

Definition at line 65 of file CameraDistortionMap.h.

References Isis::CameraDistortionMap::p_focalPlaneY.

Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().

void Isis::RadarSlantRangeMap::SetCoefficients ( PvlKeyword keyword  ) 

Load the ground range/slant range coefficients from the RangeCoefficientSet keyword.

Definition at line 191 of file RadarSlantRangeMap.cpp.

References p_a0, p_a1, p_a2, p_a3, p_time, Isis::PvlSequence::Size(), and ToDouble().

Referenced by Isis::Lro::MiniRF::MiniRF().

void Isis::CameraDistortionMap::SetDistortion ( const int  naifIkCode  )  [inherited]

Load distortion coefficients.

This method loads the distortion coefficients from the instrument kernel. The coefficients in the NAIF instrument kernel are expected to be in the form of:

 INSxxxxx_OD_K = ( coef1, coef2, ..., coefN)

 where xxxxx is the instrument code (always a negative number)

These coefficient will be used to convert from focal plane x,y to undistorted x,y as follows (add equation here)

Parameters:
naifIkCode Code to search for in instrument kernel
Todo:
Generalize to read variable number of coefficients

Add latex equation to the documentation

Reimplemented in Isis::Lo::LoHighDistortionMap, Isis::Lo::LoMediumDistortionMap, Isis::Lro::LroNarrowAngleDistortionMap, and Isis::TaylorCameraDistortionMap.

Definition at line 64 of file CameraDistortionMap.cpp.

References Isis::CameraDistortionMap::p_camera, and Isis::CameraDistortionMap::p_odk.

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Lo::LoMediumDistortionMap::SetDistortion(), and Isis::Lo::LoHighDistortionMap::SetDistortion().

bool Isis::RadarSlantRangeMap::SetFocalPlane ( const double  dx,
const double  dy 
) [virtual]

Set the ground range and compute a slant range.

Reimplemented from Isis::CameraDistortionMap.

Definition at line 62 of file RadarSlantRangeMap.cpp.

References ComputeA(), Isis::Spice::EphemerisTime(), p_a, p_camera, p_et, Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, p_rangeSigma, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, Isis::CameraDistortionMap::p_undistortedFocalPlaneY, and Isis::Camera::SetFocalLength().

bool Isis::RadarSlantRangeMap::SetUndistortedFocalPlane ( const double  ux,
const double  uy 
) [virtual]

Set the slant range and compute a ground range.

Reimplemented from Isis::CameraDistortionMap.

Definition at line 79 of file RadarSlantRangeMap.cpp.

References ComputeA(), d, e, Isis::Spice::EphemerisTime(), p_a, p_camera, p_dopplerSigma, p_et, Isis::CameraDistortionMap::p_focalPlaneX, Isis::CameraDistortionMap::p_focalPlaneY, p_initialMaxGroundRangeGuess, p_initialMinGroundRangeGuess, p_maxIterations, p_rangeSigma, p_tolerance, Isis::CameraDistortionMap::p_undistortedFocalPlaneX, and Isis::CameraDistortionMap::p_undistortedFocalPlaneY.

void Isis::RadarSlantRangeMap::SetWeightFactors ( double  range_sigma,
double  doppler_sigma 
)

Set the weight factors for slant range and Doppler shift.

Definition at line 243 of file RadarSlantRangeMap.cpp.

References p_dopplerSigma, and p_rangeSigma.

Referenced by Isis::Lro::MiniRF::MiniRF().

double Isis::CameraDistortionMap::UndistortedFocalPlaneX (  )  const [inline, inherited]

Return undistorted focal plane x.

Definition at line 68 of file CameraDistortionMap.h.

References Isis::CameraDistortionMap::p_undistortedFocalPlaneX.

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

double Isis::CameraDistortionMap::UndistortedFocalPlaneY (  )  const [inline, inherited]

Return undistorted focal plane y.

Definition at line 71 of file CameraDistortionMap.h.

References Isis::CameraDistortionMap::p_undistortedFocalPlaneY.

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

double Isis::CameraDistortionMap::UndistortedFocalPlaneZ (  )  const [inline, inherited]

Return undistorted focal plane z.

Definition at line 74 of file CameraDistortionMap.h.

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


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