Isis 3.0 Object Programmers' Reference |
Home |
Convert between radar ground range and slant range. More...
#include <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 (int naifIkCode) |
Load distortion coefficients. | |
std::vector< double > | OpticalDistortionCoefficients () const |
Return optical distortion polynomial coefficients. | |
double | ZDirection () const |
Return the direction of the focal plane Z-axis. | |
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 |
Camera * | p_camera |
Convert between radar ground range and slant range.
Creates a map for converting radar ground range distance and slant range distance
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
2010-03-19 Debbie A. Cook - Added comments about the units and corrected slant in SetUndistortedFocalPlane to be in meters instead of km
2011-09-14 Randy Kirk - Fixed the ComputeA method so that it is handling the range coefficients properly. A linear fit is used to obtain the range coefficients if the current time falls between 2 points with known range coefficients.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
Definition at line 60 of file RadarSlantRangeMap.h.
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
parent | the parent camera that will use this distortion map |
Definition at line 38 of file RadarSlantRangeMap.cpp.
References Isis::Camera::Samples().
|
inlinevirtual |
Destructor.
Definition at line 65 of file RadarSlantRangeMap.h.
|
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 221 of file RadarSlantRangeMap.cpp.
References Isis::iTime::Et(), and Isis::Spice::time().
Referenced by SetFocalPlane(), and SetUndistortedFocalPlane().
|
inlineinherited |
Return distorted focal plane x.
Definition at line 72 of file CameraDistortionMap.h.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
|
inlineinherited |
Return distorted focal plane y.
Definition at line 77 of file CameraDistortionMap.h.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LineScanCameraSkyMap::SetSky().
|
inherited |
Return optical distortion polynomial coefficients.
Definition at line 195 of file CameraDistortionMap.cpp.
void Isis::RadarSlantRangeMap::SetCoefficients | ( | PvlKeyword & | keyword | ) |
Load the ground range/slant range coefficients from the RangeCoefficientSet keyword.
Definition at line 199 of file RadarSlantRangeMap.cpp.
References Isis::PvlSequence::Size(), and Isis::toDouble().
Referenced by Isis::MiniRF::MiniRF().
|
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:
These coefficient will be used to convert from focal plane x,y to undistorted x,y as follows (add equation here)
naifIkCode | Code to search for in instrument kernel |
Generalize to read variable number of coefficients
Add latex equation to the documentation
Definition at line 65 of file CameraDistortionMap.cpp.
References Isis::toString().
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::CTXCamera::CTXCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::LroWideAngleCameraDistortionMap::LroWideAngleCameraDistortionMap(), Isis::LoHighDistortionMap::SetDistortion(), and Isis::LoMediumDistortionMap::SetDistortion().
|
virtual |
Set the ground range and compute a slant range.
Reimplemented from Isis::CameraDistortionMap.
Definition at line 64 of file RadarSlantRangeMap.cpp.
References ComputeA(), Isis::iTime::Et(), Isis::Camera::SetFocalLength(), and Isis::Spice::time().
|
virtual |
Set the slant range and compute a ground range.
Reimplemented from Isis::CameraDistortionMap.
Definition at line 81 of file RadarSlantRangeMap.cpp.
References ComputeA(), Isis::iTime::Et(), and Isis::Spice::time().
void Isis::RadarSlantRangeMap::SetWeightFactors | ( | double | range_sigma, |
double | doppler_sigma | ||
) |
Set the weight factors for slant range and Doppler shift.
Definition at line 252 of file RadarSlantRangeMap.cpp.
Referenced by Isis::MiniRF::MiniRF().
|
inlineinherited |
Return undistorted focal plane x.
Definition at line 82 of file CameraDistortionMap.h.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
|
inlineinherited |
Return undistorted focal plane y.
Definition at line 87 of file CameraDistortionMap.h.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::ControlPoint::ComputeApriori(), and Isis::Camera::SetImage().
|
inlineinherited |
Return undistorted focal plane z.
Definition at line 92 of file CameraDistortionMap.h.
References Isis::Camera::FocalLength().
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), and Isis::Camera::SetImage().
|
inherited |
Return the direction of the focal plane Z-axis.
Definition at line 201 of file CameraDistortionMap.cpp.