IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | List of all members
ipsdk::math::Histogram< g_bDataIntegral > Class Template Reference

Class allowing to encapsulated histogram data and to compute several associated indicators. More...

#include <Histogram.h>

Inheritance diagram for ipsdk::math::Histogram< g_bDataIntegral >:
ipsdk::math::BaseHistogram ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

template<typename T >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< T >::value, void >::type initWithBinWidth (const T firstHistoValue, const T lastHistoValue, const T binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 
template<typename T >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< T >::value, void >::type initWithNbClasses (const T firstHistoValue, const T lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 
template<typename IteratorType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::has_dereference< IteratorType >::value, ipUInt64 >::type initWithBinWidth (const IteratorType &iterBegin, const IteratorType &iterEnd, const typename std::iterator_traits< IteratorType >::value_type firstHistoValue, const typename std::iterator_traits< IteratorType >::value_type lastHistoValue, const typename std::iterator_traits< IteratorType >::value_type binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 
template<typename ContainerType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, ipUInt64 >::type initWithBinWidth (const ContainerType &coll, const typename ContainerType::value_type firstHistoValue, const typename ContainerType::value_type lastHistoValue, const typename ContainerType::value_type binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 
template<typename IteratorType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::has_dereference< IteratorType >::value, void >::type initWithBinWidth (const IteratorType &iterBegin, const IteratorType &iterEnd, const typename std::iterator_traits< IteratorType >::value_type binWidth)
 
template<typename ContainerType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, void >::type initWithBinWidth (const ContainerType &coll, const typename ContainerType::value_type binWidth)
 
template<typename IteratorType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::has_dereference< IteratorType >::value, ipUInt64 >::type initWithNbClasses (const IteratorType &iterBegin, const IteratorType &iterEnd, const typename std::iterator_traits< IteratorType >::value_type firstHistoValue, const typename std::iterator_traits< IteratorType >::value_type lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 
template<typename ContainerType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, ipUInt64 >::type initWithNbClasses (const ContainerType &coll, const typename ContainerType::value_type firstHistoValue, const typename ContainerType::value_type lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 
template<typename IteratorType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::has_dereference< IteratorType >::value, void >::type initWithNbClasses (const IteratorType &iterBegin, const IteratorType &iterEnd, const ipUInt32 nbClasses)
 
template<typename ContainerType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, void >::type initWithNbClasses (const ContainerType &coll, const ipUInt32 nbClasses)
 
template<typename IteratorType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::has_dereference< IteratorType >::value, ipUInt64 >::type insertData (const IteratorType &iterBegin, const IteratorType &iterEnd)
 
template<typename ContainerType >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, ipUInt64 >::type insertData (const ContainerType &coll)
 
template<typename T >
IPSDK_FORCEINLINE boost::enable_if_c< boost::is_arithmetic< T >::value, ipBool >::type insertValue (const T value)
 
Constructors and destructor
 Histogram ()
 
 ~Histogram ()
 
Histogram initialization
template<typename T >
boost::enable_if_c< boost::is_arithmetic< T >::value, void >::type initWithBinWidth (const T firstHistoValue, const T lastHistoValue, const T binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram with a bin with value and for data type with integral type More...
 
template<typename T >
boost::enable_if_c< boost::is_arithmetic< T >::value, void >::type initWithNbClasses (const T firstHistoValue, const T lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram with a number of classes More...
 
template<typename IteratorType >
boost::enable_if_c< boost::has_dereference< IteratorType >::value, ipUInt64 >::type initWithBinWidth (const IteratorType &iterBegin, const IteratorType &iterEnd, const typename std::iterator_traits< IteratorType >::value_type firstHistoValue, const typename std::iterator_traits< IteratorType >::value_type lastHistoValue, const typename std::iterator_traits< IteratorType >::value_type binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram from a set of data and with a bin width More...
 
template<typename ContainerType >
boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, ipUInt64 >::type initWithBinWidth (const ContainerType &coll, const typename ContainerType::value_type firstHistoValue, const typename ContainerType::value_type lastHistoValue, const typename ContainerType::value_type binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram from a set of data and with a bin width More...
 
template<typename IteratorType >
boost::enable_if_c< boost::has_dereference< IteratorType >::value, void >::type initWithBinWidth (const IteratorType &iterBegin, const IteratorType &iterEnd, const typename std::iterator_traits< IteratorType >::value_type binWidth)
 initialization of histogram from a set of data and with a bin width More...
 
template<typename ContainerType >
boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, void >::type initWithBinWidth (const ContainerType &coll, const typename ContainerType::value_type binWidth)
 initialization of histogram from a set of data and with a bin width More...
 
template<typename IteratorType >
boost::enable_if_c< boost::has_dereference< IteratorType >::value, ipUInt64 >::type initWithNbClasses (const IteratorType &iterBegin, const IteratorType &iterEnd, const typename std::iterator_traits< IteratorType >::value_type firstHistoValue, const typename std::iterator_traits< IteratorType >::value_type lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram from a set of data and with a number of classes More...
 
template<typename ContainerType >
boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, ipUInt64 >::type initWithNbClasses (const ContainerType &coll, const typename ContainerType::value_type firstHistoValue, const typename ContainerType::value_type lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram from a set of data and with a number of classes More...
 
template<typename IteratorType >
boost::enable_if_c< boost::has_dereference< IteratorType >::value, void >::type initWithNbClasses (const IteratorType &iterBegin, const IteratorType &iterEnd, const ipUInt32 nbClasses)
 initialization of histogram from a set of data and a number of classes More...
 
template<typename ContainerType >
boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, void >::type initWithNbClasses (const ContainerType &coll, const ipUInt32 nbClasses)
 initialization of histogram from a set of data and a number of classes More...
 
Histogram data modifications
template<typename IteratorType >
boost::enable_if_c< boost::has_dereference< IteratorType >::value, ipUInt64 >::type insertData (const IteratorType &iterBegin, const IteratorType &iterEnd)
 method allowing to insert a set of data into histogram More...
 
template<typename ContainerType >
boost::enable_if_c< boost::is_arithmetic< ContainerType >::value==false &&boost::has_dereference< ContainerType >::value==false, ipUInt64 >::type insertData (const ContainerType &coll)
 method allowing to insert a set of data into histogram More...
 
template<typename T >
boost::enable_if_c< boost::is_arithmetic< T >::value, ipBool >::type insertValue (const T value)
 method allowing to insert a single value into histogram More...
 
Histogram query
ipBool areDataIntegral () const
 check whether histogram data are integral
 
- Public Member Functions inherited from ipsdk::math::BaseHistogram
bool isInit () const
 check whether object has been initialized
 
HistogramGaussianCurveFit fitGaussianCurve (const EstimationConfig &config=createNonRobustConfig(), const bool bIncludeOutOfBoundsData=false) const
 function allowing to fit a gaussian curve on histogram data Fitted gaussian curve is defined as follow :

\[ \begin{cases} G:\Re \rightarrow \Re \\ y = G(X) = Ae^{-\frac{(x-\mu)^2}{2\sigma^2}} \end{cases} \text{where} \begin{cases} x & \text{bin population}\\ y & \text{bin mid value} \\ \end{cases} \]

More...
 
clustering::KMeansClusteringPtr applyKMeansClustering (const ipUInt32 nbClusters, const bool bIncludeOutOfBoundsData=false, const clustering::KMeansClusteringConfig &clusteringConfig=clustering::KMeansClusteringConfig()) const
 function allowing to apply K-Means clustering algorithm with K-Means++ initialization on histogram data More...
 
template<typename KernelType >
boost::shared_ptr< clustering::KernelKMeansClustering< KernelType > > applyKernelKMeansClustering (const ipUInt32 nbClusters, const KernelType &kernel, const bool bIncludeOutOfBoundsData=false, const clustering::KernelKMeansClusteringConfig &clusteringConfig=clustering::KernelKMeansClusteringConfig()) const
 function allowing to apply Kernel K-Means clustering algorithm More...
 
template<typename KernelType >
boost::shared_ptr< clustering::SpectralClustering< KernelType > > applySpectralClustering (const ipUInt32 nbClusters, const KernelType &kernel, const bool bIncludeOutOfBoundsData=false, const clustering::KernelKMeansClusteringConfig &clusteringConfig=clustering::KernelKMeansClusteringConfig()) const
 function allowing to apply spectral clustering algorithm More...
 
void clear ()
 clear of all histogram informations
 
 BaseHistogram ()
 
virtual ~BaseHistogram ()=0
 
void initFromExisting (const ipReal64 firstHistoValue, const ipReal64 lastHistoValue, const ipReal64 binWidth, const UInt64Vector &histogramPopulation, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy=eHistogramOutOfBoundsPolicy::eHOOBP_Ignored)
 initialization of histogram with existing histogram data More...
 
void clearData ()
 clear of all data associated to histogram More...
 
ipReal64 getFirstValue () const
 retrieve first value for histogram More...
 
ipReal64 getLastValue () const
 retrieve last value for histogram More...
 
ipReal64 getLowerBound () const
 retrieve lower bound for histogram More...
 
ipReal64 getUpperBound () const
 retrieve upper bound for histogram More...
 
ipReal64 getRange () const
 retrieve range for histogram More...
 
ipReal64 getBinWidth () const
 retrieve bin width associated to histogram More...
 
ipUInt32 getNbClasses () const
 retrieve number of classes associated to histogram More...
 
ipUInt32 getNbBins () const
 retrieve number of bins associated to histogram More...
 
ipUInt32 getLowerOutOfBoundsBinIdx () const
 retrieve bin index associated to lower out of bounds data More...
 
ipUInt32 getUpperOutOfBoundsBinIdx () const
 retrieve bin index associated to upper out of bounds data More...
 
ipUInt32 getInBoundsBinOffset () const
 retrieve index associated to first in bounds data More...
 
const UInt64VectorgetHistogramPopulation () const
 access to data collection associated to histogram More...
 
ipUInt64 getTotalPopulation () const
 retrieve total population for histogram More...
 
UInt64Vector getHistogramClassPopulation () const
 retrieve sub part of collection associated to classes (ie. excluding reserved bin associated to out of bounds data)
 
ipReal64 getBinStartValue (const ipUInt32 binIdx) const
 retrieve starting value for a given histogram bin More...
 
ipReal64 getBinMidValue (const ipUInt32 binIdx) const
 retrieve mid value for a given histogram bin More...
 
ipReal64 getBinEndValue (const ipUInt32 binIdx) const
 retrieve ending value for a given histogram bin More...
 
ipReal64 getClassStartValue (const ipUInt32 classIdx) const
 retrieve starting value for a given histogram class More...
 
ipReal64 getClassMidValue (const ipUInt32 classIdx) const
 retrieve mid value for a given histogram class More...
 
ipReal64 getClassEndValue (const ipUInt32 classIdx) const
 retrieve ending value for a given histogram class More...
 
ipUInt64 getClassPopulation (const ipUInt32 classIdx) const
 access to population for a given class index More...
 
ipReal64 getClassFrequency (const ipUInt32 classIdx) const
 access to frequency for a given class index More...
 
ipUInt64 getClassCumulatedPopulation (const ipUInt32 classIdx) const
 access to cumulated population for a given class index More...
 
ipReal64 getClassCumulatedFrequency (const ipUInt32 classIdx) const
 access to cumulated frequency for a given class index More...
 
ipBool isOutOfBounds (const ipReal64 value) const
 method allowing to check whether a given input value is out of histogram bounds More...
 
ipBool isOutOfLowerBound (const ipReal64 value) const
 method allowing to check whether a given input value is lower than histogram lower bound More...
 
ipBool isOutOfUpperBound (const ipReal64 value) const
 method allowing to check whether a given input value is greater than histogram upper bound More...
 
ipBool canBeAggregated (const ipReal64 value) const
 method allowing to check whether a value can be aggregated to histogram data regards to histogram range and an out of bounds policy More...
 
ipUInt32 getBinIdx (const ipReal64 value) const
 retrieve histogram bin index associated to a given input value More...
 
ipUInt64 getPopulation (const ipReal64 value) const
 retrieve histogram population for a given value More...
 
ipReal64 getFrequency (const ipReal64 value) const
 retrieve histogram frequency for a given value More...
 
ipUInt64 getCumulatedPopulation (const ipReal64 value) const
 retrieve histogram cumulated population for a given value More...
 
ipReal64 getCumulatedFrequency (const ipReal64 value) const
 retrieve histogram cumulated frequency for a given value More...
 
void getFrequencies (Real64Vector &frequencies) const
 compute histogram frequencies
 
Real64Vector getFrequencies () const
 compute histogram frequencies
 
void getCumulatedFrequencies (Real64Vector &cumulatedFrequencies) const
 compute histogram cumulated frequencies
 
Real64Vector getCumulatedFrequencies () const
 compute histogram cumulated frequencies
 
Real64Vector getBinMidValues () const
 retrieve histogram bin mid values
 
ipUInt32 getQuantileClassIdx (const ipReal64 quantileValue) const
 retrieve class index associated to a given quantile value More...
 
ipUInt32 getMaxPopulationClassIdx () const
 retrieve class index associated to maximum population More...
 
UInt32Vector findLocalMaxima (const bool bStrictExtrema=true, const eExtremaBorderPolicy &extremaBorderPolicy=eExtremaBorderPolicy::eEBP_Keeped, const ipReal64 minDistance=0, const ipUInt64 populationThreshold=0) const
 function allowing to retrieve local maxima associated to histogram More...
 
UInt32Vector findLocalMinima (const bool bStrictExtrema=true, const eExtremaBorderPolicy &extremaBorderPolicy=eExtremaBorderPolicy::eEBP_Keeped, const ipReal64 minDistance=0, const ipUInt64 populationThreshold=NumericLimits< ipUInt64 >::max()) const
 function allowing to retrieve local minima associated to histogram More...
 
HistogramExtremaColl findLocalDilatedMaxima (const ipUInt64 dilateFactor, const eExtremaBorderPolicy &extremaBorderPolicy=eExtremaBorderPolicy::eEBP_Keeped, const ipReal64 minDistance=0, const ipUInt64 populationThreshold=0) const
 function allowing to retrieve local dilated maxima associated to histogram More...
 
HistogramExtremaColl findLocalDilatedMinima (const ipUInt64 dilateFactor, const eExtremaBorderPolicy &extremaBorderPolicy=eExtremaBorderPolicy::eEBP_Keeped, const ipReal64 minDistance=0, const ipUInt64 populationThreshold=NumericLimits< ipUInt64 >::max()) const
 function allowing to retrieve local dilated minima associated to histogram (see BaseHistogram::findLocalDilatedMaxima for an illustration of dilation process) More...
 
- Public Member Functions inherited from ipsdk::BaseSerializationObject
 BaseSerializationObject ()
 Default constructor.
 
virtual ~BaseSerializationObject ()=0
 destructor
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 

Additional Inherited Members

- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 method allowing to retrieve class version information for serialization
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 
- Protected Member Functions inherited from ipsdk::math::BaseHistogram
void checkInit () const
 
void checkClassIdx (const ipUInt32 classIdx) const
 method allowing to check validity of a class index
 
void checkBinIdx (const ipUInt32 classIdx) const
 method allowing to check validity of a bin index
 
void updateHistogramParams (const ipReal64 firstHistoValue, const ipReal64 lastHistoValue, const ipReal64 binWidth, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 method allowing to update histogram parameters More...
 
void updateHistogramParams (const ipReal64 firstHistoValue, const ipReal64 lastHistoValue, const ipUInt32 nbClasses, const eHistogramOutOfBoundsPolicy &outOfBoundsPolicy)
 method allowing to update histogram parameters More...
 
ipBool insertDataInternal (const ipReal64 value)
 insertion of data into histogram More...
 
void clearCumulatedData ()
 clear of cumulated data associated to histogram
 
void collectClusteringData (const bool bIncludeOutOfBoundsData, clustering::VectorColl &inputDataColl) const
 method allowing to collect histogram data for clustering computation
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 method allowing to ensure serialization write part for object
 
virtual BoolResult read (BaseIArchive &ar)
 method allowing to ensure serialization read part for object
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Detailed Description

template<ipBool g_bDataIntegral>
class ipsdk::math::Histogram< g_bDataIntegral >

Class allowing to encapsulated histogram data and to compute several associated indicators.

Author
E.Noirfalise
Date
2017/07/27
Note
Please note that :
  • Input data provided to histogram will be casted to ipReal64 type
  • If flag DataIntegral is set to true, data range will be setup to lastHistoValue - firstHistoValue + 1 (while it has a standard value of lastHistoValue - firstHistoValue in other case)
  • there is no check on valididy of input data regards to DataIntegral flag value (we do not check that input bounds nor input data values have integer values is this flag is setup to true)

Member Function Documentation

◆ initWithBinWidth() [1/5]

template<ipBool g_bDataIntegral>
template<typename T >
boost::enable_if_c<boost::is_arithmetic<T>::value, void>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithBinWidth ( const T  firstHistoValue,
const T  lastHistoValue,
const T  binWidth,
const eHistogramOutOfBoundsPolicy outOfBoundsPolicy = eHistogramOutOfBoundsPolicy::eHOOBP_Ignored 
)

initialization of histogram with a bin with value and for data type with integral type

Exceptions
ipsdk::math::IPSDKMathExceptionif firstHistoValue > lastHistoValue
ipsdk::math::IPSDKMathExceptionif binWidth <= 0

◆ initWithNbClasses() [1/5]

template<ipBool g_bDataIntegral>
template<typename T >
boost::enable_if_c<boost::is_arithmetic<T>::value, void>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithNbClasses ( const T  firstHistoValue,
const T  lastHistoValue,
const ipUInt32  nbClasses,
const eHistogramOutOfBoundsPolicy outOfBoundsPolicy = eHistogramOutOfBoundsPolicy::eHOOBP_Ignored 
)

initialization of histogram with a number of classes

Exceptions
ipsdk::math::IPSDKMathExceptionif firstHistoValue > lastHistoValue
ipsdk::math::IPSDKMathExceptionif nbClasses == 0

◆ initWithBinWidth() [2/5]

template<ipBool g_bDataIntegral>
template<typename IteratorType >
boost::enable_if_c<boost::has_dereference<IteratorType>::value, ipUInt64>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithBinWidth ( const IteratorType &  iterBegin,
const IteratorType &  iterEnd,
const typename std::iterator_traits< IteratorType >::value_type  firstHistoValue,
const typename std::iterator_traits< IteratorType >::value_type  lastHistoValue,
const typename std::iterator_traits< IteratorType >::value_type  binWidth,
const eHistogramOutOfBoundsPolicy outOfBoundsPolicy = eHistogramOutOfBoundsPolicy::eHOOBP_Ignored 
)

initialization of histogram from a set of data and with a bin width

In this case we initialize first and last histogram values with provided user values

Returns
number of inserted data
Exceptions
ipsdk::math::IPSDKMathExceptionif firstHistoValue > lastHistoValue
ipsdk::math::IPSDKMathExceptionif binWidth <= 0

◆ initWithBinWidth() [3/5]

template<ipBool g_bDataIntegral>
template<typename ContainerType >
boost::enable_if_c<boost::is_arithmetic<ContainerType>::value == false && boost::has_dereference<ContainerType>::value == false, ipUInt64>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithBinWidth ( const ContainerType &  coll,
const typename ContainerType::value_type  firstHistoValue,
const typename ContainerType::value_type  lastHistoValue,
const typename ContainerType::value_type  binWidth,
const eHistogramOutOfBoundsPolicy outOfBoundsPolicy = eHistogramOutOfBoundsPolicy::eHOOBP_Ignored 
)

initialization of histogram from a set of data and with a bin width

In this case we initialize first and last histogram values with provided user values

Returns
number of inserted data
Exceptions
ipsdk::math::IPSDKMathExceptionif firstHistoValue > lastHistoValue
ipsdk::math::IPSDKMathExceptionif binWidth <= 0

◆ initWithBinWidth() [4/5]

template<ipBool g_bDataIntegral>
template<typename IteratorType >
boost::enable_if_c<boost::has_dereference<IteratorType>::value, void>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithBinWidth ( const IteratorType &  iterBegin,
const IteratorType &  iterEnd,
const typename std::iterator_traits< IteratorType >::value_type  binWidth 
)

initialization of histogram from a set of data and with a bin width

In this case first and last histogram values are extracted from input collection

Exceptions
ipsdk::math::IPSDKMathExceptionif binWidth <= 0

◆ initWithBinWidth() [5/5]

template<ipBool g_bDataIntegral>
template<typename ContainerType >
boost::enable_if_c<boost::is_arithmetic<ContainerType>::value == false && boost::has_dereference<ContainerType>::value == false, void>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithBinWidth ( const ContainerType &  coll,
const typename ContainerType::value_type  binWidth 
)

initialization of histogram from a set of data and with a bin width

In this case first and last histogram values are extracted from input collection

Exceptions
ipsdk::math::IPSDKMathExceptionif binWidth <= 0

◆ initWithNbClasses() [2/5]

template<ipBool g_bDataIntegral>
template<typename IteratorType >
boost::enable_if_c<boost::has_dereference<IteratorType>::value, ipUInt64>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithNbClasses ( const IteratorType &  iterBegin,
const IteratorType &  iterEnd,
const typename std::iterator_traits< IteratorType >::value_type  firstHistoValue,
const typename std::iterator_traits< IteratorType >::value_type  lastHistoValue,
const ipUInt32  nbClasses,
const eHistogramOutOfBoundsPolicy outOfBoundsPolicy = eHistogramOutOfBoundsPolicy::eHOOBP_Ignored 
)

initialization of histogram from a set of data and with a number of classes

In this case we initialize first and last histogram values with provided user values

Returns
number of inserted data
Exceptions
ipsdk::math::IPSDKMathExceptionif firstHistoValue > lastHistoValue
ipsdk::math::IPSDKMathExceptionif nbClasses == 0

◆ initWithNbClasses() [3/5]

template<ipBool g_bDataIntegral>
template<typename ContainerType >
boost::enable_if_c<boost::is_arithmetic<ContainerType>::value == false && boost::has_dereference<ContainerType>::value == false, ipUInt64>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithNbClasses ( const ContainerType &  coll,
const typename ContainerType::value_type  firstHistoValue,
const typename ContainerType::value_type  lastHistoValue,
const ipUInt32  nbClasses,
const eHistogramOutOfBoundsPolicy outOfBoundsPolicy = eHistogramOutOfBoundsPolicy::eHOOBP_Ignored 
)

initialization of histogram from a set of data and with a number of classes

In this case we initialize first and last histogram values with provided user values

Returns
number of inserted data
Exceptions
ipsdk::math::IPSDKMathExceptionif firstHistoValue > lastHistoValue
ipsdk::math::IPSDKMathExceptionif nbClasses == 0

◆ initWithNbClasses() [4/5]

template<ipBool g_bDataIntegral>
template<typename IteratorType >
boost::enable_if_c<boost::has_dereference<IteratorType>::value, void>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithNbClasses ( const IteratorType &  iterBegin,
const IteratorType &  iterEnd,
const ipUInt32  nbClasses 
)

initialization of histogram from a set of data and a number of classes

In this case first and last histogram values are extracted from input collection

Exceptions
ipsdk::math::IPSDKMathExceptionif nbClasses == 0

◆ initWithNbClasses() [5/5]

template<ipBool g_bDataIntegral>
template<typename ContainerType >
boost::enable_if_c<boost::is_arithmetic<ContainerType>::value == false && boost::has_dereference<ContainerType>::value == false, void>::type ipsdk::math::Histogram< g_bDataIntegral >::initWithNbClasses ( const ContainerType &  coll,
const ipUInt32  nbClasses 
)

initialization of histogram from a set of data and a number of classes

In this case first and last histogram values are extracted from input collection

Exceptions
ipsdk::math::IPSDKMathExceptionif nbClasses == 0

◆ insertData() [1/2]

template<ipBool g_bDataIntegral>
template<typename IteratorType >
boost::enable_if_c<boost::has_dereference<IteratorType>::value, ipUInt64>::type ipsdk::math::Histogram< g_bDataIntegral >::insertData ( const IteratorType &  iterBegin,
const IteratorType &  iterEnd 
)

method allowing to insert a set of data into histogram

Returns
number of inserted data
Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

◆ insertData() [2/2]

template<ipBool g_bDataIntegral>
template<typename ContainerType >
boost::enable_if_c<boost::is_arithmetic<ContainerType>::value == false && boost::has_dereference<ContainerType>::value == false, ipUInt64>::type ipsdk::math::Histogram< g_bDataIntegral >::insertData ( const ContainerType &  coll)

method allowing to insert a set of data into histogram

Returns
number of inserted data
Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

◆ insertValue()

template<ipBool g_bDataIntegral>
template<typename T >
boost::enable_if_c<boost::is_arithmetic<T>::value, ipBool>::type ipsdk::math::Histogram< g_bDataIntegral >::insertValue ( const T  value)

method allowing to insert a single value into histogram

Returns
true if data has been successfully inserted
Exceptions
ipsdk::math::IPSDKMathExceptionif isInit() == false

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