Module java.desktop
Package java.awt.image

# Class Kernel

java.lang.Object
java.awt.image.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 kernel matrix element that corresponds to the pixel position for which an output value is being computed.

See Also:
  `ConvolveOp`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`Kernel​(int width, int height, float[] data)` | Constructs a `Kernel` object from an array of floats.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`Object` | `clone()` | Clones this object.
`int` | `getHeight()` | Returns the height of this `Kernel`.
`float[]` | `getKernelData​(float[] data)` | Returns the kernel 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 declared in class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Kernel

public Kernel​(int width, int height, float[] 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 kernel
  `height` - height of the kernel
  `data` - kernel 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`.

### getKernelData

public final float[] getKernelData​(float[] data)
Returns the kernel 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 kernel data
Returns:
  the `data` array containing the kernel data in row major order or, if `data` is `null`, a newly allocated array containing the kernel 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.
See Also:
  `Cloneable`