Class LutMap

  extended by
      extended by
          extended by

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.


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

Nested Class Summary
Nested classes/interfaces inherited from class
Mapping.Interpolator, Mapping.Spreader
Field Summary
Fields inherited from class
Fields inherited from class
AST__BAD, AST__TUNULL, pointer
Constructor Summary
LutMap(double[] lut, double start, double inc)
          Create a LutMap.
Method Summary
Methods inherited from class
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
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
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public LutMap(double[] lut,
              double start,
              double inc)
Create a LutMap.

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.
AstException - if an error occurred in the AST library

Copyright © 2019 Central Laboratory of the Research Councils. All Rights Reserved.