![]() |
Isis 3 Programmer 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. More... | |
| virtual bool | SetFocalPlane (const double ux, const double uy, const double uz) |
| Compute ground position from slant range. More... | |
| virtual bool | SetGround (const Latitude &lat, const Longitude &lon) |
| Compute undistorted focal plane coordinate from ground position. More... | |
| virtual bool | SetGround (const SurfacePoint &surfacePoint) |
| Compute undistorted focal plane coordinate from ground position that includes a local radius. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| void | SetRangeSigma (double rangeSigma) |
| Set the range sigma. More... | |
| double | RangeSigma () |
| Return the range sigma. More... | |
| void | SetDopplerSigma (double dopplerSigma) |
| Set the doppler sigma. More... | |
| double | YScale () |
| Return the doppler sigma. More... | |
| double | WaveLength () |
| Return the wavelength. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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) More... | |
| 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) More... | |
| double | DQuotient (std::vector< double > &look, std::vector< double > &dlook, int index) |
| Convenience method for quotient rule applied to look vector. More... | |
| double | FocalPlaneX () const |
| double | FocalPlaneY () const |
Protected Attributes | |
| double | p_focalPlaneX |
| Camera's x focal plane coordinate. More... | |
| double | p_focalPlaneY |
| Camera's y focal plane coordinate. More... | |
Private Member Functions | |
| double | ComputeXv (SpiceDouble X[3]) |
| double | GetRadius (const Latitude &lat, const Longitude &lon) |
| bool | Iterate (SpiceDouble &R, const double &slantRangeSqr, const SpiceDouble c[], const SpiceDouble r[], SpiceDouble X[], SpiceDouble &lat, SpiceDouble &lon, const std::vector< double > &Xsc, const bool &useSlopeEqn, const double &slope) |
| Iteration loop for computing ground position from slant range. More... | |
| void | LookCtoFocalPlaneXY () |
| Calculate focalplane x/y from lookvector in camera. More... | |
Private Attributes | |
| Radar::LookDirection | p_lookDirection |
| double | p_tolerance |
| double | p_slantRange |
| units are km More... | |
| double | p_dopplerFreq |
| units are hertz More... | |
| double | p_timeTolerance |
| double | p_rangeSigma |
| Scaling factor to convert meters to focal plane coord. More... | |
| double | p_dopplerSigma |
| Scaling factor to convert hertz to focal plane coord. More... | |
| double | p_waveLength |
| std::vector< double > | p_lookB |
| std::vector< double > | p_sB |
| double | p_groundSlantRange |
| units are km More... | |
| double | p_groundDopplerFreq |
| units are hertz More... | |
| Camera * | p_camera |
| std::vector< double > | m_pB |
| Surface point calculated from ground coordinates in GetXY and used for partials. More... | |
| std::vector< double > | m_lookJ |
| Look vector in J2000 calculated from ground coordinates in GetXY and used for partials. More... | |
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.
Definition at line 94 of file RadarGroundMap.h.
|
inherited |
Radius axes types to use when computing partials.
When computing partials, this enum represents the "with respect to" variable in the computation.
Definition at line 87 of file CameraGroundMap.h.
|
inlinevirtual |
Destructor.
Definition at line 99 of file RadarGroundMap.h.
|
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 |
Definition at line 550 of file CameraGroundMap.cpp.
|
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" |
Definition at line 436 of file CameraGroundMap.cpp.
References Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLongitude(), and Isis::Angle::radians().
Referenced by Isis::IsisBundleObservation::computeTargetPartials().
|
inlineinherited |
Definition at line 122 of file CameraGroundMap.h.
References Isis::CameraGroundMap::p_focalPlaneX.
Referenced by Isis::Camera::RawFocalPlanetoImage().
|
inlineinherited |
Definition at line 129 of file CameraGroundMap.h.
References Isis::CameraGroundMap::p_focalPlaneY.
Referenced by Isis::Camera::RawFocalPlanetoImage().
|
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 |
Definition at line 318 of file CameraGroundMap.cpp.
References Isis::SpiceRotation::ReferenceVector(), and Isis::SpiceRotation::ToReferencePartial().
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.
Definition at line 496 of file RadarGroundMap.cpp.
References p_dopplerSigma, p_groundDopplerFreq, p_groundSlantRange, and p_rangeSigma.
|
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.
Definition at line 461 of file RadarGroundMap.cpp.
References Isis::Spice::bodyRotation(), Isis::SpicePosition::CoordinatePartial(), Isis::Spice::instrumentPosition(), p_dopplerSigma, p_groundDopplerFreq, p_groundSlantRange, p_rangeSigma, Isis::SpiceRotation::ReferenceVector(), and Isis::SpicePosition::VelocityPartial().
|
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 |
Definition at line 354 of file CameraGroundMap.cpp.
References Isis::SpiceRotation::ReferenceVector(), and Isis::SpiceRotation::toJ2000Partial().
Referenced by Isis::IsisBundleObservation::computeTargetPartials().
|
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 |
Definition at line 254 of file CameraGroundMap.cpp.
|
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.
Definition at line 361 of file RadarGroundMap.cpp.
References Isis::Spice::bodyRotation(), Isis::SpicePosition::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), p_dopplerSigma, p_groundDopplerFreq, p_groundSlantRange, p_rangeSigma, Isis::IException::Programmer, Isis::SpiceRotation::ReferenceVector(), and Isis::SpicePosition::Velocity().
|
private |
Iteration loop for computing ground position from slant range.
| ux | Slant range distance in meters scaled to focal plane |
| uy | Doppler shift (always 0.0) |
| uz | Not used |
Definition at line 143 of file RadarGroundMap.cpp.
References Isis::Distance::kilometers(), Isis::Sensor::LocalRadius(), and Isis::PI.
Referenced by SetFocalPlane().
|
privateinherited |
Calculate focalplane x/y from lookvector in camera.
Compute undistorted focal plane coordinate from camera look vector.
Definition at line 106 of file CameraGroundMap.cpp.
|
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 |
Definition at line 486 of file CameraGroundMap.cpp.
References Isis::Displacement::kilometers(), and Isis::Distance::kilometers().
Referenced by Isis::IsisBundleObservation::computeTargetPartials().
|
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 |
Definition at line 508 of file CameraGroundMap.cpp.
References Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::Distance::kilometers(), and Isis::Angle::radians().
|
inline |
|
inline |
Set the doppler sigma.
Definition at line 123 of file RadarGroundMap.h.
References p_dopplerSigma.
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.
Definition at line 45 of file RadarGroundMap.cpp.
References Isis::Spice::bodyRotation(), Isis::SpicePosition::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Iterate(), Isis::SpiceRotation::J2000Vector(), Isis::Distance::kilometers(), p_rangeSigma, Isis::PI, Isis::Spice::radii(), Isis::SpiceRotation::ReferenceVector(), and Isis::SpicePosition::Velocity().
Compute undistorted focal plane coordinate from ground position.
| lat | planetocentric latitude in degrees |
| lon | planetocentric longitude in degrees |
Reimplemented from Isis::CameraGroundMap.
Definition at line 200 of file RadarGroundMap.cpp.
References Isis::Distance::isValid(), and Isis::Sensor::LocalRadius().
|
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.
Definition at line 218 of file RadarGroundMap.cpp.
References Isis::Spice::bodyRotation(), Isis::SpicePosition::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::SpiceRotation::J2000Vector(), Isis::CameraGroundMap::p_focalPlaneX, Isis::CameraGroundMap::p_focalPlaneY, p_rangeSigma, p_slantRange, Isis::SpiceRotation::ReferenceVector(), Isis::Camera::SetFocalLength(), Isis::ShapeModel::setSurfacePoint(), Isis::Target::shape(), Isis::Spice::target(), Isis::SurfacePoint::ToNaifArray(), and Isis::SpicePosition::Velocity().
|
inline |
Set the range sigma.
Definition at line 113 of file RadarGroundMap.h.
References p_rangeSigma.
Referenced by Isis::MiniRF::MiniRF().
|
inline |
Return the wavelength.
Definition at line 133 of file RadarGroundMap.h.
|
inline |
Return the doppler sigma.
Definition at line 128 of file RadarGroundMap.h.
References p_dopplerSigma.
|
privateinherited |
Look vector in J2000 calculated from ground coordinates in GetXY and used for partials.
Definition at line 143 of file CameraGroundMap.h.
|
privateinherited |
Surface point calculated from ground coordinates in GetXY and used for partials.
Definition at line 141 of file CameraGroundMap.h.
|
private |
units are hertz
Definition at line 149 of file RadarGroundMap.h.
|
private |
Scaling factor to convert hertz to focal plane coord.
Definition at line 152 of file RadarGroundMap.h.
Referenced by GetdXYdPoint(), GetdXYdPosition(), GetXY(), SetDopplerSigma(), and YScale().
|
protectedinherited |
Camera's x focal plane coordinate.
Definition at line 135 of file CameraGroundMap.h.
Referenced by Isis::CameraGroundMap::FocalPlaneX(), Isis::VimsGroundMap::SetGround(), and SetGround().
|
protectedinherited |
Camera's y focal plane coordinate.
Definition at line 136 of file CameraGroundMap.h.
Referenced by Isis::CameraGroundMap::FocalPlaneY(), Isis::VimsGroundMap::SetGround(), and SetGround().
|
private |
units are hertz
Definition at line 158 of file RadarGroundMap.h.
Referenced by GetdXYdPoint(), GetdXYdPosition(), and GetXY().
|
private |
units are km
Definition at line 157 of file RadarGroundMap.h.
Referenced by GetdXYdPoint(), GetdXYdPosition(), and GetXY().
|
private |
Scaling factor to convert meters to focal plane coord.
Definition at line 151 of file RadarGroundMap.h.
Referenced by GetdXYdPoint(), GetdXYdPosition(), GetXY(), RangeSigma(), SetFocalPlane(), SetGround(), and SetRangeSigma().
|
private |
| U.S. Department of the Interior | U.S. Geological Survey ISIS | Privacy & Disclaimers | Astrogeology Research Program To contact us, please post comments and questions on the USGS Astrogeology Discussion Board To report a bug, or suggest a feature go to: ISIS Github File Modified: 07/13/2023 15:22:26 |