Distort/undistort focal plane coordinates. More...
#include <LroWideAngleCameraFocalPlaneMap.h>
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 |
double | FocalPlaneY () const |
double | DetectorSample () const |
double | DetectorLine () const |
double | CenteredDetectorSample () const |
double | CenteredDetectorLine () const |
void | SetDetectorOrigin (const double sample, const double line) |
Set the detector origin. | |
double | DetectorLineOrigin () const |
double | DetectorSampleOrigin () const |
void | SetDetectorOffset (const double sampleOffset, const double lineOffset) |
Set the detector offset. | |
double | DetectorLineOffset () const |
double | DetectorSampleOffset () const |
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 |
const double * | TransS () const |
const double * | TransX () const |
const double * | TransY () const |
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 |
Camera of the image. | |
double | p_detectorLineOrigin |
The origin line of the detector. | |
double | p_detectorSampleOrigin |
The origin sample of the detector. | |
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 |
Detector sample position. | |
double | p_centeredDetectorLine |
Detector line position. | |
double | p_detectorLineOffset |
Offset of the detector origin line from the average. | |
double | p_detectorSampleOffset |
offset of the detector origin sample from the average | |
double | p_transx [3] |
The x transition from detector to distorted. | |
double | p_transy [3] |
The y transition from detector to distorted. | |
double | p_itranss [3] |
The x transition from distorted to detector. | |
double | p_itransl [3] |
The y transition from distorted to detector. | |
Distort/undistort focal plane coordinates.
Creates a map for adding/removing optical distortions from the focal plane of a camera.
|
inherited |
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) |
References Isis::CameraFocalPlaneMap::CameraFocalPlaneMap().
|
inlinevirtual |
Destroys the LroWideAngleCameraFocalPlaneMap object.
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. |
References Isis::CameraFocalPlaneMap::p_camera, and Isis::toString().
Referenced by Isis::LroWideAngleCamera::LroWideAngleCamera().
|
inherited |
References p_centeredDetectorLine.
|
inherited |
References p_centeredDetectorSample.
|
protectedinherited |
Convenience method to center detector origin (use when inheriting)
References p_centeredDetectorLine, p_centeredDetectorSample, p_detectorLine, p_detectorLineOrigin, p_detectorSample, and p_detectorSampleOrigin.
Referenced by SetDetector().
|
protectedinherited |
Convenience method to center detector origin (use when inheriting)
References p_centeredDetectorLine, p_centeredDetectorSample, p_detectorLine, p_detectorLineOrigin, p_detectorSample, and p_detectorSampleOrigin.
Referenced by SetFocalPlane().
|
inherited |
References p_detectorLine.
Referenced by Isis::ControlPoint::ComputeResiduals(), and Isis::LineScanCameraSkyMap::SetSky().
|
inherited |
References p_detectorLineOffset.
Referenced by Isis::LineScanCameraSkyMap::SetSky().
|
inherited |
References p_detectorLineOrigin.
Referenced by Isis::OsirisRexDistortionMap::OsirisRexDistortionMap().
|
inherited |
References p_detectorSample.
Referenced by Isis::ControlPoint::ComputeResiduals().
|
inherited |
References p_detectorSampleOffset.
|
inherited |
References p_detectorSampleOrigin.
Referenced by Isis::OsirisRexDistortionMap::OsirisRexDistortionMap().
|
inherited |
References p_focalPlaneX.
|
inherited |
|
inherited |
References p_focalPlaneY.
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. |
References _FILEINFO_, Isis::CameraFocalPlaneMap::p_itransl, Isis::CameraFocalPlaneMap::p_itranss, Isis::CameraFocalPlaneMap::p_transx, Isis::CameraFocalPlaneMap::p_transy, 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 |
References ComputeCentered(), p_centeredDetectorLine, p_centeredDetectorSample, p_detectorLine, p_detectorSample, p_focalPlaneX, p_focalPlaneY, p_transx, and p_transy.
|
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 |
References p_detectorLineOffset, and p_detectorSampleOffset.
Referenced by Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), 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 |
References p_detectorLineOrigin, and p_detectorSampleOrigin.
Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::ClipperNacRollingShutterCamera::ClipperNacRollingShutterCamera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), Isis::ClipperWacFcCamera::ClipperWacFcCamera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), 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::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::OsirisRexTagcamsCamera::OsirisRexTagcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::LroWideAngleCamera::SetBand(), Isis::ThemisIrCamera::SetBand(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), 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 |
References ComputeUncentered(), p_centeredDetectorLine, p_centeredDetectorSample, p_focalPlaneX, p_focalPlaneY, p_itransl, and p_itranss.
Referenced by Isis::ControlPoint::ComputeResiduals(), and Isis::LineScanCameraSkyMap::SetSky().
|
inherited |
Set the affine coefficients for converting destorted (x,y) to a detector Line.
transL | Vector of the affine coefficients |
References p_itransl.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Set the affine coefficients for converting destorted (x,y) to a detector Sample.
transS | Vector of the affine coefficients |
References p_itranss.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Set the affine coefficients for converting detector (sample,line) to a distorted X.
transX | Vector of the affine coefficients |
References p_transx.
Referenced by Isis::NewHorizonsLeisaCamera::SetBand().
|
inherited |
Set the affine coefficients for converting detector (sample,line) to a distorted Y.
transY | Vector of the affine coefficients |
References p_transy.
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.
References p_transx.
|
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.
References p_transy.
|
inherited |
References p_itransl.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
inherited |
References p_itranss.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
inherited |
References p_transx.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
inherited |
References p_transy.
Referenced by Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera().
|
protectedinherited |
Camera of the image.
Referenced by Isis::LroWideAngleCameraFocalPlaneMap::addFilter(), and CameraFocalPlaneMap().
|
protectedinherited |
Detector line position.
Referenced by CenteredDetectorLine(), ComputeCentered(), ComputeUncentered(), SetDetector(), and SetFocalPlane().
|
protectedinherited |
Detector sample position.
Referenced by CenteredDetectorSample(), ComputeCentered(), ComputeUncentered(), SetDetector(), and SetFocalPlane().
|
protectedinherited |
line value of the detector
Referenced by ComputeCentered(), ComputeUncentered(), DetectorLine(), and SetDetector().
|
protectedinherited |
Offset of the detector origin line from the average.
Referenced by CameraFocalPlaneMap(), DetectorLineOffset(), and SetDetectorOffset().
|
protectedinherited |
The origin line of the detector.
Referenced by CameraFocalPlaneMap(), ComputeCentered(), ComputeUncentered(), DetectorLineOrigin(), and SetDetectorOrigin().
|
protectedinherited |
sample value of the detector
Referenced by ComputeCentered(), ComputeUncentered(), DetectorSample(), and SetDetector().
|
protectedinherited |
offset of the detector origin sample from the average
Referenced by CameraFocalPlaneMap(), DetectorSampleOffset(), and SetDetectorOffset().
|
protectedinherited |
The origin sample of the detector.
Referenced by CameraFocalPlaneMap(), ComputeCentered(), ComputeUncentered(), DetectorSampleOrigin(), and SetDetectorOrigin().
|
protectedinherited |
x value of focal plane coordinate
Referenced by FocalPlaneX(), SetDetector(), and SetFocalPlane().
|
protectedinherited |
y value of focal plane coordinate
Referenced by FocalPlaneY(), SetDetector(), and SetFocalPlane().
|
protectedinherited |
The y transition from distorted to detector.
Referenced by CameraFocalPlaneMap(), Isis::LroWideAngleCameraFocalPlaneMap::setBand(), SetFocalPlane(), SetTransL(), and TransL().
|
protectedinherited |
The x transition from distorted to detector.
Referenced by CameraFocalPlaneMap(), Isis::LroWideAngleCameraFocalPlaneMap::setBand(), SetFocalPlane(), SetTransS(), and TransS().
|
protectedinherited |
The x transition from detector to distorted.
Referenced by CameraFocalPlaneMap(), FocalPlaneXDependency(), Isis::LroWideAngleCameraFocalPlaneMap::setBand(), SetDetector(), SetTransX(), SignMostSigX(), and TransX().
|
protectedinherited |
The y transition from detector to distorted.
Referenced by CameraFocalPlaneMap(), Isis::LroWideAngleCameraFocalPlaneMap::setBand(), SetDetector(), SetTransY(), SignMostSigY(), and TransY().