Compute the histogram for an image.
More...
#include <vtkImageHistogram.h>
Compute the histogram for an image.
vtkImageHistogram generates a histogram from its input, and optionally produces a 2D black-and-white image of the histogram as its output. Unlike the class vtkImageAccumulate, a multi-component image does not result in a multi-dimensional histogram. Instead, the resulting histogram will be the sum of the histograms of each of the individual components, unless SetActiveComponent is used to choose a single component.
- Thanks:
- Thanks to David Gobbi at the Seaman Family MR Centre and Dept. of Clinical Neurosciences, Foothills Medical Centre, Calgary, for providing this class.
- Tests:
- vtkImageHistogram (Tests)
Definition at line 42 of file vtkImageHistogram.h.
Scale types for the histogram image.
Enumerator |
---|
Linear |
|
Log |
|
Sqrt |
|
Definition at line 52 of file vtkImageHistogram.h.
vtkImageHistogram::vtkImageHistogram |
( |
| ) |
|
|
protected |
This is part of the executive, but is public so that it can be accessed by non-member functions.
vtkImageHistogram::~vtkImageHistogram |
( |
| ) |
|
|
protected |
This is part of the executive, but is public so that it can be accessed by non-member functions.
static int vtkImageHistogram::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkImageHistogram::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkImageHistogram::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkImageHistogram::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
virtual void vtkImageHistogram::SetActiveComponent |
( |
int |
| ) |
|
|
virtual |
Set the component for which to generate a histogram. The default value is -1, which produces a histogram that is the sum of the histograms of the individual components.
virtual int vtkImageHistogram::GetActiveComponent |
( |
| ) |
|
|
virtual |
Set the component for which to generate a histogram. The default value is -1, which produces a histogram that is the sum of the histograms of the individual components.
virtual void vtkImageHistogram::SetAutomaticBinning |
( |
int |
| ) |
|
|
virtual |
If this is On, then the histogram binning will be done automatically. For char and unsigned char data, there will be 256 bins with unit spacing. For data of type short and larger, there will be between 256 and MaximumNumberOfBins, depending on the range of the data, and the BinOrigin will be set to zero if no negative values are present, or to the smallest negative value if negative values are present. For float data, the MaximumNumberOfBins will always be used. The BinOrigin and BinSpacing will be set so that they provide a mapping from bin index to scalar value.
virtual void vtkImageHistogram::AutomaticBinningOn |
( |
| ) |
|
|
virtual |
If this is On, then the histogram binning will be done automatically. For char and unsigned char data, there will be 256 bins with unit spacing. For data of type short and larger, there will be between 256 and MaximumNumberOfBins, depending on the range of the data, and the BinOrigin will be set to zero if no negative values are present, or to the smallest negative value if negative values are present. For float data, the MaximumNumberOfBins will always be used. The BinOrigin and BinSpacing will be set so that they provide a mapping from bin index to scalar value.
virtual void vtkImageHistogram::AutomaticBinningOff |
( |
| ) |
|
|
virtual |
If this is On, then the histogram binning will be done automatically. For char and unsigned char data, there will be 256 bins with unit spacing. For data of type short and larger, there will be between 256 and MaximumNumberOfBins, depending on the range of the data, and the BinOrigin will be set to zero if no negative values are present, or to the smallest negative value if negative values are present. For float data, the MaximumNumberOfBins will always be used. The BinOrigin and BinSpacing will be set so that they provide a mapping from bin index to scalar value.
virtual int vtkImageHistogram::GetAutomaticBinning |
( |
| ) |
|
|
virtual |
If this is On, then the histogram binning will be done automatically. For char and unsigned char data, there will be 256 bins with unit spacing. For data of type short and larger, there will be between 256 and MaximumNumberOfBins, depending on the range of the data, and the BinOrigin will be set to zero if no negative values are present, or to the smallest negative value if negative values are present. For float data, the MaximumNumberOfBins will always be used. The BinOrigin and BinSpacing will be set so that they provide a mapping from bin index to scalar value.
virtual void vtkImageHistogram::SetMaximumNumberOfBins |
( |
int |
| ) |
|
|
virtual |
The maximum number of bins to use when AutomaticBinning is On. When AutomaticBinning is On, the size of the output histogram will be set to the full range of the input data values, unless the full range is greater than this value. By default, the max value is 65536, which is large enough to capture the full range of 16-bit integers.
virtual int vtkImageHistogram::GetMaximumNumberOfBins |
( |
| ) |
|
|
virtual |
The maximum number of bins to use when AutomaticBinning is On. When AutomaticBinning is On, the size of the output histogram will be set to the full range of the input data values, unless the full range is greater than this value. By default, the max value is 65536, which is large enough to capture the full range of 16-bit integers.
virtual void vtkImageHistogram::SetNumberOfBins |
( |
int |
| ) |
|
|
virtual |
The number of bins in histogram (default 256). This is automatically computed unless AutomaticBinning is Off.
virtual int vtkImageHistogram::GetNumberOfBins |
( |
| ) |
|
|
virtual |
The number of bins in histogram (default 256). This is automatically computed unless AutomaticBinning is Off.
virtual void vtkImageHistogram::SetBinOrigin |
( |
double |
| ) |
|
|
virtual |
The value for the center of the first bin (default 0). This is automatically computed unless AutomaticBinning is Off.
virtual double vtkImageHistogram::GetBinOrigin |
( |
| ) |
|
|
virtual |
The value for the center of the first bin (default 0). This is automatically computed unless AutomaticBinning is Off.
virtual void vtkImageHistogram::SetBinSpacing |
( |
double |
| ) |
|
|
virtual |
The bin spacing (default 1). This is automatically computed unless AutomaticBinning is Off.
virtual double vtkImageHistogram::GetBinSpacing |
( |
| ) |
|
|
virtual |
The bin spacing (default 1). This is automatically computed unless AutomaticBinning is Off.
Use a stencil to compute the histogram for just a part of the image.
Use a stencil to compute the histogram for just a part of the image.
void vtkImageHistogram::SetStencilConnection |
( |
vtkAlgorithmOutput * |
algOutput | ) |
|
Equivalent to SetInputConnection(1, algOutput).
virtual void vtkImageHistogram::SetGenerateHistogramImage |
( |
int |
| ) |
|
|
virtual |
If this is On, then a histogram image will be produced as the output. Regardless of this setting, the histogram is always available as a vtkIdTypeArray from the GetHistogram method.
virtual void vtkImageHistogram::GenerateHistogramImageOn |
( |
| ) |
|
|
virtual |
If this is On, then a histogram image will be produced as the output. Regardless of this setting, the histogram is always available as a vtkIdTypeArray from the GetHistogram method.
virtual void vtkImageHistogram::GenerateHistogramImageOff |
( |
| ) |
|
|
virtual |
If this is On, then a histogram image will be produced as the output. Regardless of this setting, the histogram is always available as a vtkIdTypeArray from the GetHistogram method.
virtual int vtkImageHistogram::GetGenerateHistogramImage |
( |
| ) |
|
|
virtual |
If this is On, then a histogram image will be produced as the output. Regardless of this setting, the histogram is always available as a vtkIdTypeArray from the GetHistogram method.
virtual void vtkImageHistogram::SetHistogramImageSize |
( |
int |
, |
|
|
int |
|
|
) |
| |
|
virtual |
Set the size of the histogram image that is produced as output. The default is 256 by 256.
void vtkImageHistogram::SetHistogramImageSize |
( |
int |
[2] | ) |
|
Set the size of the histogram image that is produced as output. The default is 256 by 256.
virtual int* vtkImageHistogram::GetHistogramImageSize |
( |
| ) |
|
|
virtual |
Set the size of the histogram image that is produced as output. The default is 256 by 256.
virtual void vtkImageHistogram::GetHistogramImageSize |
( |
int & |
, |
|
|
int & |
|
|
) |
| |
|
virtual |
Set the size of the histogram image that is produced as output. The default is 256 by 256.
virtual void vtkImageHistogram::GetHistogramImageSize |
( |
int |
[2] | ) |
|
|
virtual |
Set the size of the histogram image that is produced as output. The default is 256 by 256.
virtual void vtkImageHistogram::SetHistogramImageScale |
( |
int |
| ) |
|
|
virtual |
Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.
void vtkImageHistogram::SetHistogramImageScaleToLinear |
( |
| ) |
|
|
inline |
Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.
Definition at line 143 of file vtkImageHistogram.h.
void vtkImageHistogram::SetHistogramImageScaleToLog |
( |
| ) |
|
|
inline |
Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.
Definition at line 145 of file vtkImageHistogram.h.
void vtkImageHistogram::SetHistogramImageScaleToSqrt |
( |
| ) |
|
|
inline |
Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.
Definition at line 147 of file vtkImageHistogram.h.
virtual int vtkImageHistogram::GetHistogramImageScale |
( |
| ) |
|
|
virtual |
Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.
const char* vtkImageHistogram::GetHistogramImageScaleAsString |
( |
| ) |
|
Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.
vtkIdTypeArray* vtkImageHistogram::GetHistogram |
( |
| ) |
|
Get the histogram as a vtkIdTypeArray. You must call Update() before calling this method.
vtkIdType vtkImageHistogram::GetTotal |
( |
| ) |
|
|
inline |
Get the total count of the histogram. This will be the number of voxels times the number of components.
Definition at line 159 of file vtkImageHistogram.h.
virtual void vtkImageHistogram::ThreadedRequestData |
( |
vtkInformation * |
request, |
|
|
vtkInformationVector ** |
inputVector, |
|
|
vtkInformationVector * |
outputVector, |
|
|
vtkImageData *** |
inData, |
|
|
vtkImageData ** |
outData, |
|
|
int |
ext[6], |
|
|
int |
id |
|
) |
| |
|
virtual |
This is part of the executive, but is public so that it can be accessed by non-member functions.
virtual int vtkImageHistogram::RequestUpdateExtent |
( |
vtkInformation * |
vtkNotUsedrequest, |
|
|
vtkInformationVector ** |
inInfo, |
|
|
vtkInformationVector * |
vtkNotUsedoutInfo |
|
) |
| |
|
protectedvirtual |
virtual int vtkImageHistogram::RequestInformation |
( |
vtkInformation * |
vtkNotUsedrequest, |
|
|
vtkInformationVector ** |
inInfo, |
|
|
vtkInformationVector * |
vtkNotUsedoutInfo |
|
) |
| |
|
protectedvirtual |
virtual int vtkImageHistogram::RequestData |
( |
vtkInformation * |
, |
|
|
vtkInformationVector ** |
, |
|
|
vtkInformationVector * |
|
|
) |
| |
|
protectedvirtual |
virtual int vtkImageHistogram::FillInputPortInformation |
( |
int |
port, |
|
|
vtkInformation * |
info |
|
) |
| |
|
protectedvirtual |
virtual int vtkImageHistogram::FillOutputPortInformation |
( |
int |
port, |
|
|
vtkInformation * |
info |
|
) |
| |
|
protectedvirtual |
void vtkImageHistogram::ComputeImageScalarRange |
( |
vtkImageData * |
data, |
|
|
double |
range[2] |
|
) |
| |
|
protected |
Compute the range of the data. The GetScalarRange() function of vtkImageData only computes the range of the first component, but this filter requires the range for all components.
int vtkImageHistogram::ActiveComponent |
|
protected |
int vtkImageHistogram::AutomaticBinning |
|
protected |
int vtkImageHistogram::MaximumNumberOfBins |
|
protected |
int vtkImageHistogram::HistogramImageSize[2] |
|
protected |
int vtkImageHistogram::HistogramImageScale |
|
protected |
int vtkImageHistogram::GenerateHistogramImage |
|
protected |
int vtkImageHistogram::NumberOfBins |
|
protected |
double vtkImageHistogram::BinOrigin |
|
protected |
double vtkImageHistogram::BinSpacing |
|
protected |
vtkIdTypeArray* vtkImageHistogram::Histogram |
|
protected |
vtkIdType vtkImageHistogram::Total |
|
protected |
vtkIdType* vtkImageHistogram::ThreadOutput[VTK_MAX_THREADS] |
|
protected |
int vtkImageHistogram::ThreadBinRange[VTK_MAX_THREADS][2] |
|
protected |
The documentation for this class was generated from the following file: