Isis 3.0 Object Programmers' Reference |
Home |
Distort/undistort focal plane coordinates. More...
#include <LroWideAngleCameraFocalPlaneMap.h>
Classes | |
struct | TranslationParameters |
Public Types | |
enum | FocalPlaneXDependencyType { Sample = 1, Line = 2 } |
Focal plane x dependency indicates whether the x value of the focal plane coordinate maps to a sample or a line. More... | |
Public Member Functions | |
LroWideAngleCameraFocalPlaneMap (Camera *parent, int naifIkCode) | |
Camera distortion map constructor. | |
virtual | ~LroWideAngleCameraFocalPlaneMap () |
Destroys the LroWideAngleCameraFocalPlaneMap object. | |
void | addFilter (int naifIkCode) |
Add an additional set of parameters for a given LROC/WAC filter. | |
void | setBand (int vband) |
Implements band-dependant focal plane parameters. | |
virtual bool | SetDetector (const double sample, const double line) |
Compute distorted focal plane coordinate from detector position (sampel,line) | |
virtual bool | SetFocalPlane (const double dx, const double dy) |
Compute detector position (sample,line) from focal plane coordinates. | |
double | FocalPlaneX () const |
Return distorted focal plane x. | |
double | FocalPlaneY () const |
Return distorted focal plane y. | |
double | DetectorSample () const |
Return detector sample. | |
double | DetectorLine () const |
Return detector line. | |
double | CenteredDetectorSample () const |
Return centered detector sample. | |
double | CenteredDetectorLine () const |
Return centered detector line. | |
void | SetDetectorOrigin (const double sample, const double line) |
Set the detector origin. | |
double | DetectorLineOrigin () const |
Return detector line origin. | |
double | DetectorSampleOrigin () const |
Return detector sample origin. | |
void | SetDetectorOffset (const double sampleOffset, const double lineOffset) |
Set the detector offset. | |
double | DetectorLineOffset () const |
Return detector line offset. | |
double | DetectorSampleOffset () const |
Return detector sample offset. | |
void | SetTransL (const QVector< double > transL) |
Set the affine coefficients for converting destorted (x,y) to a detector Line. | |
void | SetTransS (const QVector< double > transS) |
Set the affine coefficients for converting destorted (x,y) to a detector Sample. | |
void | SetTransX (const QVector< double > transX) |
Set the affine coefficients for converting detector (sample,line) to a distorted X. | |
void | SetTransY (const QVector< double > transY) |
Set the affine coefficients for converting detector (sample,line) to a distorted Y. | |
const double * | TransL () const |
Return the affine coefficients for converting distorted (x,y) to a detector Line. | |
const double * | TransS () const |
Return the affine coefficients for converting distorted (x,y) to a detector Sample. | |
const double * | TransX () const |
Return the affine coefficients for converting detector (sample,line) to a distorted X. | |
const double * | TransY () const |
Return the affine coefficients for converting detector (sample,line) to distorted Y. | |
int | FocalPlaneXDependency () |
Return the focal plane x dependency variable. | |
double | SignMostSigX () |
Return the sign of the p_transx coefficient with the greatest magnitude. | |
double | SignMostSigY () |
Return the sign of the p_transy coefficient with the greatest magnitude. | |
Protected Member Functions | |
void | ComputeCentered () |
Convenience method to center detector origin (use when inheriting) | |
void | ComputeUncentered () |
Convenience method to center detector origin (use when inheriting) | |
Protected Attributes | |
Camera * | p_camera |
double | p_detectorLineOrigin |
double | p_detectorSampleOrigin |
double | p_focalPlaneX |
x value of focal plane coordinate | |
double | p_focalPlaneY |
y value of focal plane coordinate | |
double | p_detectorLine |
line value of the detector | |
double | p_detectorSample |
sample value of the detector | |
double | p_centeredDetectorSample |
double | p_centeredDetectorLine |
double | p_detectorLineOffset |
double | p_detectorSampleOffset |
double | p_transx [3] |
double | p_transy [3] |
double | p_itranss [3] |
double | p_itransl [3] |
Private Attributes | |
QVector< TranslationParameters > | m_transparms |
Distort/undistort focal plane coordinates.
Creates a map for adding/removing optical distortions from the focal plane of a camera.
Definition at line 44 of file LroWideAngleCameraFocalPlaneMap.h.
|
inherited |
Focal plane x dependency indicates whether the x value of the focal plane coordinate maps to a sample or a line.
Enumerator | |
---|---|
Sample |
The x value of the focal plane maps to a sample. |
Line |
The x value of the focal plane maps to a line. |
Definition at line 138 of file CameraFocalPlaneMap.h.
Isis::LroWideAngleCameraFocalPlaneMap::LroWideAngleCameraFocalPlaneMap | ( | Camera * | parent, |
int | naifIkCode | ||
) |
Camera distortion map constructor.
Create a camera distortion map. This class maps between distorted and undistorted focal plane x/y's. The default mapping is the identity, that is, the focal plane x/y and undistorted focal plane x/y will be identical.
parent | the parent camera that will use this distortion map |
zDirection | the direction of the focal plane Z-axis (either 1 or -1) |
Definition at line 47 of file LroWideAngleCameraFocalPlaneMap.cpp.
|
inlinevirtual |
Destroys the LroWideAngleCameraFocalPlaneMap object.
Definition at line 49 of file LroWideAngleCameraFocalPlaneMap.h.
void Isis::LroWideAngleCameraFocalPlaneMap::addFilter | ( | int | naifIkCode | ) |
Add an additional set of parameters for a given LROC/WAC filter.
This method will read the parameters for LROC/WAC filter as indicated by the IK code provided. It will create a vector of these parameters and append them to the band list.
The filters added should correspond directly to the order in which the filters are physically stored in the ISIS cube (or the virtually selected bands).
naifIkCode | NAIF IK code for the desired filter to add. |
Definition at line 69 of file LroWideAngleCameraFocalPlaneMap.cpp.
References Isis::Spice::getDouble(), and Isis::toString().
Referenced by Isis::LroWideAngleCamera::LroWideAngleCamera().
|
inherited |
Return centered detector line.
Definition at line 283 of file CameraFocalPlaneMap.cpp.
|
inherited |
Return centered detector sample.
Definition at line 277 of file CameraFocalPlaneMap.cpp.
|
protectedinherited |
Convenience method to center detector origin (use when inheriting)
Definition at line 400 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::p_detectorLine, and Isis::CameraFocalPlaneMap::p_detectorSample.
Referenced by Isis::CameraFocalPlaneMap::SetDetector().
|
protectedinherited |
Convenience method to center detector origin (use when inheriting)
Definition at line 407 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::p_detectorLine, and Isis::CameraFocalPlaneMap::p_detectorSample.
Referenced by Isis::CameraFocalPlaneMap::SetFocalPlane().
|
inherited |
Return detector line.
Definition at line 271 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::p_detectorLine.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::Camera::RawFocalPlanetoImage(), Isis::LoMediumDistortionMap::SetDistortion(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::Camera::SetRightAscensionDeclination(), Isis::LineScanCameraSkyMap::SetSky(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Return detector line offset.
Definition at line 332 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), and Isis::LineScanCameraSkyMap::SetSky().
|
inherited |
Return detector line origin.
Definition at line 304 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::ReseauDistortionMap::SetFocalPlane(), and Isis::ReseauDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Return detector sample.
Definition at line 265 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::p_detectorSample.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::Camera::RawFocalPlanetoImage(), Isis::LoMediumDistortionMap::SetDistortion(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::Camera::SetRightAscensionDeclination(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Return detector sample offset.
Definition at line 338 of file CameraFocalPlaneMap.cpp.
|
inherited |
Return detector sample origin.
Definition at line 310 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::ReseauDistortionMap::SetFocalPlane(), and Isis::ReseauDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Return distorted focal plane x.
Definition at line 253 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::p_focalPlaneX.
Referenced by Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::Camera::SetImage(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Return the focal plane x dependency variable.
This method returns the image variable (sample or line) on which the focal plane x depends.
Definition at line 198 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::Line, and Isis::CameraFocalPlaneMap::Sample.
|
inherited |
Return distorted focal plane y.
Definition at line 259 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::p_focalPlaneY.
Referenced by Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::Camera::SetImage(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
void Isis::LroWideAngleCameraFocalPlaneMap::setBand | ( | int | vband | ) |
Implements band-dependant focal plane parameters.
This method should be used to switch to another band's set of distortion parameters. See the addFilter() method to add additional band parameters to this object. Note that the band number should correspond with the same order as they were added in the addFilter() method.
vband | Band number to select. Range is 1 to Bands. |
Definition at line 100 of file LroWideAngleCameraFocalPlaneMap.cpp.
References _FILEINFO_, and Isis::IException::Programmer.
Referenced by Isis::LroWideAngleCamera::SetBand().
|
virtualinherited |
Compute distorted focal plane coordinate from detector position (sampel,line)
This method will compute both the distorted focal plane x/y and centered detector position given a detector position
sample | undistorted focal plane x in millimeters |
line | undistorted focal plane y in millimeters |
Definition at line 180 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::ComputeCentered(), Isis::CameraFocalPlaneMap::p_detectorLine, Isis::CameraFocalPlaneMap::p_detectorSample, Isis::CameraFocalPlaneMap::p_focalPlaneX, and Isis::CameraFocalPlaneMap::p_focalPlaneY.
Referenced by Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::Camera::SetImage(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Set the detector offset.
This is used to set the offset between the detector origin and the average location in detector pixels where the image is being viewed. If not set the offset are both 0.0
sampleOffset | sample offset in pixels |
lineOffset | sample offset in lines |
Definition at line 324 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::ThemisIrCamera::SetBand(), and Isis::ThemisIrCamera::ThemisIrCamera().
|
inherited |
Set the detector origin.
This is used to set the origin of the detector. Typically the middle of the detector. For example, a 512x512 dectector would have the origin at (256.5,256.5). If not set both are 0.
sample | detector sample at the origin |
line | detector line at the origin |
Definition at line 297 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::ThemisIrCamera::SetBand(), Isis::LroWideAngleCamera::SetBand(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().
|
virtualinherited |
Compute detector position (sample,line) from focal plane coordinates.
NOTE: This is detector (sample, line) not necessarily image (sample, line). If the image was reformatted from what was collected the two differ. See the New Horizons LEISA camera for an example (LEISA is a frame camera being treated as a line scan camera).
This method will compute both the centered and normal detector position given a distorted focal plane coordinate.
dx | distorted focal plane x in millimeters |
dy | distorted focal plane y in millimeters |
Definition at line 159 of file CameraFocalPlaneMap.cpp.
References Isis::CameraFocalPlaneMap::ComputeUncentered(), Isis::CameraFocalPlaneMap::p_focalPlaneX, and Isis::CameraFocalPlaneMap::p_focalPlaneY.
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::Camera::RawFocalPlanetoImage(), Isis::LoMediumDistortionMap::SetDistortion(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::Camera::SetRightAscensionDeclination(), Isis::LineScanCameraSkyMap::SetSky(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
inherited |
Set the affine coefficients for converting destorted (x,y) to a detector Line.
Definition at line 344 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Set the affine coefficients for converting destorted (x,y) to a detector Sample.
Definition at line 352 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Set the affine coefficients for converting detector (sample,line) to a distorted X.
Definition at line 360 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Set the affine coefficients for converting detector (sample,line) to a distorted Y.
Definition at line 368 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Return the sign of the p_transx coefficient with the greatest magnitude.
This method returns a +1. or -1. based on the sign of the p_transx coefficient with the greatest magnitude. Only p_transx[1] and p_transx[2] are compared since p_transx[0] is used as a constant in the affine transformation.
Definition at line 217 of file CameraFocalPlaneMap.cpp.
|
inherited |
Return the sign of the p_transy coefficient with the greatest magnitude.
This method returns a +1 or -1 based on the sign of the p_transy coefficient with the greatest magnitude. Only p_transy[1] and p_transy[2] are compared since p_transy[0] is used as a constant in the affine transformation.
Definition at line 239 of file CameraFocalPlaneMap.cpp.
|
inherited |
Return the affine coefficients for converting distorted (x,y) to a detector Line.
Definition at line 394 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
inherited |
Return the affine coefficients for converting distorted (x,y) to a detector Sample.
Definition at line 388 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
inherited |
Return the affine coefficients for converting detector (sample,line) to a distorted X.
Definition at line 376 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
inherited |
Return the affine coefficients for converting detector (sample,line) to distorted Y.
Definition at line 382 of file CameraFocalPlaneMap.cpp.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
protectedinherited |
line value of the detector
Definition at line 159 of file CameraFocalPlaneMap.h.
Referenced by Isis::CameraFocalPlaneMap::ComputeCentered(), Isis::CameraFocalPlaneMap::ComputeUncentered(), Isis::CameraFocalPlaneMap::DetectorLine(), and Isis::CameraFocalPlaneMap::SetDetector().
|
protectedinherited |
sample value of the detector
Definition at line 160 of file CameraFocalPlaneMap.h.
Referenced by Isis::CameraFocalPlaneMap::ComputeCentered(), Isis::CameraFocalPlaneMap::ComputeUncentered(), Isis::CameraFocalPlaneMap::DetectorSample(), and Isis::CameraFocalPlaneMap::SetDetector().
|
protectedinherited |
x value of focal plane coordinate
Definition at line 157 of file CameraFocalPlaneMap.h.
Referenced by Isis::CameraFocalPlaneMap::FocalPlaneX(), Isis::CameraFocalPlaneMap::SetDetector(), and Isis::CameraFocalPlaneMap::SetFocalPlane().
|
protectedinherited |
y value of focal plane coordinate
Definition at line 158 of file CameraFocalPlaneMap.h.
Referenced by Isis::CameraFocalPlaneMap::FocalPlaneY(), Isis::CameraFocalPlaneMap::SetDetector(), and Isis::CameraFocalPlaneMap::SetFocalPlane().