net.sourceforge.jiu.color.reduction

Class ReduceToBilevelThreshold


public class ReduceToBilevelThreshold
extends ImageToImageOperation

Reduces a GrayIntegerImage to a BilevelImage by setting all values below a certain threshold value to black and everything else to white.

Default value

If no threshold is specified via setThreshold(int), this operation uses a default value of (IntegerImage.getMaxSample(int) + 1) / 2.

Usage example

This example sets all values below 33 percent luminance to black, everything else to white.
 GrayIntegerImage image = ...;
 ReduceToBilevelThreshold red = new ReduceToBilevelThreshold();
 red.setInputImage(image);
 red.setThreshold(image.getMaxSample(0) / 3);
 red.process();
 BilevelImage reducedImage= (BilevelImage)red.getOutputImage();
 
Author:
Marco Schmidt

Field Summary

private Integer
threshold

Fields inherited from class net.sourceforge.jiu.ops.ImageToImageOperation

canInAndOutBeEqual, inputImage, outputImage

Fields inherited from class net.sourceforge.jiu.ops.Operation

abort, progressListeners

Method Summary

Integer
getThreshold()
Returns the current threshold value, or null if none was specified and the operation's process method was not run yet.
void
process()
This method does the actual work of the operation.
private void
process(GrayIntegerImage in, BilevelImage out)
void
setThreshold(int newThreshold)
Sets a new threshold 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, process, removeProgressListener, setAbort, setProgress, setProgress

Field Details

threshold

private Integer threshold

Method Details

getThreshold

public Integer getThreshold()
Returns the current threshold value, or null if none was specified and the operation's process method was not run yet.
Returns:
threshold value

process

public void process()
            throws MissingParameterException,
                   WrongParameterException
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 interface Operation
Throws:
WrongParameterException - if at least one of the input parameters was not initialized appropriately (values out of the valid interval, etc.)
MissingParameterException - if any mandatory parameter was not given to the operation

process

private void process(GrayIntegerImage in,
                     BilevelImage out)
            throws WrongParameterException

setThreshold

public void setThreshold(int newThreshold)
Sets a new threshold value.
Parameters:
newThreshold - the new threshold value to be used for this operation