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 int IsA (const char *type)
vtkImageHistogramNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void SetStencilConnection (vtkAlgorithmOutput *algOutput)
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 SetStencilData (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 (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
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 42 of file vtkImageHistogram.h.


Member Typedef Documentation

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

Definition at line 46 of file vtkImageHistogram.h.


Member Enumeration Documentation

anonymous enum

Scale types for the histogram image.

Enumerator:
Linear 
Log 
Sqrt 

Definition at line 52 of file vtkImageHistogram.h.


Constructor & Destructor Documentation

This is part of the executive, but is public so that it can be accessed by non-member functions.

This is part of the executive, but is public so that it can be accessed by non-member functions.


Member Function Documentation

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

Reimplemented from vtkAlgorithm.

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.

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

virtual vtkObjectBase* vtkImageHistogram::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkThreadedImageAlgorithm.

Reimplemented in vtkImageHistogramStatistics.

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.

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.

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.

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.

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.

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.

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.

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.

Set the size of the histogram image that is produced as output. The default is 256 by 256.

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.

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.

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.

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.

Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.

Set the scale to use for the histogram image. The default is a linear scale, but sqrt and log provide better visualization.

Get the histogram as a vtkIdTypeArray. You must call Update() before calling this method.

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.

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]

These method should be reimplemented by subclasses that have more than a single input or single output. See vtkAlgorithm for more information.

Reimplemented from vtkImageAlgorithm.

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

These method should be reimplemented by subclasses that have more than a single input or single output. See vtkAlgorithm for more information.

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

Definition at line 202 of file vtkImageHistogram.h.

Definition at line 204 of file vtkImageHistogram.h.

Definition at line 205 of file vtkImageHistogram.h.

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

Definition at line 207 of file vtkImageHistogram.h.

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

Definition at line 208 of file vtkImageHistogram.h.


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