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