VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkImageHistogram Class Reference

Compute the histogram for an image. More...

#include <vtkImageHistogram.h>

Inheritance diagram for vtkImageHistogram:
Inheritance graph
[legend]
Collaboration diagram for vtkImageHistogram:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkThreadedImageAlgorithm Superclass
enum  { Linear = 0, Log = 1, Sqrt = 2 }

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
vtkIdTypeArrayGetHistogram ()
vtkIdType GetTotal ()
virtual void SetActiveComponent (int)
virtual int GetActiveComponent ()
virtual void SetAutomaticBinning (int)
virtual void AutomaticBinningOn ()
virtual void AutomaticBinningOff ()
virtual int GetAutomaticBinning ()
virtual void SetMaximumNumberOfBins (int)
virtual int GetMaximumNumberOfBins ()
virtual void SetNumberOfBins (int)
virtual int GetNumberOfBins ()
virtual void SetBinOrigin (double)
virtual double GetBinOrigin ()
virtual void SetBinSpacing (double)
virtual double GetBinSpacing ()
void SetStencil (vtkImageStencilData *stencil)
vtkImageStencilDataGetStencil ()
virtual void SetGenerateHistogramImage (int)
virtual void GenerateHistogramImageOn ()
virtual void GenerateHistogramImageOff ()
virtual int GetGenerateHistogramImage ()
virtual void SetHistogramImageSize (int, int)
void SetHistogramImageSize (int[2])
virtual intGetHistogramImageSize ()
virtual void GetHistogramImageSize (int &, int &)
virtual void GetHistogramImageSize (int[2])
virtual void SetHistogramImageScale (int)
void SetHistogramImageScaleToLinear ()
void SetHistogramImageScaleToLog ()
void SetHistogramImageScaleToSqrt ()
virtual int GetHistogramImageScale ()
const char * GetHistogramImageScaleAsString ()

Static Public Member Functions

static vtkImageHistogramNew ()
static int IsTypeOf (const char *type)
static vtkImageHistogramSafeDownCast (vtkObject *o)

Protected Member Functions

virtual int RequestUpdateExtent (vtkInformation *vtkNotUsed(request), vtkInformationVector **inInfo, vtkInformationVector *vtkNotUsed(outInfo))
virtual int RequestInformation (vtkInformation *vtkNotUsed(request), vtkInformationVector **inInfo, vtkInformationVector *vtkNotUsed(outInfo))
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
void ComputeImageScalarRange (vtkImageData *data, double range[2])

Protected Attributes

int ActiveComponent
int AutomaticBinning
int MaximumNumberOfBins
int HistogramImageSize [2]
int HistogramImageScale
int GenerateHistogramImage
int NumberOfBins
double BinOrigin
double BinSpacing
vtkIdTypeArrayHistogram
vtkIdType Total
vtkIdTypeThreadOutput [VTK_MAX_THREADS]
int ThreadBinRange [VTK_MAX_THREADS][2]
virtual void ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id)
 vtkImageHistogram ()
 ~vtkImageHistogram ()

Detailed Description

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 41 of file vtkImageHistogram.h.


Member Typedef Documentation

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

Definition at line 45 of file vtkImageHistogram.h.


Member Enumeration Documentation

anonymous enum

Scale types for the histogram image.

Enumerator:
Linear 
Log 
Sqrt 

Definition at line 51 of file vtkImageHistogram.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

static vtkImageHistogram* vtkImageHistogram::New ( ) [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

virtual const char* vtkImageHistogram::GetClassName ( ) [virtual]

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

static int vtkImageHistogram::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

virtual int vtkImageHistogram::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

static vtkImageHistogram* vtkImageHistogram::SafeDownCast ( vtkObject o) [static]

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

void vtkImageHistogram::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

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.

void vtkImageHistogram::SetStencil ( vtkImageStencilData stencil)

Use a stencil to compute the histogram for just a part of the image.

vtkImageStencilData* vtkImageHistogram::GetStencil ( )

Use a stencil to compute the histogram for just a part of the image.

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 139 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 141 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 143 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 155 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.

Reimplemented from vtkThreadedImageAlgorithm.

virtual int vtkImageHistogram::RequestUpdateExtent ( vtkInformation vtkNotUsedrequest,
vtkInformationVector **  inInfo,
vtkInformationVector vtkNotUsedoutInfo 
) [protected, virtual]
virtual int vtkImageHistogram::RequestInformation ( vtkInformation vtkNotUsedrequest,
vtkInformationVector **  inInfo,
vtkInformationVector vtkNotUsedoutInfo 
) [protected, virtual]
virtual int vtkImageHistogram::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

virtual int vtkImageHistogram::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkImageAlgorithm.

virtual int vtkImageHistogram::FillOutputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the output port information objects for this algorithm. This is invoked by the first call to GetOutputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkImageAlgorithm.

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.


Member Data Documentation

Definition at line 188 of file vtkImageHistogram.h.

Definition at line 189 of file vtkImageHistogram.h.

Definition at line 190 of file vtkImageHistogram.h.

Definition at line 192 of file vtkImageHistogram.h.

Definition at line 193 of file vtkImageHistogram.h.

Definition at line 194 of file vtkImageHistogram.h.

Definition at line 196 of file vtkImageHistogram.h.

Definition at line 197 of file vtkImageHistogram.h.

Definition at line 198 of file vtkImageHistogram.h.

Definition at line 200 of file vtkImageHistogram.h.

Definition at line 201 of file vtkImageHistogram.h.

vtkIdType* vtkImageHistogram::ThreadOutput[VTK_MAX_THREADS] [protected]

Definition at line 203 of file vtkImageHistogram.h.

int vtkImageHistogram::ThreadBinRange[VTK_MAX_THREADS][2] [protected]

Definition at line 204 of file vtkImageHistogram.h.


The documentation for this class was generated from the following file: