next up previous
Next: AST_PERMAXES - Permute the axis order in a Frame
Up: AST Routine Descriptions
Previous: AST_OFFSET2 - Calculate an offset along a geodesic curve in a 2D Frame

AST_PCDMAP - Create a PcdMap   

Description:
This function creates a new PcdMap and optionally initialises its attributes. A PcdMap is a non-linear Mapping 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 Disco).

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, obtained from two iterations of the Newton-Raphson method. The mismatch between the forward and inverse expressions is negligible for astrometric applications (to reach 1 milliarcsec at the edge of the Anglo-Australian Telescope triplet or a Schmidt field would require field diameters of 2.4 and 42 degrees respectively).

If a PcdMap is inverted (e.g. using AST_INVERT) then the roles of the forward and inverse transformations are reversed; the forward transformation will remove the distortion, and the inverse transformation will apply it.

Invocation:
RESULT = AST_PCDMAP( DISCO, PCDCEN, OPTIONS, STATUS )

Arguments:
DISCO = DOUBLE PRECISION (Given)
The distortion coefficient. Negative values give barrel distortion, positive values give pincushion distortion, and zero gives no distortion.
PCDCEN( 2 ) = DOUBLE PRECISION (Given)
An array containing the coordinates of the centre of the distortion.
OPTIONS = CHARACTER * ( * ) (Given)
A character string containing an optional comma-separated list of attribute assignments to be used for initialising the new PcdMap. The syntax used is identical to that for the AST_SET routine.
STATUS = INTEGER (Given and Returned)
The global status.

Returned Value:
AST_PCDMAP = INTEGER
A pointer to the new PcdMap.

Notes:
  • A null Object pointer (AST__NULL) will be returned if this function is invoked with STATUS set to an error value, or if it should fail for any reason.



next up previous
Next: AST_PERMAXES - Permute the axis order in a Frame
Up: AST Routine Descriptions
Previous: AST_OFFSET2 - Calculate an offset along a geodesic curve in a 2D Frame

AST A Library for Handling World Coordinate Systems in Astronomy
Starlink User Note 210
R.F. Warren-Smith & D.S. Berry
30th April 2003
E-mail:ussc@star.rl.ac.uk

Copyright (C) 2003 Central Laboratory of the Research Councils