org.esa.beam.framework.datamodel
Class Kernel

java.lang.Object
  extended by org.esa.beam.framework.datamodel.Kernel
All Implemented Interfaces:
Cloneable

public class Kernel
extends Object
implements Cloneable

The Kernel class defines a matrix that describes how a specified pixel and its surrounding pixels affect the value computed for the pixel's position in the output image of a filtering operation. The X origin and Y origin indicate the filter matrix element that corresponds to the pixel position for which an output value is being computed.


Constructor Summary
Kernel(int width, int height, double[] data)
          Constructs a Kernel object from an array of floats.
Kernel(int width, int height, double factor, double[] data)
          Constructs a Kernel object from an array of floats.
 
Method Summary
 Object clone()
          Clones this object.
 double getFactor()
          Returns the factor of this Kernel.
 int getHeight()
          Returns the height of this Kernel.
 double[] getKernelData(double[] data)
          Returns the filter data in row major order.
 int getWidth()
          Returns the width of this Kernel.
 int getXOrigin()
          Returns the X origin of this Kernel.
 int getYOrigin()
          Returns the Y origin of this Kernel.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Kernel

public Kernel(int width,
              int height,
              double[] data)
Constructs a Kernel object from an array of floats. The first width*height elements of the data array are copied. If the length of the data array is less than width*height, an IllegalArgumentException is thrown. The X origin is (width-1)/2 and the Y origin is (height-1)/2.

Parameters:
width - width of the filter
height - height of the filter
data - filter data in row major order
Throws:
IllegalArgumentException - if the length of data is less than the product of width and height

Kernel

public Kernel(int width,
              int height,
              double factor,
              double[] data)
Constructs a Kernel object from an array of floats. The first width*height elements of the data array are copied. If the length of the data array is less than width*height, an IllegalArgumentException is thrown. The X origin is (width-1)/2 and the Y origin is (height-1)/2.

Parameters:
width - width of the filter
height - height of the filter
factor - factor to be applied to each element of data
data - filter data in row major order
Throws:
IllegalArgumentException - if the length of data is less than the product of width and height
Method Detail

getXOrigin

public final int getXOrigin()
Returns the X origin of this Kernel.

Returns:
the X origin.

getYOrigin

public final int getYOrigin()
Returns the Y origin of this Kernel.

Returns:
the Y origin.

getWidth

public final int getWidth()
Returns the width of this Kernel.

Returns:
the width of this Kernel.

getHeight

public final int getHeight()
Returns the height of this Kernel.

Returns:
the height of this Kernel.

getFactor

public final double getFactor()
Returns the factor of this Kernel.

Returns:
the factor of this Kernel.

getKernelData

public final double[] getKernelData(double[] data)
Returns the filter data in row major order. The data array is returned. If data is null, a new array is allocated.

Parameters:
data - if non-null, contains the returned filter data
Returns:
the data array containing the filter data in row major order or, if data is null, a newly allocated array containing the filter data in row major order
Throws:
IllegalArgumentException - if data is less than the size of this Kernel

clone

public Object clone()
Clones this object.

Overrides:
clone in class Object
Returns:
a clone of this object.


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