JIU 0.14.3

net.sourceforge.jiu.color.analysis
Class Histogram1DCreator

java.lang.Object
  extended by net.sourceforge.jiu.ops.Operation
      extended by net.sourceforge.jiu.color.analysis.Histogram1DCreator

public class Histogram1DCreator
extends Operation

This class creates one-dimensional histograms for images with integer samples. Only IntegerImage objects are supported.

Existing histogram objects can be given to this operation to be reused. Give an existing Histogram1D object to this operation via setHistogram(Histogram1D).

The histogram can be created for any channel of an IntegerImage. The first channel (index 0) is the default channel. Use setImage(IntegerImage, int) to specify another one.

Note: Before JIU 0.10.0 there was a single HistogramCreator class.

Usage example

Creates a histogram for the third channel of an image, whose index is two because channels are zero-based:
 Histogram1DCreator hc = new Histogram1DCreator();
 hc.setImage(image, 2);
 hc.process();
 Histogram1D hist = hc.getHistogram();
 
If you just want to learn the number of different samples in an image, there's a static convenience method count for that. Again, we use the third channel:
Integer numUsedSamples = Histogram1DCreator.count(image, 2);

Since:
0.10.0
Author:
Marco Schmidt

Constructor Summary
Histogram1DCreator()
           
 
Method Summary
static Integer count(IntegerImage image)
          Static convenience method to count the number of different samples in the first channel of the argument image.
static Integer count(IntegerImage image, int channelIndex)
          Static convenience method to count the number of different samples in one of the channels of the argument image.
 Histogram1D getHistogram()
          Returns the histogram used in this operation.
 void process()
          This method does the actual work of the operation.
 void setHistogram(Histogram1D histogram)
          Sets a histogram object to be used for this operation.
 void setImage(IntegerImage newImage)
          Set the image for which the histogram is to be initialized.
 void setImage(IntegerImage newImage, int imageChannelIndex)
          Set the image and the channel index for which the histogram is to be initialized.
 
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

Histogram1DCreator

public Histogram1DCreator()
Method Detail

count

public static Integer count(IntegerImage image)
Static convenience method to count the number of different samples in the first channel of the argument image.

Parameters:
image - the IntegerImage to be examined
Returns:
the number of different values or null on failure (image is null, histogram data structure could not be allocated)
Since:
0.15.0

count

public static Integer count(IntegerImage image,
                            int channelIndex)
Static convenience method to count the number of different samples in one of the channels of the argument image.

Parameters:
image - the IntegerImage to be examined
channelIndex - the zero-based index of the channel to use
Returns:
the number of different values or null on failure (image is null, channel index is invalid, histogram data structure could not be allocated)
Since:
0.15.0

getHistogram

public Histogram1D getHistogram()
Returns the histogram used in this operation.

Returns:
histogram object, newly-created or reused one
See Also:
setHistogram(net.sourceforge.jiu.color.data.Histogram1D)

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.)

setHistogram

public void setHistogram(Histogram1D histogram)
Sets a histogram object to be used for this operation. Within process() it will be checked if this histogram is large enough for the image.

See Also:
getHistogram()

setImage

public void setImage(IntegerImage newImage)
Set the image for which the histogram is to be initialized. The first channel (index 0) is used by default.

Parameters:
newImage - image object to be used
See Also:
setImage(IntegerImage, int)

setImage

public void setImage(IntegerImage newImage,
                     int imageChannelIndex)
Set the image and the channel index for which the histogram is to be initialized.

Parameters:
newImage - image object to be used
imageChannelIndex - must not be negative and must be smaller than newImage.getNumChannels()
See Also:
setImage(IntegerImage)

JIU 0.14.3

Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Marco Schmidt