org.esa.beam.util.math
Class MatrixLookupTable

java.lang.Object
  extended by org.esa.beam.util.math.MatrixLookupTable

public class MatrixLookupTable
extends Object

The class MatrixLookupTable performs the function of multilinear interpolation for matrix lookup tables with an arbitrary number of dimensions.

The implementation simply delegates to an VectorLookupTable.

Version:
$Revision$ $Date$
Author:
Ralf Quast

Constructor Summary
MatrixLookupTable(int m, int n, MatrixFactory matrixFactory, double[] values, double[]... dimensions)
           
MatrixLookupTable(int m, int n, MatrixFactory matrixFactory, double[] values, IntervalPartition... dimensions)
           
MatrixLookupTable(int m, int n, MatrixFactory matrixFactory, float[] values, float[]... dimensions)
           
MatrixLookupTable(int m, int n, MatrixFactory matrixFactory, float[] values, IntervalPartition... dimensions)
           
MatrixLookupTable(int m, int n, MatrixFactory matrixFactory, VectorLookupTable vectorLookupTable)
           
 
Method Summary
 IntervalPartition getDimension(int i)
          Returns the the ith dimension associated with the lookup table.
 int getDimensionCount()
          Returns the number of dimensions associated with the lookup table.
 IntervalPartition[] getDimensions()
          Returns the dimensions associated with the lookup table.
 double[][] getValues(double... coordinates)
          Returns an interpolated value matrix for the given coordinates.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MatrixLookupTable

public MatrixLookupTable(int m,
                         int n,
                         MatrixFactory matrixFactory,
                         double[] values,
                         IntervalPartition... dimensions)

MatrixLookupTable

public MatrixLookupTable(int m,
                         int n,
                         MatrixFactory matrixFactory,
                         float[] values,
                         IntervalPartition... dimensions)

MatrixLookupTable

public MatrixLookupTable(int m,
                         int n,
                         MatrixFactory matrixFactory,
                         double[] values,
                         double[]... dimensions)

MatrixLookupTable

public MatrixLookupTable(int m,
                         int n,
                         MatrixFactory matrixFactory,
                         float[] values,
                         float[]... dimensions)

MatrixLookupTable

public MatrixLookupTable(int m,
                         int n,
                         MatrixFactory matrixFactory,
                         VectorLookupTable vectorLookupTable)
Method Detail

getDimensionCount

public final int getDimensionCount()
Returns the number of dimensions associated with the lookup table.

Returns:
the number of dimensions.

getDimensions

public final IntervalPartition[] getDimensions()
Returns the dimensions associated with the lookup table.

Returns:
the dimensions.

getDimension

public final IntervalPartition getDimension(int i)
Returns the the ith dimension associated with the lookup table.

Parameters:
i - the index number of the dimension of interest
Returns:
the ith dimension.

getValues

public final double[][] getValues(double... coordinates)
                           throws IllegalArgumentException
Returns an interpolated value matrix for the given coordinates.

Parameters:
coordinates - the coordinates of the lookup point.
Returns:
the interpolated value matrix.
Throws:
IllegalArgumentException - if the length of the coordinates array is not equal to the number of dimensions associated with the lookup table.
NullPointerException - if the coordinates array is null.


Copyright © 2002-2013 Brockmann Consult GmbH. All Rights Reserved.