18 #ifndef itkStatisticsAlgorithm_h
19 #define itkStatisticsAlgorithm_h
29 template<
typename TSize >
32 template<
typename TValue >
33 TValue
MedianOfThree(
const TValue a,
const TValue b,
const TValue c);
50 template<
typename TSample >
52 const typename TSample::ConstIterator & begin,
53 const typename TSample::ConstIterator & end,
54 typename TSample::MeasurementVectorType & min,
55 typename TSample::MeasurementVectorType & max);
58 template<
typename TSubsample >
62 typename TSubsample::MeasurementVectorType & min,
63 typename TSubsample::MeasurementVectorType & max,
64 typename TSubsample::MeasurementVectorType & mean);
87 template<
typename TSubsample >
89 unsigned int activeDimension,
90 int beginIndex,
int endIndex,
91 const typename TSubsample::MeasurementType partitionValue);
110 template<
typename TSubsample >
111 typename TSubsample::MeasurementType
113 unsigned int activeDimension,
114 int beginIndex,
int endIndex,
116 typename TSubsample::MeasurementType medianGuess);
132 template<
typename TSubsample >
133 typename TSubsample::MeasurementType
135 unsigned int activeDimension,
136 int beginIndex,
int endIndex,
147 template<
typename TSubsample >
148 typename TSubsample::MeasurementType
150 unsigned int activeDimension,
151 int beginIndex,
int endIndex,
154 template<
typename TSubsample >
156 unsigned int activeDimension,
157 int beginIndex,
int endIndex);
159 template<
typename TSubsample >
161 unsigned int activeDimension,
162 int beginIndex,
int endIndex,
int node);
164 template<
typename TSubsample >
166 unsigned int activeDimension,
167 int beginIndex,
int endIndex);
169 template<
typename TSubsample >
171 unsigned int activeDimension,
177 template<
typename TSubsample >
179 unsigned int activeDimension,
180 int beginIndex,
int endIndex,
187 #ifndef ITK_MANUAL_INSTANTIATION
188 #include "itkStatisticsAlgorithm.hxx"
191 #endif // #ifndef itkStatisticsAlgorithm_h
void FindSampleBoundAndMean(const TSubsample *sample, int beginIndex, int endIndex, typename TSubsample::MeasurementVectorType &min, typename TSubsample::MeasurementVectorType &max, typename TSubsample::MeasurementVectorType &mean)
TSize FloorLog(TSize size)
int Partition(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex, const typename TSubsample::MeasurementType partitionValue)
TSubsample::MeasurementType QuickSelect(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex, int kth, typename TSubsample::MeasurementType medianGuess)
void IntrospectiveSortLoop(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex, int depthLimit, int sizeThreshold)
void InsertSort(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex)
void DownHeap(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex, int node)
void FindSampleBound(const TSample *sample, const typename TSample::ConstIterator &begin, const typename TSample::ConstIterator &end, typename TSample::MeasurementVectorType &min, typename TSample::MeasurementVectorType &max)
TValue MedianOfThree(const TValue a, const TValue b, const TValue c)
void HeapSort(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex)
TSubsample::MeasurementType NthElement(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex, int nth)
void IntrospectiveSort(TSubsample *sample, unsigned int activeDimension, int beginIndex, int endIndex, int sizeThreshold)