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.in to make changes.
25 */
26
27#include <memory>
28
29#include "sitkImageFilter.h"
31#include "sitkBasicFilters.h"
32
33namespace itk::simple {
34
48 public:
50
53
57
60
61\
62
66 SITK_RETURN_SELF_TYPE_HEADER SetBackgroundValue ( double BackgroundValue ) { this->m_BackgroundValue = BackgroundValue; return *this; }
67
71 double GetBackgroundValue() const { return this->m_BackgroundValue; }\
72
76 SITK_RETURN_SELF_TYPE_HEADER SetComputeFeretDiameter ( bool ComputeFeretDiameter ) { this->m_ComputeFeretDiameter = ComputeFeretDiameter; return *this; }
77
79 SITK_RETURN_SELF_TYPE_HEADER ComputeFeretDiameterOn() { return this->SetComputeFeretDiameter(true); }
80 SITK_RETURN_SELF_TYPE_HEADER ComputeFeretDiameterOff() { return this->SetComputeFeretDiameter(false); }
81
85 bool GetComputeFeretDiameter() const { return this->m_ComputeFeretDiameter; }\
86
90 SITK_RETURN_SELF_TYPE_HEADER SetComputePerimeter ( bool ComputePerimeter ) { this->m_ComputePerimeter = ComputePerimeter; return *this; }
91
93 SITK_RETURN_SELF_TYPE_HEADER ComputePerimeterOn() { return this->SetComputePerimeter(true); }
94 SITK_RETURN_SELF_TYPE_HEADER ComputePerimeterOff() { return this->SetComputePerimeter(false); }
95
99 bool GetComputePerimeter() const { return this->m_ComputePerimeter; }\
100
104 SITK_RETURN_SELF_TYPE_HEADER SetNumberOfBins ( uint32_t NumberOfBins ) { this->m_NumberOfBins = NumberOfBins; return *this; }
105
109 uint32_t GetNumberOfBins() const { return this->m_NumberOfBins; }
117 std::vector<unsigned int> GetBoundingBox(int64_t label) const { return this->m_pfGetBoundingBox(label); };
118
126 std::vector<unsigned int> GetRegion(int64_t label) const { return this->m_pfGetRegion(label); };
127
135 std::vector<double> GetCentroid(int64_t label) const { return this->m_pfGetCentroid(label); };
136
144 double GetElongation(int64_t label) const { return this->m_pfGetElongation(label); };
145
153 std::vector<double> GetEquivalentEllipsoidDiameter(int64_t label) const { return this->m_pfGetEquivalentEllipsoidDiameter(label); };
154
162 double GetEquivalentSphericalPerimeter(int64_t label) const { return this->m_pfGetEquivalentSphericalPerimeter(label); };
163
171 double GetEquivalentSphericalRadius(int64_t label) const { return this->m_pfGetEquivalentSphericalRadius(label); };
172
180 double GetFeretDiameter(int64_t label) const { return this->m_pfGetFeretDiameter(label); };
181
189 double GetFlatness(int64_t label) const { return this->m_pfGetFlatness(label); };
190
197 std::vector<int64_t> GetLabels() const { return this->m_Labels; };
198
206 uint64_t GetNumberOfPixels(int64_t label) const { return this->m_pfGetNumberOfPixels(label); };
207
215 uint64_t GetNumberOfPixelsOnBorder(int64_t label) const { return this->m_pfGetNumberOfPixelsOnBorder(label); };
216
224 double GetPerimeter(int64_t label) const { return this->m_pfGetPerimeter(label); };
225
233 double GetPerimeterOnBorder(int64_t label) const { return this->m_pfGetPerimeterOnBorder(label); };
234
242 double GetPerimeterOnBorderRatio(int64_t label) const { return this->m_pfGetPerimeterOnBorderRatio(label); };
243
251 double GetPhysicalSize(int64_t label) const { return this->m_pfGetPhysicalSize(label); };
252
260 std::vector<double> GetPrincipalAxes(int64_t label) const { return this->m_pfGetPrincipalAxes(label); };
261
269 std::vector<double> GetPrincipalMoments(int64_t label) const { return this->m_pfGetPrincipalMoments(label); };
270
278 double GetRoundness(int64_t label) const { return this->m_pfGetRoundness(label); };
279
287 std::vector<double> GetCenterOfGravity(int64_t label) const { return this->m_pfGetCenterOfGravity(label); };
288
296 double GetKurtosis(int64_t label) const { return this->m_pfGetKurtosis(label); };
297
305 double GetMaximum(int64_t label) const { return this->m_pfGetMaximum(label); };
306
314 std::vector<uint32_t> GetMaximumIndex(int64_t label) const { return this->m_pfGetMaximumIndex(label); };
315
323 double GetMean(int64_t label) const { return this->m_pfGetMean(label); };
324
332 double GetMedian(int64_t label) const { return this->m_pfGetMedian(label); };
333
341 double GetMinimum(int64_t label) const { return this->m_pfGetMinimum(label); };
342
350 std::vector<uint32_t> GetMinimumIndex(int64_t label) const { return this->m_pfGetMinimumIndex(label); };
351
359 double GetSkewness(int64_t label) const { return this->m_pfGetSkewness(label); };
360
368 double GetStandardDeviation(int64_t label) const { return this->m_pfGetStandardDeviation(label); };
369
377 double GetSum(int64_t label) const { return this->m_pfGetSum(label); };
378
386 double GetVariance(int64_t label) const { return this->m_pfGetVariance(label); };
387
395 double GetWeightedElongation(int64_t label) const { return this->m_pfGetWeightedElongation(label); };
396
404 double GetWeightedFlatness(int64_t label) const { return this->m_pfGetWeightedFlatness(label); };
405
413 std::vector<double> GetWeightedPrincipalAxes(int64_t label) const { return this->m_pfGetWeightedPrincipalAxes(label); };
414
422 std::vector<double> GetWeightedPrincipalMoments(int64_t label) const { return this->m_pfGetWeightedPrincipalMoments(label); };
423
424
426 std::string GetName() const { return std::string ("LabelIntensityStatisticsImageFilter"); }
427
429 std::string ToString() const;
430
431
433
434 void Execute ( const Image & image, const Image & featureImage );
435
436
438 bool HasLabel(int64_t label );
439
441 uint64_t GetNumberOfLabels( );
442
443
444 private:
446 using MemberFunctionType = void (Self::*)( const Image * image, const Image * featureImage );
447
449 template <class TImageType1, class TImageType2> void DualExecuteInternal ( const Image * image, const Image * featureImage );
450
451
452 std::unique_ptr<detail::DualMemberFunctionFactory<MemberFunctionType> > m_DualMemberFactory;
453
454
455
456 /* */
458
460
462
463 uint32_t m_NumberOfBins{128u};
464
465 /* Docs */
466 std::function<std::vector<unsigned int>(int64_t)> m_pfGetBoundingBox;
467 /* Docs */
468 std::function<std::vector<unsigned int>(int64_t)> m_pfGetRegion;
469 /* Docs */
470 std::function<std::vector<double>(int64_t)> m_pfGetCentroid;
471 /* Docs */
472 std::function<double(int64_t)> m_pfGetElongation;
473 /* Docs */
474 std::function<std::vector<double>(int64_t)> m_pfGetEquivalentEllipsoidDiameter;
475 /* Docs */
476 std::function<double(int64_t)> m_pfGetEquivalentSphericalPerimeter;
477 /* Docs */
478 std::function<double(int64_t)> m_pfGetEquivalentSphericalRadius;
479 /* Docs */
480 std::function<double(int64_t)> m_pfGetFeretDiameter;
481 /* Docs */
482 std::function<double(int64_t)> m_pfGetFlatness;
483 /* Docs */
484 std::vector<int64_t> m_Labels{std::vector<int64_t>()};
485 /* Docs */
486 std::function<uint64_t(int64_t)> m_pfGetNumberOfPixels;
487 /* Docs */
488 std::function<uint64_t(int64_t)> m_pfGetNumberOfPixelsOnBorder;
489 /* Docs */
490 std::function<double(int64_t)> m_pfGetPerimeter;
491 /* Docs */
492 std::function<double(int64_t)> m_pfGetPerimeterOnBorder;
493 /* Docs */
494 std::function<double(int64_t)> m_pfGetPerimeterOnBorderRatio;
495 /* Docs */
496 std::function<double(int64_t)> m_pfGetPhysicalSize;
497 /* Docs */
498 std::function<std::vector<double>(int64_t)> m_pfGetPrincipalAxes;
499 /* Docs */
500 std::function<std::vector<double>(int64_t)> m_pfGetPrincipalMoments;
501 /* Docs */
502 std::function<double(int64_t)> m_pfGetRoundness;
503 /* Docs */
504 std::function<std::vector<double>(int64_t)> m_pfGetCenterOfGravity;
505 /* Docs */
506 std::function<double(int64_t)> m_pfGetKurtosis;
507 /* Docs */
508 std::function<double(int64_t)> m_pfGetMaximum;
509 /* Docs */
510 std::function<std::vector<uint32_t>(int64_t)> m_pfGetMaximumIndex;
511 /* Docs */
512 std::function<double(int64_t)> m_pfGetMean;
513 /* Docs */
514 std::function<double(int64_t)> m_pfGetMedian;
515 /* Docs */
516 std::function<double(int64_t)> m_pfGetMinimum;
517 /* Docs */
518 std::function<std::vector<uint32_t>(int64_t)> m_pfGetMinimumIndex;
519 /* Docs */
520 std::function<double(int64_t)> m_pfGetSkewness;
521 /* Docs */
522 std::function<double(int64_t)> m_pfGetStandardDeviation;
523 /* Docs */
524 std::function<double(int64_t)> m_pfGetSum;
525 /* Docs */
526 std::function<double(int64_t)> m_pfGetVariance;
527 /* Docs */
528 std::function<double(int64_t)> m_pfGetWeightedElongation;
529 /* Docs */
530 std::function<double(int64_t)> m_pfGetWeightedFlatness;
531 /* Docs */
532 std::function<std::vector<double>(int64_t)> m_pfGetWeightedPrincipalAxes;
533 /* Docs */
534 std::function<std::vector<double>(int64_t)> m_pfGetWeightedPrincipalMoments;
535
536 // Holder of process object for active measurements
538
539 };
540
541
542}
543#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
std::function< std::vector< double >(int64_t)> m_pfGetEquivalentEllipsoidDiameter
std::function< std::vector< uint32_t >(int64_t)> m_pfGetMaximumIndex
std::function< std::vector< double >(int64_t)> m_pfGetWeightedPrincipalMoments
std::unique_ptr< detail::DualMemberFunctionFactory< MemberFunctionType > > m_DualMemberFactory
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
void(Self::*)(const Image *image, const Image *featureImage) MemberFunctionType
std::function< std::vector< double >(int64_t)> m_pfGetPrincipalMoments
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
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t > > IntegerPixelIDTypeList
#define SITKBasicFilters_EXPORT