public class PolyMap extends Mapping
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
Mapping.Interpolator, Mapping.Spreader
LINEAR_INTERPOLATOR, LINEAR_SPREADER, NEAREST_INTERPOLATOR, NEAREST_SPREADER
AST__BAD, AST__TUNULL, pointer
Constructor and Description |
---|
PolyMap(int nin,
int nout,
int ncoeff_f,
double[] coeff_f,
int ncoeff_i,
double[] coeff_i)
Creates a PolyMap.
|
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
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
public PolyMap(int nin, int nout, int ncoeff_f, double[] coeff_f, int ncoeff_i, double[] coeff_i)
nin
- The number of input coordinates.nout
- The number of output coordinates.ncoeff_f
- The number of non-zero coefficients necessary to define the
forward transformation of the PolyMap. If zero is supplied, the
forward transformation will be undefined.coeff_f
- An array containing
"ncoeff_f*( 2 + nin )" elements. Each group of "2 + nin"
adjacent elements describe a single coefficient of the forward
transformation. Within each such group, the first element is the
coefficient value; the next element is the integer index of the
PolyMap output which uses the coefficient within its defining
polynomial (the first output has index 1); the remaining elements
of the group give the integer powers to use with each input
coordinate value (powers must not be negative, and floating
point values are rounded to the nearest integer).
If "ncoeff_f" is zero, a NULL pointer may be supplied for "coeff_f".
For instance, if the PolyMap has 3 inputs and 2 outputs, each group consisting of 5 elements, A groups such as "(1.2, 2.0, 1.0, 3.0, 0.0)" describes a coefficient with value 1.2 which is used within the definition of output 2. The output value is incremented by the product of the coefficient value, the value of input coordinate 1 raised to the power 1, and the value of input coordinate 2 raised to the power 3. Input coordinate 3 is not used since its power is specified as zero. As another example, the group "(-1.0, 1.0, 0.0, 0.0, 0.0 )" describes adds a constant value -1.0 onto output 1 (it is a constant value since the power for every input axis is given as zero).
Each final output coordinate value is the sum of the "ncoeff_f" terms described by the "ncoeff_f" groups within the supplied array.
ncoeff_i
- The number of non-zero coefficients necessary to define the
inverse transformation of the PolyMap. If zero is supplied, the
inverse transformation will be undefined.coeff_i
- An array containing
"ncoeff_i*( 2 + nout )" elements. Each group of "2 + nout"
adjacent elements describe a single coefficient of the inverse
transformation, using the same schame as "coeff_f",
except that "inputs" and "outputs" are transposed.
If "ncoeff_i" is zero, a NULL pointer may be supplied for "coeff_i".AstException
- if an error occurred in the AST libraryCopyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.