ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkHistogram.h>
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 in the centroid of the histogram bin.
The Initialize() method is used to specified 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 measuremen vector at compile time, you can conveniently be obtained from MeasurementVectorTraits. For instance, instantiate a histogram as below:
typedef Histogram< THistogramMeasurement, typename TFrequencyContainer > HistogramType;
Definition at line 87 of file itkHistogram.h.
typedef FrequencyContainerType::AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::AbsoluteFrequencyType |
Frequency and TotalFrequency value type from superclass
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 122 of file itkHistogram.h.
typedef Array< TMeasurement > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::ArrayType |
Definition at line 93 of file itkHistogram.h.
typedef std::vector< BinMaxVectorType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMaxContainerType |
Definition at line 139 of file itkHistogram.h.
typedef std::vector< MeasurementType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMaxVectorType |
Definition at line 137 of file itkHistogram.h.
typedef std::vector< BinMinVectorType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMinContainerType |
Definition at line 138 of file itkHistogram.h.
typedef std::vector< MeasurementType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::BinMinVectorType |
bin min max value storage types
Definition at line 136 of file itkHistogram.h.
typedef SmartPointer< const Self > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::ConstPointer |
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 99 of file itkHistogram.h.
typedef FrequencyContainerType::Pointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::FrequencyContainerPointer |
Definition at line 119 of file itkHistogram.h.
typedef TFrequencyContainer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::FrequencyContainerType |
frequency container typedef
Definition at line 118 of file itkHistogram.h.
typedef Array< ::itk::IndexValueType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IndexType |
Index typedef support. An index is used to access pixel values.
Definition at line 128 of file itkHistogram.h.
typedef IndexType::ValueType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::IndexValueType |
Definition at line 129 of file itkHistogram.h.
typedef Superclass::InstanceIdentifier itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::InstanceIdentifier |
InstanceIdentifier typedef. This identifier is a unique sequential id for each measurement vector in a Sample subclass.
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 112 of file itkHistogram.h.
typedef TMeasurement itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::MeasurementType |
type of an element of a measurement vector
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 105 of file itkHistogram.h.
typedef Superclass::MeasurementVectorSizeType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::MeasurementVectorSizeType |
Typedef for the length of each measurement vector
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 113 of file itkHistogram.h.
typedef Superclass::MeasurementVectorType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::MeasurementVectorType |
Common sample class typedefs
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 111 of file itkHistogram.h.
typedef std::vector< InstanceIdentifier > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::OffsetTableType [private] |
Definition at line 507 of file itkHistogram.h.
typedef SmartPointer< Self > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Pointer |
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 98 of file itkHistogram.h.
typedef FrequencyContainerType::RelativeFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::RelativeFrequencyType |
Definition at line 124 of file itkHistogram.h.
typedef Histogram itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Self |
Standard typedefs
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 96 of file itkHistogram.h.
typedef Array< ::itk::SizeValueType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SizeType |
size array type
Definition at line 132 of file itkHistogram.h.
typedef SizeType::ValueType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SizeValueType |
Definition at line 133 of file itkHistogram.h.
typedef Sample< ArrayType > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Superclass |
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 97 of file itkHistogram.h.
typedef FrequencyContainerType::TotalAbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::TotalAbsoluteFrequencyType |
Total frequency type
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
Definition at line 123 of file itkHistogram.h.
typedef FrequencyContainerType::TotalRelativeFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::TotalRelativeFrequencyType |
Definition at line 125 of file itkHistogram.h.
typedef MeasurementVectorType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::ValueType |
Definition at line 115 of file itkHistogram.h.
itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Histogram | ( | ) | [protected] |
virtual itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::~Histogram | ( | ) | [inline, protected, virtual] |
Definition at line 499 of file itkHistogram.h.
itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Histogram | ( | const Self & | ) | [private] |
Iterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Begin | ( | void | ) | [inline] |
Definition at line 473 of file itkHistogram.h.
ConstIterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Begin | ( | void | ) | const [inline] |
Definition at line 485 of file itkHistogram.h.
virtual::itk::LightObject::Pointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::CreateAnother | ( | void | ) | 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.
Iterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::End | ( | void | ) | [inline] |
Definition at line 480 of file itkHistogram.h.
ConstIterator itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::End | ( | void | ) | const [inline] |
Definition at line 492 of file itkHistogram.h.
const MeasurementType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetBinMax | ( | unsigned int | dimension, |
InstanceIdentifier | nbin | ||
) | const |
Get the maximum value of nth bin of dimension d
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.
const MeasurementType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetBinMin | ( | unsigned int | dimension, |
InstanceIdentifier | nbin | ||
) | const |
Get the minimum value of nth bin of dimension d
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.
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.
const BinMaxVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetDimensionMaxs | ( | unsigned int | dimension | ) | const |
Get the vector of maximums along a dimension
const BinMinVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetDimensionMins | ( | unsigned int | dimension | ) | const |
Get the vector of bin minimums along a dimension
AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetFrequency | ( | InstanceIdentifier | id | ) | const |
Get the frequency of an instance indentifier
AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetFrequency | ( | const IndexType & | index | ) | const |
Get the frequency of an index
AbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetFrequency | ( | InstanceIdentifier | n, |
unsigned int | dimension | ||
) | const |
Get the frequency of a dimension's nth element.
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetHistogramMaxFromIndex | ( | const IndexType & | index | ) | const |
Get the maximums of the bin corresponding to a particular index
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetHistogramMinFromIndex | ( | const IndexType & | index | ) | const |
Get the minimums of the bin corresponding to a particular index
const IndexType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetIndex | ( | const MeasurementVectorType & | measurement | ) | const |
Get the index of a measurement value from the histogram.
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
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
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
const BinMaxContainerType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMaxs | ( | ) | const |
Method the maximums of the bins
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.
const MeasurementVectorType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMeasurementVector | ( | InstanceIdentifier | id | ) | const |
Get the measurement of an instance identifier. This is the centroid of the bin.
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.
const BinMinContainerType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetMins | ( | ) | const |
Get the minimums of the bins
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 > >.
const SizeType& itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetSize | ( | ) | const |
Get the size (N-dimensional) of the histogram
SizeValueType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetSize | ( | unsigned int | dimension | ) | const |
Get the size of histogram along a specified dimension
TotalAbsoluteFrequencyType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::GetTotalFrequency | ( | ) | const [virtual] |
Get the total frequency in the histogram
Implements itk::Statistics::Sample< Array< TMeasurement > >.
virtual void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Graft | ( | const DataObject * | ) | [virtual] |
Method to graft another histogram's output
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
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.
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.
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.
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.
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.
virtual void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Initialize | ( | ) | [inline, private, virtual] |
Restore the data object to its initial state. This means releasing memory.
Reimplemented from itk::DataObject.
Definition at line 514 of file itkHistogram.h.
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]
double itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Mean | ( | unsigned int | dimension | ) | const |
Get the mean value for a dimension
static Pointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::New | ( | ) | [static] |
standard New() method support
Reimplemented from itk::Object.
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::operator= | ( | const Self & | ) | [private] |
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.
Reimplemented from itk::Statistics::Sample< Array< TMeasurement > >.
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
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetBinMax | ( | unsigned int | dimension, |
InstanceIdentifier | nbin, | ||
MeasurementType | max | ||
) |
Set the maximum value of nth bin of dimension d
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetBinMin | ( | unsigned int | dimension, |
InstanceIdentifier | nbin, | ||
MeasurementType | min | ||
) |
Set the minimum value of nth bin of dimension d
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.
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetFrequency | ( | AbsoluteFrequencyType | value | ) |
Set all the bins in the histogram to a specified frequency
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.
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.
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.
void itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::SetToZero | ( | ) |
Initialize the values of the histogram bins to zero
InstanceIdentifier itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::Size | ( | ) | const [virtual] |
Returns the number of instances (bins or cells) in this container
Implements itk::Statistics::Sample< Array< TMeasurement > >.
bool itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_ClipBinsAtEnds [private] |
Definition at line 525 of file itkHistogram.h.
FrequencyContainerPointer itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_FrequencyContainer [private] |
Definition at line 509 of file itkHistogram.h.
std::vector< std::vector< MeasurementType > > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_Max [private] |
Definition at line 520 of file itkHistogram.h.
std::vector< std::vector< MeasurementType > > itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_Min [private] |
Definition at line 517 of file itkHistogram.h.
unsigned int itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_NumberOfInstances [private] |
Definition at line 510 of file itkHistogram.h.
OffsetTableType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_OffsetTable [private] |
Definition at line 508 of file itkHistogram.h.
SizeType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_Size [protected] |
Definition at line 502 of file itkHistogram.h.
IndexType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_TempIndex [mutable, private] |
Definition at line 523 of file itkHistogram.h.
MeasurementVectorType itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >::m_TempMeasurementVector [mutable, private] |
Definition at line 522 of file itkHistogram.h.