KPG1_TDLIx

Applies a constant-determinant transformation to an array by linear interpolation

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:

Bugs:

{note_bugs_here}