Description:
This routine
creates a 1D Mapping which translates an X into a Y value on the basis of supplied tables of
corresponding X and Y. This is like an AST LutMap except that the LutMap class requires Y to be
tabulated at equal X intervals, whereas this routine allows Y to be tabulated at arbitrary X intervals.
Invocation
CALL ATL_MKLUT( IX, IY, NPNT, NVAR, FRM, TABLE, MAP, STATUS )
Arguments
IX
= INTEGER (Given)
The index of the X values within the TABLE array.
IY = INTEGER (Given)
The
index of the Y values within the TABLE array.
NPNT = INTEGER (Given)
The number of values
supplied for each variable in the TABLE array.
NVAR = INTEGER (Given)
The number of
variables described in the table. This will be at least 2 (for X and Y) but may be more.
FRM =
INTEGER (Given)
If not AST__NULL, then this should be an AST pointer to a Frame with
NVAR axes which will be used to normalise the axis values before creating the LutMap. No
normalisation occurs if a value of AST__NULL is supplied.
TABLE( NPNT, NVAR ) =
DOUBLE PRECISION (Given and Returned)
The table containing corresponding X and Y
values. The table can also contain values for other variables, which will be ignored. These
will be normalised on exit using the AST Frame supplied by FRM.
MAP = INTEGER
(Returned)
An AST pointer to the returned Mapping, or AST__NULL if no Mapping could
be created.
STATUS = INTEGER (Given and Returned)
The global status.
Notes:
-
It is only possible to create the Mapping if the tabluated X values are monotonic increasing or
decreasing.
-
The returned Mapping will have an inverse Transformation only if Y increases or decreases
monotonically with X.