ITK  5.0.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
itk::Statistics::Histogram< TMeasurement, TFrequencyContainer > Class Template Reference

#include <itkHistogram.h>

+ Inheritance diagram for itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >:
+ Collaboration diagram for itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >:

Detailed Description

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
class itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >

This class stores measurement vectors in the context of n-dimensional histogram.

Histogram represents an ND histogram. Histogram bins can be regularly or irregularly spaced. The storage for the histogram is managed via the FrequencyContainer specified by the template argument. The default frequency container is a DenseFrequencyContainer. A SparseFrequencyContainer can be used as an alternative.

Frequencies of a bin (SetFrequency(), IncreaseFrequency()) can be specified by measurement, index, or instance identifier.

Measurements can be queried by bin index or instance identifier. In this case, the measurement returned is the centroid of the histogram bin.

The Initialize() method is used to specify the number of bins for each dimension of the histogram. An overloaded version also allows for regularly spaced bins to defined. To define irregularly sized bins, use the SetBinMin()/SetBinMax() methods.

If you do not know the length of the measurement vector at compile time, you should use the VariableDimensionHistogram class, instead of the Histogram class.

If you know the length of the measurement vector at compile time, it can conveniently be obtained from MeasurementVectorTraits. For instance, instantiate a histogram as below:

using HistogramType = Histogram< THistogramMeasurement, typename TFrequencyContainer >;
See Also
Sample, DenseFrequencyContainer, SparseFrequencyContainer, VariableDimensionHistogram
Wiki Examples:
Examples:
Examples/Statistics/Histogram.cxx, Examples/Statistics/ImageHistogram1.cxx, Examples/Statistics/SampleToHistogramFilter.cxx, SphinxExamples/src/Numerics/Statistics/HistogramCreationAndBinAccess/Code.cxx, WikiExamples/Statistics/Histogram.cxx, and WikiExamples/Statistics/SampleToHistogramFilter.cxx.

Definition at line 77 of file itkHistogram.h.

Classes

class  ConstIterator
 
class  Iterator
 

Public Types

using AbsoluteFrequencyType = typename FrequencyContainerType::AbsoluteFrequencyType
 
using ArrayType = Array< TMeasurement >
 
using BinMaxContainerType = std::vector< BinMaxVectorType >
 
using BinMaxVectorType = std::vector< MeasurementType >
 
using BinMinContainerType = std::vector< BinMinVectorType >
 
using BinMinVectorType = std::vector< MeasurementType >
 
using ConstPointer = SmartPointer< const Self >
 
using FrequencyContainerPointer = typename FrequencyContainerType::Pointer
 
using FrequencyContainerType = TFrequencyContainer
 
using IndexType = Array< ::itk::IndexValueType >
 
using IndexValueType = typename IndexType::ValueType
 
using InstanceIdentifier = typename Superclass::InstanceIdentifier
 
using MeasurementType = TMeasurement
 
using MeasurementVectorSizeType = typename Superclass::MeasurementVectorSizeType
 
using MeasurementVectorType = typename Superclass::MeasurementVectorType
 
using Pointer = SmartPointer< Self >
 
using RelativeFrequencyType = typename FrequencyContainerType::RelativeFrequencyType
 
using Self = Histogram
 
using SizeType = Array< ::itk::SizeValueType >
 
using SizeValueType = typename SizeType::ValueType
 
using Superclass = Sample< ArrayType >
 
using TotalAbsoluteFrequencyType = typename FrequencyContainerType::TotalAbsoluteFrequencyType
 
using TotalRelativeFrequencyType = typename FrequencyContainerType::TotalRelativeFrequencyType
 
using ValueType = MeasurementVectorType
 
- Public Types inherited from itk::Statistics::Sample< Array< TMeasurement > >
using AbsoluteFrequencyType = MeasurementVectorTraits::AbsoluteFrequencyType
 
using ConstPointer = SmartPointer< const Self >
 
using InstanceIdentifier = typename MeasurementVectorTraits::InstanceIdentifier
 
using MeasurementType = typename MeasurementVectorTraitsTypes< MeasurementVectorType >::ValueType
 
using MeasurementVectorSizeType = unsigned int
 
using MeasurementVectorType = Array< TMeasurement >
 
using Pointer = SmartPointer< Self >
 
using Self = Sample
 
using Superclass = DataObject
 
using TotalAbsoluteFrequencyType = NumericTraits< AbsoluteFrequencyType >::AccumulateType
 
- Public Types inherited from itk::DataObject
using ConstPointer = SmartPointer< const Self >
 
using DataObjectIdentifierType = std::string
 
using DataObjectPointerArraySizeType = std::vector< Pointer >::size_type
 
using Pointer = SmartPointer< Self >
 
using Self = DataObject
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

Iterator Begin ()
 
ConstIterator Begin () const
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
Iterator End ()
 
ConstIterator End () const
 
const MeasurementTypeGetBinMax (unsigned int dimension, InstanceIdentifier nbin) const
 
const MeasurementTypeGetBinMaxFromValue (unsigned int dimension, float value) const
 
const MeasurementTypeGetBinMin (unsigned int dimension, InstanceIdentifier nbin) const
 
const MeasurementTypeGetBinMinFromValue (unsigned int dimension, float value) const
 
virtual bool GetClipBinsAtEnds () const
 
const BinMaxVectorTypeGetDimensionMaxs (unsigned int dimension) const
 
const BinMinVectorTypeGetDimensionMins (unsigned int dimension) const
 
AbsoluteFrequencyType GetFrequency (InstanceIdentifier id) const override
 
AbsoluteFrequencyType GetFrequency (const IndexType &index) const
 
AbsoluteFrequencyType GetFrequency (InstanceIdentifier n, unsigned int dimension) const
 
const MeasurementVectorTypeGetHistogramMaxFromIndex (const IndexType &index) const
 
const MeasurementVectorTypeGetHistogramMinFromIndex (const IndexType &index) const
 
bool GetIndex (const MeasurementVectorType &measurement, IndexType &index) const
 
const IndexTypeGetIndex (InstanceIdentifier id) const
 
InstanceIdentifier GetInstanceIdentifier (const IndexType &index) const
 
const BinMaxContainerTypeGetMaxs () const
 
MeasurementType GetMeasurement (InstanceIdentifier n, unsigned int dimension) const
 
const MeasurementVectorTypeGetMeasurementVector (InstanceIdentifier id) const override
 
const MeasurementVectorTypeGetMeasurementVector (const IndexType &index) const
 
const BinMinContainerTypeGetMins () const
 
virtual const char * GetNameOfClass () const
 
const SizeTypeGetSize () const
 
SizeValueType GetSize (unsigned int dimension) const
 
TotalAbsoluteFrequencyType GetTotalFrequency () const override
 
void Graft (const DataObject *) override
 
bool IncreaseFrequency (InstanceIdentifier id, AbsoluteFrequencyType value)
 
bool IncreaseFrequencyOfIndex (const IndexType &index, AbsoluteFrequencyType value)
 
bool IncreaseFrequencyOfMeasurement (const MeasurementVectorType &measurement, AbsoluteFrequencyType value)
 
void Initialize (const SizeType &size)
 
void Initialize (const SizeType &size, MeasurementVectorType &lowerBound, MeasurementVectorType &upperBound)
 
bool IsIndexOutOfBounds (const IndexType &index) const
 
double Mean (unsigned int dimension) const
 
void SetBinMax (unsigned int dimension, InstanceIdentifier nbin, MeasurementType max)
 
void SetBinMin (unsigned int dimension, InstanceIdentifier nbin, MeasurementType min)
 
virtual void SetClipBinsAtEnds (bool _arg)
 
void SetFrequency (AbsoluteFrequencyType value)
 
bool SetFrequency (InstanceIdentifier id, AbsoluteFrequencyType value)
 
bool SetFrequencyOfIndex (const IndexType &index, AbsoluteFrequencyType value)
 
bool SetFrequencyOfMeasurement (const MeasurementVectorType &measurement, AbsoluteFrequencyType value)
 
void SetToZero ()
 
InstanceIdentifier Size () const override
 
double Quantile (unsigned int dimension, double p) const
 
- Public Member Functions inherited from itk::Statistics::Sample< Array< TMeasurement > >
virtual AbsoluteFrequencyType GetFrequency (InstanceIdentifier id) const =0
 
virtual const
MeasurementVectorType
GetMeasurementVector (InstanceIdentifier id) const =0
 
virtual MeasurementVectorSizeType GetMeasurementVectorSize () const
 
void Graft (const DataObject *thatObject) override
 
virtual void SetMeasurementVectorSize (MeasurementVectorSizeType s)
 
- Public Member Functions inherited from itk::DataObject
virtual void CopyInformation (const DataObject *)
 
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointer< ProcessObjectGetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOff ()
 
virtual void ReleaseDataFlagOn ()
 
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
virtual void SetRequestedRegion (const DataObject *)
 
virtual void SetRequestedRegionToLargestPossibleRegion ()
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
virtual void UpdateOutputInformation ()
 
virtual bool VerifyRequestedRegion ()
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexceptoverride
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::DataObject
static bool GetGlobalReleaseDataFlag ()
 
static void GlobalReleaseDataFlagOff ()
 
static void GlobalReleaseDataFlagOn ()
 
static void SetGlobalReleaseDataFlag (bool val)
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Member Functions

 Histogram ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~Histogram () override=default
 
- Protected Member Functions inherited from itk::Statistics::Sample< Array< TMeasurement > >
void PrintSelf (std::ostream &os, Indent indent) const override
 
 Sample ()
 
 ~Sample () override=default
 
- Protected Member Functions inherited from itk::DataObject
 DataObject ()
 
virtual void PropagateResetPipeline ()
 
 ~DataObject () override
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

SizeType m_Size
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

Private Types

using OffsetTableType = std::vector< InstanceIdentifier >
 

Private Member Functions

void Initialize () override
 

Private Attributes

bool m_ClipBinsAtEnds {true}
 
FrequencyContainerPointer m_FrequencyContainer
 
std::vector< std::vector
< MeasurementType > > 
m_Max
 
std::vector< std::vector
< MeasurementType > > 
m_Min
 
unsigned int m_NumberOfInstances {0}
 
OffsetTableType m_OffsetTable
 
IndexType m_TempIndex
 
MeasurementVectorType m_TempMeasurementVector
 

Member Typedef Documentation

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::AbsoluteFrequencyType = typename FrequencyContainerType::AbsoluteFrequencyType

Frequency and TotalFrequency value type from superclass

Definition at line 113 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::ArrayType = Array< TMeasurement >

Definition at line 84 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMaxContainerType = std::vector< BinMaxVectorType >

Definition at line 130 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMaxVectorType = std::vector< MeasurementType >

Definition at line 128 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMinContainerType = std::vector< BinMinVectorType >

Definition at line 129 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMinVectorType = std::vector< MeasurementType >

bin min max value storage types

Definition at line 127 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::ConstPointer = SmartPointer< const Self >

Definition at line 90 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::FrequencyContainerPointer = typename FrequencyContainerType::Pointer

Definition at line 110 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::FrequencyContainerType = TFrequencyContainer

frequency container type alias

Definition at line 109 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IndexType = Array< ::itk::IndexValueType >

Index type alias support An index is used to access pixel values.

Definition at line 119 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IndexValueType = typename IndexType::ValueType

Definition at line 120 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::InstanceIdentifier = typename Superclass::InstanceIdentifier

Definition at line 103 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::MeasurementType = TMeasurement

type of an element of a measurement vector

Definition at line 99 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::MeasurementVectorSizeType = typename Superclass::MeasurementVectorSizeType

Definition at line 104 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::MeasurementVectorType = typename Superclass::MeasurementVectorType

Common sample class type alias

Definition at line 102 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::OffsetTableType = std::vector< InstanceIdentifier >
private

Definition at line 474 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Pointer = SmartPointer< Self >

Definition at line 89 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::RelativeFrequencyType = typename FrequencyContainerType::RelativeFrequencyType

Definition at line 115 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Self = Histogram

Standard type alias

Definition at line 87 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SizeType = Array< ::itk::SizeValueType >

size array type

Definition at line 123 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SizeValueType = typename SizeType::ValueType

Definition at line 124 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Superclass = Sample< ArrayType >

Definition at line 88 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::TotalAbsoluteFrequencyType = typename FrequencyContainerType::TotalAbsoluteFrequencyType

Definition at line 114 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::TotalRelativeFrequencyType = typename FrequencyContainerType::TotalRelativeFrequencyType

Definition at line 116 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
using itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::ValueType = MeasurementVectorType

Definition at line 106 of file itkHistogram.h.

Constructor & Destructor Documentation

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Histogram ( )
protected
template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::~Histogram ( )
overrideprotecteddefault

Member Function Documentation

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
Iterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Begin ( )
inline

Definition at line 442 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
ConstIterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Begin ( ) const
inline

Definition at line 454 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
virtual::itk::LightObject::Pointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::CreateAnother ( ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
Iterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::End ( )
inline

Definition at line 449 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
ConstIterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::End ( ) const
inline

Definition at line 461 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetBinMax ( unsigned int  dimension,
InstanceIdentifier  nbin 
) const

Get the maximum value of nth bin of dimension d

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetBinMaxFromValue ( unsigned int  dimension,
float  value 
) const

Get the maximum of the bin along dimension d corresponding to a particular measurement.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetBinMin ( unsigned int  dimension,
InstanceIdentifier  nbin 
) const

Get the minimum value of nth bin of dimension d

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetBinMinFromValue ( unsigned int  dimension,
float  value 
) const

Get the minimum of the bin along dimension d corresponding to a particular measurement.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
virtual bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetClipBinsAtEnds ( ) const
virtual

Is set to false if the bins at edges of the histogram extend to +/- infinity.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const BinMaxVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetDimensionMaxs ( unsigned int  dimension) const

Get the vector of maximums along a dimension

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const BinMinVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetDimensionMins ( unsigned int  dimension) const

Get the vector of bin minimums along a dimension

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetFrequency ( InstanceIdentifier  id) const
override

Get the frequency of an instance identifier

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetFrequency ( const IndexType index) const

Get the frequency of an index

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetFrequency ( InstanceIdentifier  n,
unsigned int  dimension 
) const

Get the frequency of a dimension's nth element.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetHistogramMaxFromIndex ( const IndexType index) const

Get the maximums of the bin corresponding to a particular index

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetHistogramMinFromIndex ( const IndexType index) const

Get the minimums of the bin corresponding to a particular index

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetIndex ( const MeasurementVectorType measurement,
IndexType index 
) const

Get the index of histogram corresponding to the specified measurement value. Returns true if index is valid and false if the measurement is outside the histogram

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const IndexType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetIndex ( InstanceIdentifier  id) const

Get the index that is uniquely labelled by an instance identifier The corresponding id is the offset of the index This method uses ImageBase::ComputeIndex() method

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
InstanceIdentifier itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetInstanceIdentifier ( const IndexType index) const

Get the instance identifier of the bin that is indexed by the index. The corresponding instance identifier is the offset of the index This method uses ImageBase::ComputeIndex() method

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const BinMaxContainerType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMaxs ( ) const

Method the maximums of the bins

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
MeasurementType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMeasurement ( InstanceIdentifier  n,
unsigned int  dimension 
) const

Get the measurement a bin along a specified dimension. This is the midpoint of the bin along that dimension.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMeasurementVector ( InstanceIdentifier  id) const
override

Get the measurement of an instance identifier. This is the centroid of the bin.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMeasurementVector ( const IndexType index) const

Get the measurement of an index. This is the centroid of the bin.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const BinMinContainerType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMins ( ) const

Get the minimums of the bins

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
virtual const char* itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
const SizeType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetSize ( ) const

Get the size (N-dimensional) of the histogram

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
SizeValueType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetSize ( unsigned int  dimension) const

Get the size of histogram along a specified dimension

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
TotalAbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetTotalFrequency ( ) const
overridevirtual

Get the total frequency in the histogram

Implements itk::Statistics::Sample< Array< TMeasurement > >.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Graft ( const DataObject )
overridevirtual

Method to graft another histogram's output

Reimplemented from itk::DataObject.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IncreaseFrequency ( InstanceIdentifier  id,
AbsoluteFrequencyType  value 
)

Increase the frequency of an instance identifier. Frequency is increased by the specified value. Returns false if the bin is out of bounds.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IncreaseFrequencyOfIndex ( const IndexType index,
AbsoluteFrequencyType  value 
)

Increase the frequency of an index. Frequency is increased by the specified value. Returns false if the bin is out of bounds.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IncreaseFrequencyOfMeasurement ( const MeasurementVectorType measurement,
AbsoluteFrequencyType  value 
)

Increase the frequency of a measurement. Frequency is increased by the specified value. Returns false if the measurement is outside the bounds of the histogram.

Warning
This function performs a dynamic allocation for the index length, and should not be used in tight per-pixel loops.
template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Initialize ( const SizeType size)

Initialize the histogram, generating the offset table and preparing the frequency container. Subclasses should call this method in their Initialize() method.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Initialize ( const SizeType size,
MeasurementVectorType lowerBound,
MeasurementVectorType upperBound 
)

Initialize the histogram using equal size bins. To assign bin's min and max values along each dimension use SetBinMin() and SetBinMax() functions.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Initialize ( )
inlineoverrideprivatevirtual

Restore the data object to its initial state. This means releasing memory.

Reimplemented from itk::DataObject.

Definition at line 481 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IsIndexOutOfBounds ( const IndexType index) const

Returns true if the given index is out of bound meaning one of index is not between [0, last index]

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
double itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Mean ( unsigned int  dimension) const

Get the mean value for a dimension

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
static Pointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::New ( )
static

standard New() method support

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

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 itk::DataObject.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
double itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Quantile ( unsigned int  dimension,
double  p 
) const

Get the pth percentile value for a dimension.

Let assume n = the index of the bin where the p-th percentile value is,
min = min value of the dimension of the bin,
max = max value of the dimension of the bin,
interval = max - min ,
pp = cumlated proportion until n-1 bin;
and pb = frequency of the bin / total frequency of the dimension.

If p is less than 0.5,
the percentile value =
min + ((p - pp ) / pb) * interval
If p is greater than or equal to 0.5
the percentile value =
max - ((pp - p) / pb) * interval   
template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetBinMax ( unsigned int  dimension,
InstanceIdentifier  nbin,
MeasurementType  max 
)

Set the maximum value of nth bin of dimension d

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetBinMin ( unsigned int  dimension,
InstanceIdentifier  nbin,
MeasurementType  min 
)

Set the minimum value of nth bin of dimension d

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
virtual void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetClipBinsAtEnds ( bool  _arg)
virtual

Set to false to have the bins at edges of the histogram extend to +/- infinity.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetFrequency ( AbsoluteFrequencyType  value)

Set all the bins in the histogram to a specified frequency

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetFrequency ( InstanceIdentifier  id,
AbsoluteFrequencyType  value 
)

Set the frequency of an instance identifier. Returns false if the bin is out of bounds.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetFrequencyOfIndex ( const IndexType index,
AbsoluteFrequencyType  value 
)

Set the frequency of an index. Returns false if the bin is out of bounds.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetFrequencyOfMeasurement ( const MeasurementVectorType measurement,
AbsoluteFrequencyType  value 
)

Set the frequency of a measurement. Returns false if the bin is out of bounds.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetToZero ( )

Initialize the values of the histogram bins to zero

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
InstanceIdentifier itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Size ( ) const
overridevirtual

Returns the number of instances (bins or cells) in this container

Implements itk::Statistics::Sample< Array< TMeasurement > >.

Member Data Documentation

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_ClipBinsAtEnds {true}
private

Definition at line 492 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
FrequencyContainerPointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_FrequencyContainer
private

Definition at line 476 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
std::vector< std::vector< MeasurementType > > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_Max
private

Definition at line 487 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
std::vector< std::vector< MeasurementType > > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_Min
private

Definition at line 484 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
unsigned int itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_NumberOfInstances {0}
private

Definition at line 477 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
OffsetTableType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_OffsetTable
private

Definition at line 475 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
SizeType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_Size
protected

Definition at line 471 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
IndexType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_TempIndex
mutableprivate

Definition at line 490 of file itkHistogram.h.

template<typename TMeasurement = float, typename TFrequencyContainer = DenseFrequencyContainer2>
MeasurementVectorType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_TempMeasurementVector
mutableprivate

Definition at line 489 of file itkHistogram.h.


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