Isis Developer Reference
|
Convert between undistorted focal plane coordinate (slant range) and ground coordinates. More...
#include <RadarGroundMap.h>
Public Types | |
enum | PartialType { WRT_Latitude , WRT_Longitude , WRT_Radius , WRT_MajorAxis , WRT_MinorAxis , WRT_PolarAxis } |
Radius axes types to use when computing partials. More... | |
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, bool test=false) |
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 instrument using current state from SetImage call. | |
virtual bool | GetdXYdTOrientation (const SpiceRotation::PartialType varType, int coefIndex, double *cudx, double *cudy) |
Compute derivative of focal plane coordinate w/r to target body using current state. | |
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. | |
std::vector< double > | EllipsoidPartial (SurfacePoint spoint, PartialType raxis) |
Compute derivative of focal plane coordinate w/r to one of the ellipsoidal radii (a, b, or c) | |
std::vector< double > | MeanRadiusPartial (SurfacePoint spoint, Distance meanRadius) |
Compute derivative of focal plane coordinate w/r to mean of the ellipsoidal radii (a, b, c) | |
double | DQuotient (std::vector< double > &look, std::vector< double > &dlook, int index) |
Convenience method for quotient rule applied to look vector. | |
double | FocalPlaneX () const |
double | FocalPlaneY () const |
Protected Member Functions | |
void | LookCtoFocalPlaneXY () |
Calculate focalplane x/y from lookvector in camera. | |
Protected Attributes | |
double | p_focalPlaneX |
Camera's x focal plane coordinate. | |
double | p_focalPlaneY |
Camera's y focal plane coordinate. | |
std::vector< double > | m_pB |
Surface point calculated from ground coordinates in GetXY and used for partials. | |
std::vector< double > | m_lookJ |
Look vector in J2000 calculated from ground coordinates in GetXY and used for partials. | |
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.
|
inherited |
Isis::RadarGroundMap::RadarGroundMap | ( | Camera * | parent, |
Radar::LookDirection | ldir, | ||
double | waveLength ) |
References Isis::Camera::Lines().
|
inlinevirtual |
Destructor.
|
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)
look | look vector in camera frame |
dlook | derivative of look vector in camera frame |
index | vector value to differentiate |
Referenced by Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), Isis::CameraGroundMap::GetdXYdPosition(), and Isis::CameraGroundMap::GetdXYdTOrientation().
|
inherited |
Compute derivative of focal plane coordinate w/r to one of the ellipsoidal radii (a, b, or c)
This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to the a (major axis), b (minor axis), or c (polar axis) radius, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.
spoint | Surface point whose derivative is to be evalutated |
raxis | Radius axis enumerated partial type (definitions in this header) |
IException::Programmer | "Invalid partial type for this method" |
References _FILEINFO_, Isis::IException::Programmer, Isis::CameraGroundMap::WRT_MajorAxis, Isis::CameraGroundMap::WRT_MinorAxis, and Isis::CameraGroundMap::WRT_PolarAxis.
|
inlineinherited |
References Isis::CameraGroundMap::p_focalPlaneX.
|
inlineinherited |
References Isis::CameraGroundMap::p_focalPlaneY.
|
virtualinherited |
Compute derivative of focal plane coordinate w/r to instrument using current state 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.
varType | enumerated partial type (definitions in SpicePosition) |
coefIndex | coefficient index of fit polynomial |
*dx | out] pointer to partial derivative of undistorted focal plane x |
*dy | [out] pointer to partial derivative of undistorted focal plane y |
References Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::instrumentRotation(), Isis::CameraGroundMap::m_lookJ, Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
Referenced by Isis::IsisBundleObservation::computeImagePartials().
|
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.
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 |
Reimplemented from Isis::CameraGroundMap.
|
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.
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 |
Reimplemented from Isis::CameraGroundMap.
References Isis::Spice::bodyRotation(), and Isis::Spice::instrumentPosition().
|
virtualinherited |
Compute derivative of focal plane coordinate w/r to target body using current state.
This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to the target body orientation, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.
varType | enumerated partial type (definitions in SpicePosition) |
coefIndex | coefficient index of fit polynomial |
*dx | [out] pointer to partial derivative of undistorted focal plane x |
*dy | [out] pointer to partial derivative of undistorted focal plane y |
References Isis::Spice::bodyRotation(), Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::instrumentRotation(), Isis::CameraGroundMap::m_lookJ, Isis::CameraGroundMap::m_pB, Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
|
virtualinherited |
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/m_pB/x/y. The class value for m_lookJ is set by this method.
lat | Latitude in degrees |
lon | Longitude in degrees |
radius | Radius in meters |
cudx | [out] Pointer to computed undistored x focal plane coordinate |
cudy | [out] Pointer to computed undistored y focal plane coordinate |
References Isis::Angle::Degrees, Isis::CameraGroundMap::GetXY(), and Isis::Distance::Meters.
|
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.
spoint |
Reimplemented from Isis::CameraGroundMap.
References _FILEINFO_, Isis::Spice::bodyRotation(), Isis::Spice::instrumentPosition(), and Isis::IException::Programmer.
|
protectedinherited |
Calculate focalplane x/y from lookvector in camera.
Compute undistorted focal plane coordinate from camera look vector.
References Isis::Camera::DistortionMap(), Isis::CameraGroundMap::p_camera, Isis::CameraGroundMap::p_focalPlaneX, Isis::CameraGroundMap::p_focalPlaneY, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
Referenced by Isis::CameraGroundMap::SetGround(), and Isis::CameraGroundMap::SetGround().
|
inherited |
Compute derivative of focal plane coordinate w/r to mean of the ellipsoidal radii (a, b, c)
This method will compute the derivative of the undistorted focal plane coordinate for a ground position with respect to the mean of the a (major axis), b (minor axis), and c (polar axis) radius, using the current Spice settings (time and kernels) without resetting the current point values for lat/lon/radius/x/y.
spoint | Surface point whose derivative is to be evalutated |
meanRadius | Computed mean of radii |
References Isis::Distance::kilometers().
|
inherited |
Compute derivative with respect to indicated variable of conversion function from lat/lon/rad to rectangular coord.
spoint | Surface point (ground position) |
wrt | take derivative with respect to this value |
References Isis::CameraGroundMap::WRT_Latitude, and Isis::CameraGroundMap::WRT_Longitude.
|
inline |
Return the range sigma.
|
inline |
Set the doppler sigma.
Referenced by Isis::MiniRF::MiniRF().
|
virtual |
Compute ground position from slant range.
ux | Slant range distance in meters scaled to focal plane |
uy | Doppler shift (always 0.0) |
uz | Not used |
Reimplemented from Isis::CameraGroundMap.
References Isis::Spice::bodyRotation(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::Distance::kilometers(), Isis::PI, and Isis::Spice::radii().
Compute undistorted focal plane coordinate from ground position.
lat | planetocentric latitude in degrees |
lon | planetocentric longitude in degrees |
Reimplemented from Isis::CameraGroundMap.
References Isis::Distance::isValid(), Isis::Sensor::LocalRadius(), and SetGround().
Referenced by SetGround().
|
virtual |
Compute undistorted focal plane coordinate from ground position that includes a local radius.
lat | planetocentric latitude in degrees |
lon | planetocentric longitude in degrees |
radius | local radius in meters |
Reimplemented from Isis::CameraGroundMap.
References Isis::Spice::bodyRotation(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::Radar::Left, Isis::CameraGroundMap::p_focalPlaneX, Isis::CameraGroundMap::p_focalPlaneY, Isis::Radar::Right, Isis::Camera::SetFocalLength(), Isis::Spice::target(), Isis::SurfacePoint::ToNaifArray(), and Isis::SurfacePoint::Valid().
|
inline |
Set the range sigma.
Referenced by Isis::MiniRF::MiniRF().
|
inline |
Return the wavelength.
|
inline |
Return the doppler sigma.
|
protectedinherited |
Look vector in J2000 calculated from ground coordinates in GetXY and used for partials.
Referenced by Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), Isis::CameraGroundMap::GetdXYdPosition(), Isis::CameraGroundMap::GetdXYdTOrientation(), and Isis::CameraGroundMap::GetXY().
|
protectedinherited |
Surface point calculated from ground coordinates in GetXY and used for partials.
Referenced by Isis::CameraGroundMap::GetdXYdTOrientation(), and Isis::CameraGroundMap::GetXY().
|
protectedinherited |
Camera's x focal plane coordinate.
Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraGroundMap::FocalPlaneX(), Isis::CameraGroundMap::LookCtoFocalPlaneXY(), Isis::VimsGroundMap::SetGround(), and SetGround().
|
protectedinherited |
Camera's y focal plane coordinate.
Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraGroundMap::FocalPlaneY(), Isis::CameraGroundMap::LookCtoFocalPlaneXY(), Isis::VimsGroundMap::SetGround(), and SetGround().