Class Kernel

java.lang.Object
org.esa.snap.core.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

    Constructors
    Constructor
    Description
    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.
    Kernel(int width, int height, int xOrigin, int yOrigin, double factor, double[] data)
    Constructs a Kernel object from an array of floats.
  • Method Summary

    Modifier and Type
    Method
    Description
    Clones this object.
    final double
    Returns the factor of this Kernel.
    final int
    Returns the height of this Kernel.
    final double[]
    getKernelData(double[] data)
    Returns the filter data in row major order.
    final int
    Returns the width of this Kernel.
    final int
    Returns the X origin of this Kernel.
    final int
    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 Details

    • 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
    • Kernel

      public Kernel(int width, int height, int xOrigin, int yOrigin, 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
      xOrigin - X origin of the filter
      yOrigin - Y origin 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 Details

    • 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.