18 #ifndef sitkLabelIntensityStatisticsImageFilter_h
19 #define sitkLabelIntensityStatisticsImageFilter_h
66 SITK_RETURN_SELF_TYPE_HEADER
SetBackgroundValue (
double BackgroundValue ) { this->m_BackgroundValue = BackgroundValue;
return *
this; }
76 SITK_RETURN_SELF_TYPE_HEADER
SetComputeFeretDiameter (
bool ComputeFeretDiameter ) { this->m_ComputeFeretDiameter = ComputeFeretDiameter;
return *
this; }
90 SITK_RETURN_SELF_TYPE_HEADER
SetComputePerimeter (
bool ComputePerimeter ) { this->m_ComputePerimeter = ComputePerimeter;
return *
this; }
104 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfBins ( uint32_t NumberOfBins ) { this->m_NumberOfBins = NumberOfBins;
return *
this; }
117 std::vector<unsigned int>
GetBoundingBox(int64_t label)
const {
return this->m_pfGetBoundingBox(label); };
126 std::vector<unsigned int>
GetRegion(int64_t label)
const {
return this->m_pfGetRegion(label); };
135 std::vector<double>
GetCentroid(int64_t label)
const {
return this->m_pfGetCentroid(label); };
144 double GetElongation(int64_t label)
const {
return this->m_pfGetElongation(label); };
180 double GetFeretDiameter(int64_t label)
const {
return this->m_pfGetFeretDiameter(label); };
189 double GetFlatness(int64_t label)
const {
return this->m_pfGetFlatness(label); };
197 std::vector<int64_t>
GetLabels()
const {
return this->m_Labels; };
224 double GetPerimeter(int64_t label)
const {
return this->m_pfGetPerimeter(label); };
251 double GetPhysicalSize(int64_t label)
const {
return this->m_pfGetPhysicalSize(label); };
260 std::vector<double>
GetPrincipalAxes(int64_t label)
const {
return this->m_pfGetPrincipalAxes(label); };
269 std::vector<double>
GetPrincipalMoments(int64_t label)
const {
return this->m_pfGetPrincipalMoments(label); };
278 double GetRoundness(int64_t label)
const {
return this->m_pfGetRoundness(label); };
287 std::vector<double>
GetCenterOfGravity(int64_t label)
const {
return this->m_pfGetCenterOfGravity(label); };
296 double GetKurtosis(int64_t label)
const {
return this->m_pfGetKurtosis(label); };
305 double GetMaximum(int64_t label)
const {
return this->m_pfGetMaximum(label); };
314 std::vector<uint32_t>
GetMaximumIndex(int64_t label)
const {
return this->m_pfGetMaximumIndex(label); };
323 double GetMean(int64_t label)
const {
return this->m_pfGetMean(label); };
332 double GetMedian(int64_t label)
const {
return this->m_pfGetMedian(label); };
341 double GetMinimum(int64_t label)
const {
return this->m_pfGetMinimum(label); };
350 std::vector<uint32_t>
GetMinimumIndex(int64_t label)
const {
return this->m_pfGetMinimumIndex(label); };
359 double GetSkewness(int64_t label)
const {
return this->m_pfGetSkewness(label); };
377 double GetSum(int64_t label)
const {
return this->m_pfGetSum(label); };
386 double GetVariance(int64_t label)
const {
return this->m_pfGetVariance(label); };
426 std::string
GetName()
const {
return std::string (
"LabelIntensityStatisticsImageFilter"); }
429 std::string ToString()
const;
434 void Execute (
const Image & image,
const Image & featureImage );
438 bool HasLabel(int64_t label );
441 uint64_t GetNumberOfLabels( );
449 template <
class TImageType1,
class TImageType2>
void DualExecuteInternal (
const Image * image,
const Image * featureImage );
457 double m_BackgroundValue{0};
459 bool m_ComputeFeretDiameter{
false};
461 bool m_ComputePerimeter{
true};
463 uint32_t m_NumberOfBins{128u};
484 std::vector<int64_t> m_Labels{std::vector<int64_t>()};