43 ApolloMetricDistortionMap::ApolloMetricDistortionMap(
Camera *parent,
47 double j2,
double t0) :
80 double rr = x * x + y * y;
81 double rrrr = rr * rr;
86 double dr = 1 +
p_k1 * rr +
p_k2 * rrrr +
p_k3 * rr * rrrr;
117 double xx, yy, rr, rrrr, dr;
118 double xdistortion, ydistortion;
119 double xdistorted, ydistorted;
120 double xprevious, yprevious;
126 xprevious = 1000000.0;
127 yprevious = 1000000.0;
129 double tolerance = 0.000001;
131 bool bConverged =
false;
136 for(
int i = 0; i < 50; i++) {
151 xdistortion = xt * dr - dt * sin(
p_t0);
152 ydistortion = yt * dr + dt * cos(
p_t0);
155 xt = ux - xdistortion;
156 yt = uy - ydistortion;
159 xdistorted = xt +
p_xp;
160 ydistorted = yt +
p_yp;
163 if((fabs(xt - xprevious) <= tolerance) && (fabs(yt - yprevious) <= tolerance)) {
double p_focalPlaneX
Distorted focal plane x.
double p_k2
Second coefficient of radial distortion.
Namespace for the standard library.
double p_undistortedFocalPlaneX
Undistorted focal plane x.
double p_j2
Second coefficient of decentering distortion.
bool SetFocalPlane(const double dx, const double dy)
Compute undistorted focal plane x/y.
double p_k3
Third coefficient of radial distortion.
Distort/undistort focal plane coordinates.
double p_yp
Principal point y-coordinate.
double p_focalPlaneY
Distorted focal plane y.
double p_undistortedFocalPlaneY
Undistorted focal plane y.
double p_k1
First coefficient of radial distortion.
double p_j1
First coefficient of decentering distortion.
Namespace for ISIS/Bullet specific routines.
bool SetUndistortedFocalPlane(const double ux, const double uy)
Compute distorted focal plane x/y.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
double p_t0
Angle between positive x-axis of image and vector to imaged point.
double p_xp
Principal point x-coordinate.