JIU 0.12.0 Homepage

net.sourceforge.jiu.filters
Class AreaFilterOperation

java.lang.Object
  extended bynet.sourceforge.jiu.ops.Operation
      extended bynet.sourceforge.jiu.ops.ImageToImageOperation
          extended bynet.sourceforge.jiu.filters.AreaFilterOperation
Direct Known Subclasses:
MaximumFilter, MeanFilter, MedianFilter, MinimumFilter, OilFilter

public abstract class AreaFilterOperation
extends ImageToImageOperation

Base class for operations that convert images to images and determine an output sample by doing calculations on the input sample at the same position plus some neighboring samples.

Override computeSample(int[], int) and the operation will work.

Since:
0.9.0
Author:
Marco Schmidt

Constructor Summary
AreaFilterOperation()
           
 
Method Summary
 void checkAreaHeight(int height)
          Checks if the argument is a valid area height value.
 void checkAreaWidth(int width)
          Checks if the argument is a valid area width value.
abstract  int computeSample(int[] samples, int numSamples)
          Determine the resulting sample for an array with the source sample and zero or more of its neighbors.
 int getAreaHeight()
          Returns the current area height.
 int getAreaWidth()
          Returns the current area width.
 void process()
          This method does the actual work of the operation.
 void setArea(int width, int height)
          Sets the area of the window to be used to determine each pixel's mean to the argument width and height.
 void setAreaHeight(int height)
          Sets the height of the area of the window to be used to determine each pixel's mean to the argument value.
 void setAreaWidth(int width)
          Sets the width of the area of the window to be used to determine each pixel's mean to the argument value.
 
Methods inherited from class net.sourceforge.jiu.ops.ImageToImageOperation
canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImage
 
Methods inherited from class net.sourceforge.jiu.ops.Operation
addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AreaFilterOperation

public AreaFilterOperation()
Method Detail

checkAreaHeight

public void checkAreaHeight(int height)
Checks if the argument is a valid area height value. The default implementation requires the argument to be odd and larger than zero. Override this method if your extension of AreaFilterOperation requires different heights.

Throws:
IllegalArgumentException - if the argument is not valid

checkAreaWidth

public void checkAreaWidth(int width)
Checks if the argument is a valid area width value. The default implementation requires the argument to be odd and larger than zero. Override this method if your extension of AreaFilterOperation requires different widths.

Throws:
IllegalArgumentException - if the argument is not valid

computeSample

public abstract int computeSample(int[] samples,
                                  int numSamples)
Determine the resulting sample for an array with the source sample and zero or more of its neighbors. This abstract method must be implemented by classes extending this operation. The array will hold numSamples samples, which will be stored starting at offset 0.

Normally, numSamples is equal to getAreaWidth() times getAreaHeight(). Near the border of the image you may get less samples. Example: the top left sample of an image has only three neighbors (east, south-east and south), so you will only get four samples (three neighbors and the sample itself).

Parameters:
samples - the array holding the sample(s)
numSamples - number of samples in the array
Returns:
sample to be written to the output image

getAreaHeight

public int getAreaHeight()
Returns the current area height.

Returns:
height of area window in pixels
See Also:
setAreaHeight(int)

getAreaWidth

public int getAreaWidth()
Returns the current area width.

Returns:
width of area window in pixels
See Also:
setAreaWidth(int)

process

public void process()
             throws MissingParameterException,
                    WrongParameterException
Description copied from class: Operation
This method does the actual work of the operation. It must be called after all parameters have been given to the operation object.

Overrides:
process in class Operation
Throws:
MissingParameterException - if any mandatory parameter was not given to the operation
WrongParameterException - if at least one of the input parameters was not initialized appropriately (values out of the valid interval, etc.)

setArea

public void setArea(int width,
                    int height)
Sets the area of the window to be used to determine each pixel's mean to the argument width and height.

Parameters:
width - width of window, must be 1 or larger
height - height of window, must be 1 or larger
See Also:
setAreaHeight(int), setAreaWidth(int)

setAreaHeight

public void setAreaHeight(int height)
Sets the height of the area of the window to be used to determine each pixel's mean to the argument value.

Parameters:
height - height of window, must be odd and 1 or larger
See Also:
getAreaHeight(), setArea(int, int), setAreaWidth(int)

setAreaWidth

public void setAreaWidth(int width)
Sets the width of the area of the window to be used to determine each pixel's mean to the argument value.

Parameters:
width - width of window, must be odd and 1 or larger
See Also:
getAreaWidth(), setArea(int, int), setAreaHeight(int)

JIU 0.12.0 Homepage

Copyright © 2000, 2001, 2002, 2003, 2004 Marco Schmidt