uk.ac.starlink.ast
Class LutMap
java.lang.Object
uk.ac.starlink.ast.AstObject
uk.ac.starlink.ast.Mapping
uk.ac.starlink.ast.LutMap
public class LutMap
- extends Mapping
Java interface to the AST LutMap class
- transform 1-dimensional coordinates using a lookup table.
A LutMap is a specialised form of Mapping which transforms
1-dimensional coordinates by using linear interpolation in a
lookup table.
Each input coordinate value is first scaled to give the index of
an entry in the table by subtracting a starting value (the input
coordinate corresponding to the first table entry) and dividing
by an increment (the difference in input coordinate value
between adjacent table entries).
The resulting index will usually contain a fractional part, so
the output coordinate value is then generated by interpolating
linearly between the appropriate entries in the table. If the
index lies outside the range of the table, linear extrapolation
is used based on the two nearest entries (i.e. the two entries
at the start or end of the table, as appropriate). If either of the
entries used for the interplation has a value of AST__BAD, then the
interpolated value is returned as AST__BAD.
If the lookup table entries increase or decrease monotonically
(ignoring any flat sections), then the inverse transformation may
also be performed.
Licence
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public Licence as
published by the Free Software Foundation; either version 2 of
the Licence, or (at your option) any later version.
This program is distributed in the hope that it will be
useful,but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public Licence for more details.
You should have received a copy of the GNU General Public Licence
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street,Fifth Floor, Boston, MA
02110-1301, USA
- See Also:
- AST LutMap
Constructor Summary |
LutMap(double[] lut,
double start,
double inc)
Create a LutMap. |
Methods inherited from class uk.ac.starlink.ast.Mapping |
decompose, getInvert, getNin, getNout, getReport, getTranForward, getTranInverse, invert, linearApprox, mapBox, mapSplit, rate, rebin, rebinD, rebinF, rebinI, resample, resampleB, resampleD, resampleF, resampleI, resampleL, resampleS, setInvert, setReport, simplify, tran1, tran2, tranGrid, tranN, tranP |
Methods inherited from class uk.ac.starlink.ast.AstObject |
annul, clear, copy, delete, equals, finalize, getAstConstantI, getB, getC, getD, getF, getI, getID, getIdent, getL, getNobject, getObjSize, getRefCount, hashCode, isThreaded, reportVersions, sameObject, set, setB, setC, setD, setF, setI, setID, setIdent, setL, show, test, tune |
LutMap
public LutMap(double[] lut,
double start,
double inc)
- Create a LutMap.
- Parameters:
lut
- An array containing the lookup table entries. There must be
at least two elements.start
- The input coordinate value which corresponds to the first lookup
table entry.inc
- The lookup table spacing (the increment in input coordinate
value between successive lookup table entries). This value
may be positive or negative, but must not be zero.
- Throws:
AstException
- if an error occurred in the AST library
Copyright © 2019 Central Laboratory of the Research Councils. All Rights Reserved.