Package org.esa.snap.core.datamodel
Class Kernel
- java.lang.Object
-
- org.esa.snap.core.datamodel.Kernel
-
- All Implemented Interfaces:
Cloneable
public class Kernel extends Object implements Cloneable
TheKernel
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 aKernel
object from an array of floats.Kernel(int width, int height, double factor, double[] data)
Constructs aKernel
object from an array of floats.Kernel(int width, int height, int xOrigin, int yOrigin, double factor, double[] data)
Constructs aKernel
object from an array of floats.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
Clones this object.double
getFactor()
Returns the factor of thisKernel
.int
getHeight()
Returns the height of thisKernel
.double[]
getKernelData(double[] data)
Returns the filter data in row major order.int
getWidth()
Returns the width of thisKernel
.int
getXOrigin()
Returns the X origin of thisKernel
.int
getYOrigin()
Returns the Y origin of thisKernel
.
-
-
-
Constructor Detail
-
Kernel
public Kernel(int width, int height, double[] data)
Constructs aKernel
object from an array of floats. The firstwidth
*height
elements of thedata
array are copied. If the length of thedata
array is less than width*height, anIllegalArgumentException
is thrown. The X origin is (width-1)/2 and the Y origin is (height-1)/2.- Parameters:
width
- width of the filterheight
- height of the filterdata
- filter data in row major order- Throws:
IllegalArgumentException
- if the length ofdata
is less than the product ofwidth
andheight
-
Kernel
public Kernel(int width, int height, double factor, double[] data)
Constructs aKernel
object from an array of floats. The firstwidth
*height
elements of thedata
array are copied. If the length of thedata
array is less than width*height, anIllegalArgumentException
is thrown. The X origin is (width-1)/2 and the Y origin is (height-1)/2.- Parameters:
width
- width of the filterheight
- height of the filterfactor
- factor to be applied to each element ofdata
data
- filter data in row major order- Throws:
IllegalArgumentException
- if the length ofdata
is less than the product ofwidth
andheight
-
Kernel
public Kernel(int width, int height, int xOrigin, int yOrigin, double factor, double[] data)
Constructs aKernel
object from an array of floats. The firstwidth
*height
elements of thedata
array are copied. If the length of thedata
array is less than width*height, anIllegalArgumentException
is thrown. The X origin is (width-1)/2 and the Y origin is (height-1)/2.- Parameters:
width
- width of the filterheight
- height of the filterxOrigin
- X origin of the filteryOrigin
- Y origin of the filterfactor
- factor to be applied to each element ofdata
data
- filter data in row major order- Throws:
IllegalArgumentException
- if the length ofdata
is less than the product ofwidth
andheight
-
-
Method Detail
-
getXOrigin
public final int getXOrigin()
Returns the X origin of thisKernel
.- Returns:
- the X origin.
-
getYOrigin
public final int getYOrigin()
Returns the Y origin of thisKernel
.- Returns:
- the Y origin.
-
getWidth
public final int getWidth()
Returns the width of thisKernel
.- Returns:
- the width of this
Kernel
.
-
getHeight
public final int getHeight()
Returns the height of thisKernel
.- Returns:
- the height of this
Kernel
.
-
getFactor
public final double getFactor()
Returns the factor of thisKernel
.- Returns:
- the factor of this
Kernel
.
-
getKernelData
public final double[] getKernelData(double[] data)
Returns the filter data in row major order. Thedata
array is returned. Ifdata
isnull
, 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, ifdata
isnull
, a newly allocated array containing the filter data in row major order - Throws:
IllegalArgumentException
- ifdata
is less than the size of thisKernel
-
-