PcdMapPcdMap - Apply 2-dimensional pincushion/barrel distortion

Description:
A PcdMap is a non-linear MappingMapping which transforms 2-dimensional positions to correct for the radial distortion introduced by some cameras and telescopes. This can take the form either of pincushion or barrel distortion, and is characterized by a single distortion coefficient.

A PcdMap is specified by giving this distortion coefficient and the coordinates of the centre of the radial distortion. The forward transformation of a PcdMap applies the distortion:

RD = R $*$ ( 1 $+$ C $*$ R $*$ R )

where R is the undistorted radial distance from the distortion centre (specified by attribute PcdCen), RD is the radial distance from the same centre in the presence of distortion, and C is the distortion coefficient (given by attribute DiscoDisco).

The inverse transformation of a PcdMap removes the distortion produced by the forward transformation. The expression used to derive R from RD is an approximate inverse of the expression above.

Constructor Function:
astPcdMapastPcdMap
Inheritance
The PcdMap class inherits from the Mapping class.
Attributes
In addition to those attributes common to all Mappings, every PcdMap also has the following attributes:

  • DiscoDisco: PcdMap pincushion/barrel distortion coefficient

  • PcdCen(axis)PcdCenaxis: Centre coordinates of pincushion/barrel distortion
Functions
The PcdMap class does not define any new functions beyond those which are applicable to all Mappings.