SimpleITK  
sitkLabelIntensityStatisticsImageFilter.h
Go to the documentation of this file.
1/*=========================================================================
2*
3* Copyright NumFOCUS
4*
5* Licensed under the Apache License, Version 2.0 (the "License");
6* you may not use this file except in compliance with the License.
7* You may obtain a copy of the License at
8*
9* http://www.apache.org/licenses/LICENSE-2.0.txt
10*
11* Unless required by applicable law or agreed to in writing, software
12* distributed under the License is distributed on an "AS IS" BASIS,
13* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14* See the License for the specific language governing permissions and
15* limitations under the License.
16*
17*=========================================================================*/
18#ifndef sitkLabelIntensityStatisticsImageFilter_h
19#define sitkLabelIntensityStatisticsImageFilter_h
20
21/*
22 * WARNING: DO NOT EDIT THIS FILE!
23 * THIS FILE IS AUTOMATICALLY GENERATED BY THE SIMPLEITK BUILD PROCESS.
24 * Please look at sitkDualImageFilterTemplate.h.jinja to make changes.
25 */
26
27#include <memory>
28
29#include "sitkImageFilter.h"
31#include "sitkBasicFilters.h"
33
34namespace itk::simple {
35
49public:
51
54
58
61
62
63
64
68 void
69 SetBackgroundValue(double BackgroundValue )
70 { this->m_BackgroundValue = BackgroundValue; }
71
74 double
75 GetBackgroundValue() const { return this->m_BackgroundValue; }
76
77
82 void
83 SetComputeFeretDiameter(bool ComputeFeretDiameter )
84 { this->m_ComputeFeretDiameter = ComputeFeretDiameter; }
85
87 void
89 void
95 bool
97
98
103 void
104 SetComputePerimeter(bool ComputePerimeter )
105 { this->m_ComputePerimeter = ComputePerimeter; }
106
108 void
109 ComputePerimeterOn() { return this->SetComputePerimeter(true); }
110 void
111 ComputePerimeterOff() { return this->SetComputePerimeter(false); }
116 bool
117 GetComputePerimeter() const { return this->m_ComputePerimeter; }
118
119
124 void
125 SetNumberOfBins(uint32_t NumberOfBins )
126 { this->m_NumberOfBins = NumberOfBins; }
127
131 uint32_t
132 GetNumberOfBins() const { return this->m_NumberOfBins; }
133
134
142 std::vector<unsigned int> GetBoundingBox(int64_t label)const { return this->m_pfGetBoundingBox(label); }
143
150 std::vector<unsigned int> GetRegion(int64_t label)const { return this->m_pfGetRegion(label); }
151
158 std::vector<double> GetCentroid(int64_t label)const { return this->m_pfGetCentroid(label); }
159
166 double GetElongation(int64_t label)const { return this->m_pfGetElongation(label); }
167
174 std::vector<double> GetEquivalentEllipsoidDiameter(int64_t label)const { return this->m_pfGetEquivalentEllipsoidDiameter(label); }
175
182 double GetEquivalentSphericalPerimeter(int64_t label)const { return this->m_pfGetEquivalentSphericalPerimeter(label); }
183
190 double GetEquivalentSphericalRadius(int64_t label)const { return this->m_pfGetEquivalentSphericalRadius(label); }
191
198 double GetFeretDiameter(int64_t label)const { return this->m_pfGetFeretDiameter(label); }
199
206 double GetFlatness(int64_t label)const { return this->m_pfGetFlatness(label); }
207
213 std::vector<int64_t> GetLabels() const { return this->m_Labels; }
214
221 uint64_t GetNumberOfPixels(int64_t label)const { return this->m_pfGetNumberOfPixels(label); }
222
229 uint64_t GetNumberOfPixelsOnBorder(int64_t label)const { return this->m_pfGetNumberOfPixelsOnBorder(label); }
230
237 double GetPerimeter(int64_t label)const { return this->m_pfGetPerimeter(label); }
238
245 double GetPerimeterOnBorder(int64_t label)const { return this->m_pfGetPerimeterOnBorder(label); }
246
253 double GetPerimeterOnBorderRatio(int64_t label)const { return this->m_pfGetPerimeterOnBorderRatio(label); }
254
261 double GetPhysicalSize(int64_t label)const { return this->m_pfGetPhysicalSize(label); }
262
269 std::vector<double> GetPrincipalAxes(int64_t label)const { return this->m_pfGetPrincipalAxes(label); }
270
277 std::vector<double> GetPrincipalMoments(int64_t label)const { return this->m_pfGetPrincipalMoments(label); }
278
285 double GetRoundness(int64_t label)const { return this->m_pfGetRoundness(label); }
286
293 std::vector<double> GetCenterOfGravity(int64_t label)const { return this->m_pfGetCenterOfGravity(label); }
294
301 double GetKurtosis(int64_t label)const { return this->m_pfGetKurtosis(label); }
302
309 double GetMaximum(int64_t label)const { return this->m_pfGetMaximum(label); }
310
317 std::vector<uint32_t> GetMaximumIndex(int64_t label)const { return this->m_pfGetMaximumIndex(label); }
318
325 double GetMean(int64_t label)const { return this->m_pfGetMean(label); }
326
333 double GetMedian(int64_t label)const { return this->m_pfGetMedian(label); }
334
341 double GetMinimum(int64_t label)const { return this->m_pfGetMinimum(label); }
342
349 std::vector<uint32_t> GetMinimumIndex(int64_t label)const { return this->m_pfGetMinimumIndex(label); }
350
357 double GetSkewness(int64_t label)const { return this->m_pfGetSkewness(label); }
358
365 double GetStandardDeviation(int64_t label)const { return this->m_pfGetStandardDeviation(label); }
366
373 double GetSum(int64_t label)const { return this->m_pfGetSum(label); }
374
381 double GetVariance(int64_t label)const { return this->m_pfGetVariance(label); }
382
389 double GetWeightedElongation(int64_t label)const { return this->m_pfGetWeightedElongation(label); }
390
397 double GetWeightedFlatness(int64_t label)const { return this->m_pfGetWeightedFlatness(label); }
398
405 std::vector<double> GetWeightedPrincipalAxes(int64_t label)const { return this->m_pfGetWeightedPrincipalAxes(label); }
406
413 std::vector<double> GetWeightedPrincipalMoments(int64_t label)const { return this->m_pfGetWeightedPrincipalMoments(label); }
414
416 std::string GetName() const { return std::string("LabelIntensityStatisticsImageFilter"); }
417
419 std::string ToString() const;
420
421
423 void Execute(const Image &image, const Image &featureImage);
426 int64_t label
427 );
428
431 );
432
433
434private:
435
437 using MemberFunctionType = void (Self::*)(const Image *
438 image, const Image *
439 featureImage);
440
442 template <class TImageType1, class TImageType2> void DualExecuteInternal(const Image *
443 image, const Image *
444 featureImage);
445
446
448
449
450
451 double m_BackgroundValue{ 0 };
452
454
455 bool m_ComputePerimeter{ true };
456
457 uint32_t m_NumberOfBins{ 128u };
458
459
460
461 std::function<std::vector<unsigned int>(int64_t)> m_pfGetBoundingBox;
462 std::function<std::vector<unsigned int>(int64_t)> m_pfGetRegion;
463 std::function<std::vector<double>(int64_t)> m_pfGetCentroid;
464 std::function<double(int64_t)> m_pfGetElongation;
465 std::function<std::vector<double>(int64_t)> m_pfGetEquivalentEllipsoidDiameter;
466 std::function<double(int64_t)> m_pfGetEquivalentSphericalPerimeter;
467 std::function<double(int64_t)> m_pfGetEquivalentSphericalRadius;
468 std::function<double(int64_t)> m_pfGetFeretDiameter;
469 std::function<double(int64_t)> m_pfGetFlatness;
470 std::vector<int64_t> m_Labels{ std::vector<int64_t>() };
471 std::function<uint64_t(int64_t)> m_pfGetNumberOfPixels;
472 std::function<uint64_t(int64_t)> m_pfGetNumberOfPixelsOnBorder;
473 std::function<double(int64_t)> m_pfGetPerimeter;
474 std::function<double(int64_t)> m_pfGetPerimeterOnBorder;
475 std::function<double(int64_t)> m_pfGetPerimeterOnBorderRatio;
476 std::function<double(int64_t)> m_pfGetPhysicalSize;
477 std::function<std::vector<double>(int64_t)> m_pfGetPrincipalAxes;
478 std::function<std::vector<double>(int64_t)> m_pfGetPrincipalMoments;
479 std::function<double(int64_t)> m_pfGetRoundness;
480 std::function<std::vector<double>(int64_t)> m_pfGetCenterOfGravity;
481 std::function<double(int64_t)> m_pfGetKurtosis;
482 std::function<double(int64_t)> m_pfGetMaximum;
483 std::function<std::vector<uint32_t>(int64_t)> m_pfGetMaximumIndex;
484 std::function<double(int64_t)> m_pfGetMean;
485 std::function<double(int64_t)> m_pfGetMedian;
486 std::function<double(int64_t)> m_pfGetMinimum;
487 std::function<std::vector<uint32_t>(int64_t)> m_pfGetMinimumIndex;
488 std::function<double(int64_t)> m_pfGetSkewness;
489 std::function<double(int64_t)> m_pfGetStandardDeviation;
490 std::function<double(int64_t)> m_pfGetSum;
491 std::function<double(int64_t)> m_pfGetVariance;
492 std::function<double(int64_t)> m_pfGetWeightedElongation;
493 std::function<double(int64_t)> m_pfGetWeightedFlatness;
494 std::function<std::vector<double>(int64_t)> m_pfGetWeightedPrincipalAxes;
495 std::function<std::vector<double>(int64_t)> m_pfGetWeightedPrincipalMoments;
496
497
498 // Holder of process object for active measurements
499 std::unique_ptr<itk::ProcessObject, ProcessObjectDeleter> m_Filter{nullptr};
500
501
502
503};
504
505
506}
507#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
std::function< std::vector< double >(int64_t)> m_pfGetEquivalentEllipsoidDiameter
std::unique_ptr< itk::ProcessObject, ProcessObjectDeleter > m_Filter
std::function< std::vector< uint32_t >(int64_t)> m_pfGetMaximumIndex
std::function< std::vector< double >(int64_t)> m_pfGetWeightedPrincipalMoments
std::function< std::vector< double >(int64_t)> m_pfGetWeightedPrincipalAxes
std::vector< unsigned int > GetBoundingBox(int64_t label) const
void DualExecuteInternal(const Image *image, const Image *featureImage)
std::function< std::vector< double >(int64_t)> m_pfGetCenterOfGravity
std::function< std::vector< uint32_t >(int64_t)> m_pfGetMinimumIndex
std::function< std::vector< double >(int64_t)> m_pfGetPrincipalAxes
std::function< std::vector< double >(int64_t)> m_pfGetPrincipalMoments
void(Self::*)(const Image * image, const Image * featureImage) MemberFunctionType
std::function< std::vector< unsigned int >(int64_t)> m_pfGetBoundingBox
void Execute(const Image &image, const Image &featureImage)
std::vector< double > GetEquivalentEllipsoidDiameter(int64_t label) const
std::function< std::vector< unsigned int >(int64_t)> m_pfGetRegion
static const detail::DualMemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
A class used to instantiate and generate function objects of templated member functions with two temp...
UnsignedIntegerPixelIDTypeList IntegerLabelPixelIDTypeList
#define SITKBasicFilters_EXPORT