next up previous 264
Next: AST_PERMAXES - Permute the axis order in a Frame
Up: AST Routine Descriptions
Previous: AST_PARAMETERNAME - Get the name of the global parameter at a given index within the Table


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.
Status Handling
The protected interface to this function includes an extra parameter at the end of the parameter list descirbed above. This parameter is a pointer to the integer inherited status variable: "int $*$status".


next up previous 264
Next: AST_PERMAXES - Permute the axis order in a Frame
Up: AST Routine Descriptions
Previous: AST_PARAMETERNAME - Get the name of the global parameter at a given index within the Table

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

Copyright (C) 2009 Science \& Technology Facilities Council