|
Isis 3.0 Developer's Reference (API) |
Home |
Convert between undistorted focal plane and ground coordinates. More...
#include <LineScanCameraGroundMap.h>
Inherits Isis::CameraGroundMap.
Public Types | |
| enum | PartialType { WRT_Latitude, WRT_Longitude, WRT_Radius } |
Public Member Functions | |
| LineScanCameraGroundMap (Camera *cam) | |
| Constructor. | |
| virtual | ~LineScanCameraGroundMap () |
| Destructor. | |
| 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. | |
| virtual bool | SetGround (const SurfacePoint &surfacePoint, const int &approxLine) |
| Compute undistorted focal plane coordinate from ground position. | |
| virtual bool | SetFocalPlane (const double ux, const double uy, const double uz) |
| Compute ground position from focal plane coordinate. | |
| 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 | 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 | 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 | 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. | |
| virtual bool | GetdXYdPoint (std::vector< double > d_lookB, double *cudx, double *cudy) |
| Compute derivative of focal plane coordinate w/r to ground point 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 Types | |
| enum | FindFocalPlaneStatus { Success, BoundingProblem, Failure } |
Protected Member Functions | |
| FindFocalPlaneStatus | FindFocalPlane (const int &approxLine, const SurfacePoint &surfacePoint) |
| double | FindSpacecraftDistance (int line, const SurfacePoint &surfacePoint) |
Protected Attributes | |
| Camera * | p_camera |
| double | p_focalPlaneX |
| double | p_focalPlaneY |
Convert between undistorted focal plane and ground coordinates.
This class is used to convert between undistorted focal plane coordinates (x/y) in millimeters and ground coordinates lat/lon for line scan cameras.
enum Isis::LineScanCameraGroundMap::FindFocalPlaneStatus [protected] |
enum Isis::CameraGroundMap::PartialType [inherited] |
| Isis::LineScanCameraGroundMap::LineScanCameraGroundMap | ( | Camera * | cam | ) | [inline] |
Constructor.
| cam | pointer to camera model |
| virtual Isis::LineScanCameraGroundMap::~LineScanCameraGroundMap | ( | ) | [inline, virtual] |
Destructor.
| 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)
| 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(), and Isis::CameraGroundMap::GetdXYdPosition().
| LineScanCameraGroundMap::FindFocalPlaneStatus Isis::LineScanCameraGroundMap::FindFocalPlane | ( | const int & | approxLine, | |
| const SurfacePoint & | surfacePoint | |||
| ) | [protected] |
References Isis::Camera::DetectorMap(), dist, Isis::iTime::Et(), Failure, Isis::Camera::FocalLength(), offset, Isis::CameraGroundMap::p_camera, Isis::CameraGroundMap::p_focalPlaneX, Isis::CameraGroundMap::p_focalPlaneY, Isis::Camera::ParentSamples(), ptXLessThan(), Isis::CameraDetectorMap::SetParent(), Success, and Isis::Spice::time().
Referenced by SetGround().
| double Isis::LineScanCameraGroundMap::FindSpacecraftDistance | ( | int | line, | |
| const SurfacePoint & | surfacePoint | |||
| ) | [protected] |
| 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.
| 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 |
References Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::instrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
| bool Isis::CameraGroundMap::GetdXYdPoint | ( | std::vector< double > | d_lookB, | |
| double * | dx, | |||
| double * | dy | |||
| ) | [virtual, inherited] |
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 in Isis::RadarGroundMap.
References Isis::Spice::bodyRotation(), Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::instrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
| bool Isis::CameraGroundMap::GetdXYdPosition | ( | const SpicePosition::PartialType | varType, | |
| int | coefIndex, | |||
| double * | dx, | |||
| double * | dy | |||
| ) | [virtual, inherited] |
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 in Isis::RadarGroundMap.
References Isis::SpicePosition::CoordinatePartial(), Isis::Camera::DistortionMap(), Isis::CameraGroundMap::DQuotient(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::CameraGroundMap::p_camera, and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
| 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.
References Isis::Angle::Degrees, Isis::CameraGroundMap::GetXY(), and Isis::Distance::Meters.
| bool Isis::CameraGroundMap::GetXY | ( | const SurfacePoint & | point, | |
| 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.
| point |
Reimplemented in Isis::RadarGroundMap.
References Isis::Spice::bodyRotation(), dist, Isis::Camera::DistortionMap(), emission, Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::Target::isSky(), Isis::Displacement::kilometers(), Isis::CameraGroundMap::p_camera, Isis::PI(), Isis::Spice::target(), and Isis::CameraDistortionMap::UndistortedFocalPlaneZ().
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), and Isis::CameraGroundMap::GetXY().
| 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.
| lat | planetocentric latitude in degrees | |
| lon | planetocentric longitude in degrees | |
| radius | local radius in meters | |
| wrt | take derivative with respect to this value |
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.
| bool Isis::CameraGroundMap::SetFocalPlane | ( | const double | ux, | |
| const double | uy, | |||
| const double | uz | |||
| ) | [virtual, inherited] |
Compute ground position from focal plane coordinate.
This method will compute the ground position given an undistorted focal plane coordinate. Note that the latitude/longitude value can be obtained from the camera class passed into the constructor.
| ux | distorted focal plane x in millimeters | |
| uy | distorted focal plane y in millimeters | |
| uz | distorted focal plane z in millimeters |
Reimplemented in Isis::RadarGroundMap, and Isis::VimsGroundMap.
References Isis::NaifStatus::CheckErrors(), Isis::CameraGroundMap::p_camera, and Isis::Sensor::SetLookDirection().
Referenced by Isis::Camera::SetImage().
| bool Isis::LineScanCameraGroundMap::SetGround | ( | const SurfacePoint & | surfacePoint, | |
| const int & | approxLine | |||
| ) | [virtual] |
Compute undistorted focal plane coordinate from ground position.
| lat | planetocentric latitude in degrees | |
| lon | planetocentric longitude in degrees | |
| radius | local radius in meters |
References FindFocalPlane(), and Success.
| bool Isis::LineScanCameraGroundMap::SetGround | ( | const SurfacePoint & | surfacePoint | ) | [virtual] |
Compute undistorted focal plane coordinate from ground position.
| surfacePoint | 3D point on the surface of the planet |
Reimplemented from Isis::CameraGroundMap.
References FindFocalPlane(), and Success.
| bool Isis::LineScanCameraGroundMap::SetGround | ( | const Latitude & | lat, | |
| const Longitude & | lon | |||
| ) | [virtual] |
Compute undistorted focal plane coordinate from ground position.
| lat | planetocentric latitude in degrees | |
| lon | planetocentric longitude in degrees |
Reimplemented from Isis::CameraGroundMap.
References Isis::Sensor::LocalRadius(), Isis::CameraGroundMap::p_camera, and radius.
Camera* Isis::CameraGroundMap::p_camera [protected, inherited] |
Referenced by Isis::CameraGroundMap::CameraGroundMap(), FindFocalPlane(), FindSpacecraftDistance(), Isis::CameraGroundMap::GetdXYdOrientation(), Isis::CameraGroundMap::GetdXYdPoint(), Isis::CameraGroundMap::GetdXYdPosition(), Isis::CameraGroundMap::GetXY(), Isis::VimsGroundMap::Init(), Isis::VimsGroundMap::SetFocalPlane(), Isis::CameraGroundMap::SetFocalPlane(), Isis::VimsGroundMap::SetGround(), Isis::PushFrameCameraGroundMap::SetGround(), SetGround(), and Isis::CameraGroundMap::SetGround().
double Isis::CameraGroundMap::p_focalPlaneX [protected, inherited] |
double Isis::CameraGroundMap::p_focalPlaneY [protected, inherited] |