USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::RadarGroundMap Class Reference

Convert between undistorted focal plane coordinate (slant range) and ground coordinates. More...

#include <RadarGroundMap.h>

Inherits Isis::CameraGroundMap.

List of all members.

Public Types

enum  PartialType { WRT_Latitude, WRT_Longitude, WRT_Radius }

Public Member Functions

 RadarGroundMap (Camera *parent, Radar::LookDirection ldir, double waveLength)
virtual ~RadarGroundMap ()
 Destructor.
virtual bool SetFocalPlane (const double ux, const double uy, const double uz)
 Compute ground position from slant range.
virtual bool SetGround (const Latitude &lat, const Longitude &lon)
 Compute undistorted focal plane coordinate from ground position.
virtual bool SetGround (const SurfacePoint &surfacePoint)
 Compute undistorted focal plane coordinate from ground position that includes a local radius.
virtual bool GetXY (const SurfacePoint &spoint, double *cudx, double *cudy)
 Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.
virtual bool GetdXYdPosition (const SpicePosition::PartialType varType, int coefIndex, double *cudx, double *cudy)
 Compute derivative w/r to position of focal plane coordinate from ground position using current Spice from SetImage call.
virtual bool GetdXYdPoint (std::vector< double > d_lookB, double *dx, double *dy)
 Compute derivative of focal plane coordinate w/r to ground point from ground position using current Spice from SetImage call.
void SetRangeSigma (double rangeSigma)
 Set the range sigma.
double RangeSigma ()
 Return the range sigma.
void SetDopplerSigma (double dopplerSigma)
 Set the doppler sigma.
double YScale ()
 Return the doppler sigma.
double WaveLength ()
 Return the wavelength.
virtual bool GetXY (const double lat, const double lon, const double radius, double *cudx, double *cudy)
 Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.
virtual bool GetdXYdOrientation (const SpiceRotation::PartialType varType, int coefIndex, double *cudx, double *cudy)
 Compute derivative of focal plane coordinate w/r to orientation from ground position using current Spice from SetImage call.
std::vector< double > PointPartial (SurfacePoint spoint, PartialType wrt)
 Compute derivative with respect to indicated variable of conversion function from lat/lon/rad to rectangular coord.
double DQuotient (std::vector< double > &look, std::vector< double > &dlook, int index)
 Convenience method for quotient rule applied to look vector.
double FocalPlaneX () const
 Return undistorted focal plane x.
double FocalPlaneY () const
 Return undistorted focal plane y.

Protected Attributes

double p_focalPlaneX
double p_focalPlaneY

Detailed Description

Convert between undistorted focal plane coordinate (slant range) and ground coordinates.

This class is used to convert between undistorted focal plane coordinate (the slant range) and ground coordinates lat/lon. This class handles the case of Radar instruments.

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

Member Enumeration Documentation

Enumerator:
WRT_Latitude 
WRT_Longitude 
WRT_Radius 

Constructor & Destructor Documentation

Isis::RadarGroundMap::RadarGroundMap ( Camera parent,
Radar::LookDirection  ldir,
double  waveLength 
)

References Isis::Camera::Lines().

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

Destructor.


Member Function Documentation

double Isis::CameraGroundMap::DQuotient ( std::vector< double > &  look,
std::vector< double > &  dlook,
int  index 
) [inherited]

Convenience method for quotient rule applied to look vector.

This method will compute the derivative of the following function (coordinate x or y) / (coordinate z)

Parameters:
look look vector in camera frame
dlook derivative of look vector in camera frame
index vector value to differentiate
Returns:
derivative

Referenced by Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), and Isis::CameraGroundMap::GetdXYdPosition().

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

Return undistorted focal plane x.

References Isis::CameraGroundMap::p_focalPlaneX.

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

Return undistorted focal plane y.

References Isis::CameraGroundMap::p_focalPlaneY.

bool Isis::CameraGroundMap::GetdXYdOrientation ( const SpiceRotation::PartialType  varType,
int  coefIndex,
double *  dx,
double *  dy 
) [virtual, inherited]

Compute derivative of focal plane coordinate w/r to orientation from ground position using current Spice from SetImage call.

This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to the instrument orientation, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.

Parameters:
varType enumerated partial type (definitions in SpicePosition)
coefIndex coefficient index of fit polynomial
*dx pointer to partial derivative of undistorted focal plane x
*dy pointer to partial derivative of undistorted focal plane y
Returns:
conversion was successful

References Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::instrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().

bool Isis::RadarGroundMap::GetdXYdPoint ( std::vector< double >  d_lookB,
double *  dx,
double *  dy 
) [virtual]

Compute derivative of focal plane coordinate w/r to ground point from ground position using current Spice from SetImage call.

This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to lat, lon, or radius, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.

Parameters:
varType enumerated partial type (definitions in SpicePosition)
coefIndex coefficient index of fit polynomial
*dx pointer to partial derivative of undistorted focal plane x
*dy pointer to partial derivative of undistorted focal plane y
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

bool Isis::RadarGroundMap::GetdXYdPosition ( const SpicePosition::PartialType  varType,
int  coefIndex,
double *  dx,
double *  dy 
) [virtual]

Compute derivative w/r to position of focal plane coordinate from ground position using current Spice from SetImage call.

This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to a spacecraft position coordinate, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.

Parameters:
varType enumerated partial type (definitions in SpicePosition)
coefIndex coefficient index of fit polynomial
*dx pointer to partial derivative of undistorted focal plane x
*dy pointer to partial derivative of undistorted focal plane y
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

References Isis::Spice::bodyRotation(), Isis::SpicePosition::CoordinatePartial(), Isis::Spice::instrumentPosition(), and Isis::SpicePosition::VelocityPartial().

bool Isis::CameraGroundMap::GetXY ( const double  lat,
const double  lon,
const double  radius,
double *  cudx,
double *  cudy 
) [virtual, inherited]

Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.

This method will compute the undistorted focal plane coordinate for a ground position, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/p_pB/x/y. The class value for p_look is set by this method.

Parameters:
lat Latitude in degrees
lon Longitude in degrees
radius 
Returns:
conversion was successful

References Isis::Angle::Degrees, Isis::CameraGroundMap::GetXY(), and Isis::Distance::Meters.

bool Isis::RadarGroundMap::GetXY ( const SurfacePoint spoint,
double *  cudx,
double *  cudy 
) [virtual]

Compute undistorted focal plane coordinate from ground position using current Spice from SetImage call.

This method will compute the undistorted focal plane coordinate for a ground position, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y and related radar parameter p_slantRange.

Parameters:
spoint 
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

References Isis::Spice::bodyRotation(), Isis::SpicePosition::Coordinate(), Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), and Isis::SpicePosition::Velocity().

std::vector< double > Isis::CameraGroundMap::PointPartial ( SurfacePoint  spoint,
PartialType  wrt 
) [inherited]

Compute derivative with respect to indicated variable of conversion function from lat/lon/rad to rectangular coord.

Parameters:
lat planetocentric latitude in degrees
lon planetocentric longitude in degrees
radius local radius in meters
wrt take derivative with respect to this value
Returns:
partialDerivative

References Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::kilometers(), Isis::Angle::radians(), Isis::CameraGroundMap::WRT_Latitude, and Isis::CameraGroundMap::WRT_Longitude.

double Isis::RadarGroundMap::RangeSigma (  )  [inline]

Return the range sigma.

void Isis::RadarGroundMap::SetDopplerSigma ( double  dopplerSigma  )  [inline]

Set the doppler sigma.

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

bool Isis::RadarGroundMap::SetFocalPlane ( const double  ux,
const double  uy,
const double  uz 
) [virtual]

Compute ground position from slant range.

Parameters:
ux Slant range distance in meters scaled to focal plane
uy Doppler shift (always 0.0)
uz Not used
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

References Isis::Spice::bodyRotation(), c, Isis::SpicePosition::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::Distance::kilometers(), Isis::PI(), Isis::Spice::radii(), and Isis::SpicePosition::Velocity().

bool Isis::RadarGroundMap::SetGround ( const SurfacePoint surfacePoint  )  [virtual]

Compute undistorted focal plane coordinate from ground position that includes a local radius.

Parameters:
lat planetocentric latitude in degrees
lon planetocentric longitude in degrees
radius local radius in meters
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

References Isis::Spice::bodyRotation(), Isis::SpicePosition::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::Radar::Left, Isis::CameraGroundMap::p_focalPlaneX, Isis::CameraGroundMap::p_focalPlaneY, Isis::Radar::Right, Isis::Camera::SetFocalLength(), Isis::SurfacePoint::ToNaifArray(), Isis::SurfacePoint::Valid(), and Isis::SpicePosition::Velocity().

bool Isis::RadarGroundMap::SetGround ( const Latitude lat,
const Longitude lon 
) [virtual]

Compute undistorted focal plane coordinate from ground position.

Parameters:
lat planetocentric latitude in degrees
lon planetocentric longitude in degrees
Returns:
conversion was successful

Reimplemented from Isis::CameraGroundMap.

References Isis::Sensor::LocalRadius().

void Isis::RadarGroundMap::SetRangeSigma ( double  rangeSigma  )  [inline]

Set the range sigma.

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

double Isis::RadarGroundMap::WaveLength (  )  [inline]

Return the wavelength.

double Isis::RadarGroundMap::YScale (  )  [inline]

Return the doppler sigma.


Member Data Documentation

double Isis::CameraGroundMap::p_focalPlaneX [protected, inherited]
double Isis::CameraGroundMap::p_focalPlaneY [protected, inherited]

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