USGSCSM Distortion Class

Enums

enum DistortionType

Values:

enumerator RADIAL
enumerator TRANSVERSE
enumerator KAGUYALISM
enumerator DAWNFC
enumerator LROLROCNAC
enumerator CAHVOR
enumerator LUNARORBITER
enumerator RADTAN

Functions

void transverseDistortionJacobian(double x, double y, double *jacobian, std::vector<double> const &opticalDistCoeffs)
void computeTransverseDistortion(double ux, double uy, double &dx, double &dy, std::vector<double> const &opticalDistCoeffs)

@description Compute distorted focal plane (dx,dy) coordinate given an undistorted focal plane (ux,uy) coordinate. This uses the third order Taylor approximation to the distortion model.

Parameters:
  • ux – Undistored x

  • uy – Undistored y

  • opticalDistCoeffs – For both X and Y coefficients

Returns:

distortedPoint Newly adjusted focal plane coordinates as an x, y tuple

void removeDistortion(double dx, double dy, double &ux, double &uy, std::vector<double> const &opticalDistCoeffs, double focalLength, DistortionType distortionType, const double tolerance = 1.0E-6)
void applyDistortion(double ux, double uy, double &dx, double &dy, std::vector<double> const &opticalDistCoeffs, double focalLength, DistortionType distortionType, const double desiredPrecision = 1.0E-6, const double tolerance = 1.0E-6)