Package net.sourceforge.jiu.filters

# Class MaximumFilter

java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.filters.AreaFilterOperation
net.sourceforge.jiu.filters.MaximumFilter

public class MaximumFilter extends AreaFilterOperation
Filter operation that replaces each sample by the maximum value of itself and its neighbor samples.

Note that this is not the maximum operation that takes two input images and, for each position, takes the maximum sample value and writes it to output.

### Usage example

     MaximumFilter filter = new MaximumFilter();
     filter.setArea(7, 5);
     filter.setInputImage(image);
     filter.process();
     PixelImage filteredImage = filter.getOutputImage();

Since:
  0.9.0
Author:
  Marco Schmidt
See Also:
  - `MinimumFilter`

## Constructor Summary

Constructors
Constructor
Description
`MaximumFilter()`

## Method Summary

Modifier and Type
Method
Description
`final int`
`computeSample(int[] samples, int numSamples)`
Determine the resulting sample for an array with the source sample and zero or more of its neighbors.

### Methods inherited from class net.sourceforge.jiu.filters.AreaFilterOperation

`checkAreaHeight, checkAreaWidth, getAreaHeight, getAreaWidth, process, setArea, setAreaHeight, setAreaWidth`

### 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 Details

### MaximumFilter

public MaximumFilter()

## Method Details

### computeSample

public final int computeSample(int[] samples, int numSamples)
Description copied from class: `AreaFilterOperation`
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 `AreaFilterOperation.getAreaWidth()` times `AreaFilterOperation.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).

Specified by:
  `computeSample` in class `AreaFilterOperation`
Parameters:
  `samples` - the array holding the sample(s)
  `numSamples` - number of samples in the array
Returns:
  sample to be written to the output image