Package net.sourceforge.jiu.color.analysis

# Class Histogram3DCreator

java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.color.analysis.Histogram3DCreator

public class Histogram3DCreator extends Operation
This class creates three-dimensional histograms for images with integer samples. Only `IntegerImage` is supported. Existing histogram objects can be given to this operation to be reused.

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

Since:
  0.10.0
Author:
  Marco Schmidt

## Field Summary

Fields
Modifier and Type
Field
Description
`private Histogram3D`
`hist`
`private IntegerImage`
`image`
`private int`
`index1`
`private int`
`index2`
`private int`
`index3`
`private boolean`
`naive`

## Constructor Summary

Constructors
Constructor
Description
`Histogram3DCreator()`

## Method Summary

Modifier and Type
Method
Description
`static Integer`
`count(IntegerImage image)`
Static convenience method to count the number of colors in any three channel `IntegerImage` object.
`private void`
`createHistogramIfNecessary()`
`Histogram3D`
`getHistogram()`
Returns the histogram initialized in this operation.
`void`
`process()`
This method does the actual work of the operation.
`void`
`setHistogram3D(Histogram3D histogram)`
Sets the histogram object to be reused for this operation.
`void`
`setImage(IntegerImage newImage)`
The image for which a histogram will be initialized.
`void`
`setImage(IntegerImage newImage, int channelIndex1, int channelIndex2, int channelIndex3)`
The image for which a histogram will 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`

## Field Details

### hist

private Histogram3D hist

### image

private IntegerImage image

### index1

private int index1

### index2

private int index2

### index3

private int index3

### naive

private boolean naive

## Constructor Details

### Histogram3DCreator

public Histogram3DCreator()

## Method Details

### count

public static Integer count(IntegerImage image)
Static convenience method to count the number of colors in any three channel `IntegerImage` object.

Parameters:
  `image` - the IntegerImage whose number of used colors is to be determined
Returns:
  the number of colors or null on failure (image does not have three channels, etc.)
Since:
  0.15.0

### createHistogramIfNecessary

private void createHistogramIfNecessary()

### getHistogram

public Histogram3D getHistogram()
Returns the histogram initialized in this operation.

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

### setHistogram3D

public void setHistogram3D(Histogram3D histogram)
Sets the histogram object to be reused for this operation. If this method is not called, a new histogram will be created.

Parameters:
  `histogram` - the histogram object to be used in this operation

### setImage

public void setImage(IntegerImage newImage)
The image for which a histogram will be initialized. Simply calls `setImage(IntegerImage, int, int, int)` with 0, 1 and 2 as parameters.

Parameters:
  `newImage` - the image for the histogram initialization

### setImage

public void setImage(IntegerImage newImage, int channelIndex1, int channelIndex2, int channelIndex3)
The image for which a histogram will be initialized. Simply calls `setImage(IntegerImage, int, int, int)` with 0, 1 and 2 as parameters.

Parameters:
  `newImage` -