- ←Prev
- KAPLIBS – Internal subroutines used within the KAPPA package.
- Next→
- TOC ↑
Description:
This routine creates a new n-dimensional array from an input m-dimensional array by
applying a constant-determininant transformation to all the elements of the output array. Each output
value is calculated by linear interpolation between the elements in the input array that surround each
transformed co-ordinate. The transformation must convert from output co-ordinates to input pixel
indices. The two arrays may have different numbers of dimensions. In addition a variance array may
be created likewise.
This operates with double-precision co-ordinates. Use KPG1_TRLIx for single precision.
Invocation
CALL KPG1_TDLIx( NDIMI, IDIMS, INARR, VAR, INVAR, TRID, FLUX, AXES, OEL,
NDIMO, OLBND, ODIMS, OUTARR, OUTVAR, COIN, COOUT, INDICE, STATUS )
Arguments
NDIMI = INTEGER (Given)
The dimensionality of the input arrays. It must be greater
than one. To handle a one-dimensional array, give it a second dummy dimension of 1.
IDIMS( NDIMI ) = INTEGER (Given)
The dimensions of the input n-D arrays.
INARR(
)
= ? (Given)
The input n-D data array.
VAR = LOGICAL (Given)
If VAR is
.TRUE. there is a variance array to create from an input variance array.
INVAR(
) = ?
(Given)
The input n-D variance array. When VAR is .FALSE., this can contain an arbitrary number of
elements. When VAR is .TRUE. it must have the shape of the input data array.
FLUX = DOUBLE
PRECISION (Given)
The factor to multiply the values in the output arrays to preserve the flux. This
will be the determinant of the transformation. Set this to 1.0 if no flux conservation is required.
AXES(
) = DOUBLE PRECISION (Given)
The concatenated axis co-ordinates of the input array. This array
should therefore have a dimension at least as large as the sum of the input array’
s dimensions.
OEL
= INTEGER (Given)
The first dimension of the work arrays. It should be at least ODIMS( 1
).
NDIMO = INTEGER (Given)
The dimensionality of the output arrays.
OLBND(
NDIMO ) = INTEGER (Given)
The lower bounds of the output n-D arrays.
ODIMS(
NDIMO ) = INTEGER (Given)
The dimensions of the output n-D arrays.
OUTARR(
) = ? (Returned)
The transformed data array.
OUTVAR(
) = ?
(Returned)
The variance array of the transformed data.
COIN( OEL, NDIMI ) = DOUBLE
PRECISION (Returned)
Workspace used to store the co-ordinates of a row of points in the input
arrays.
COOUT( OEL, NDIMO ) = DOUBLE PRECISION (Returned)
Workspace used to store the
co-ordinates of a row of points in the output arrays.
INDICE( OEL, NDIMI ) = DOUBLE PRECISION
(Returned)
Workspace used to store the floating-point pixel indices of a row of points in the
input arrays.
STATUS = INTEGER (Given and Returned).
Global status value
Notes:
-
There is a routine for the following numeric data types: replace "
x"
in the routine name by B, D, I, R,
UB, UW, or W as appropriate. The input and output data and variance arrays must have the data type
specified.
-
There is no protection against overflows when the absolute data values are very large.
Bugs:
{note_bugs_here}
- ←Prev
- KAPLIBS – Internal subroutines used within the KAPPA package.
- Next→
- TOC ↑