SLA_UNPCD

Remove Radial Distortion

ACTION:
Remove pincushion/barrel distortion from a distorted [x, y] to give tangent-plane [x, y].
CALL:
CALL sla_UNPCD (DISCO,X,Y)
GIVEN:

DISCO

D

pincushion/barrel distortion coefficient

X,Y

D

distorted [x, y]


RETURNED:

X,Y

D

tangent-plane [x, y]


NOTES:
(1)
The distortion is of the form ρ = r(1 + cr2), where r is the radial distance from the tangent point, c is the DISCO argument, and ρ is the radial distance in the presence of the distortion.
(2)
For pincushion distortion, C is +ve; for barrel distortion, C is ve.
(3)
For X,Y in units of one projection radius (in the case of a photographic plate, the focal length), the following DISCO values apply:

     



Geometry DISCO




astrograph 0.0


Schmidt 0.3333


AAT PF doublet +147.069


AAT PF triplet +178.585


AAT f/8 +21.20


JKT f/8 +14.6


(4)
The present routine is a rigorous inverse of the companion routine sla_PCD. The expression for ρ in Note 1 is rewritten in the form x3 + ax + b = 0 and solved by standard techniques.
(5)
Cases where the cubic has multiple real roots can sometimes occur, corresponding to extreme instances of barrel distortion where up to three different undistorted [x, y]s all produce the same distorted [x, y]. However, only one solution is returned, the one that produces the smallest change in [x, y].