- ←Prev
- AST
A Library for Handling
World Coordinate Systems
in Astronomy - Next→
- TOC ↑
Description:
This routine applies a
Mapping to transform the coordinates of a set of points in an arbitrary number of dimensions. It is the
appropriate routine to use if the coordinates are not purely 1- or 2-dimensional and are stored
in a single array (which they need not fill completely).
Invocation
CALL AST_TRANN(
THIS, NPOINT, NCOORD_IN, INDIM, IN, FORWARD, NCOORD_OUT, OUTDIM, OUT, STATUS )
Arguments
THIS = INTEGER (Given)
Pointer to the Mapping to be applied.
NPOINT =
INTEGER (Given)
The number of points to be transformed.
NCOORD_IN = INTEGER
(Given)
The number of coordinates being supplied for each input point (i.e. the number of
dimensions of the space in which the input points reside).
INDIM = INTEGER (Given)
The
number of elements along the first dimension of the IN array (which contains the input
coordinates). This value is required so that the coordinate values can be correctly located if
they do not entirely fill this array. The value given should not be less than NPOINT.
IN( INDIM, NCOORD_IN ) = DOUBLE PRECISION (Given)
An array containing the
coordinates of the input (untransformed) points. These should be stored such that the
value of coordinate number COORD for input point number POINT is found in element
IN(POINT,COORD).
FORWARD = LOGICAL (Given)
A .TRUE. value indicates that the Mapping’
s forward coordinate transformation is to be applied, while a .FALSE. value indicates that
the inverse transformation should be used.
NCOORD_OUT = INTEGER (Given)
The
number of coordinates being generated by the Mapping for each output point (i.e. the
number of dimensions of the space in which the output points reside). This need not be the
same as NCOORD_IN.
OUTDIM = INTEGER (Given)
The number of elements along
the first dimension of the OUT array (which will contain the output coordinates). This
value is required so that the coordinate values can be correctly located if they will not
entirely fill this array. The value given should not be less than NPOINT.
OUT( OUTDIM,
NCOORD_OUT ) = DOUBLE PRECISION (Returned)
An array into which the coordinates of the
output (transformed) points will be written. These will be stored such that the value of
coordinate number COORD for output point number POINT will be found in element
OUT(POINT,COORD).
STATUS = INTEGER (Given and Returned)
The global status.
Notes:
-
If the forward coordinate transformation is being applied, the Mapping supplied must have the value
of NCOORD_IN for its Nin attribute and the value of NCOORD_OUT for its Nout attribute. If the
inverse transformation is being applied, these values should be reversed.
Handling of Huge Pixel
Arrays
If the number of points to be transformed exceeds the largest value that can be represented by
a 4-byte integer, then the alternative "
8-byte"
interface for this function should be used.
This alternative interface uses 8 byte integer arguments (instead of 4-byte). Specifically,
the arguments NPOINT, INDIM and OUTDIM are changed from type INTEGER to type
INTEGER8.
The function name is changed by appending the digit "
8"
to the name. Thus, AST_TRANN becomes
AST_TRANN8.
Copyright (C) 2021 East Asian Observatory
- ←Prev
- AST
A Library for Handling
World Coordinate
Systems
in Astronomy - Next→
- TOC ↑