SimpleITK  
sitkLabelShapeStatisticsImageFilter.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 sitkLabelShapeStatisticsImageFilter_h
19#define sitkLabelShapeStatisticsImageFilter_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 sitkImageFilterTemplate.h.in to make changes.
25 */
26
27#include <memory>
28
29#include "sitkBasicFilters.h"
30#include "sitkImageFilter.h"
31
32namespace itk::simple {
33
49 public:
51
54
58
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 SetComputeOrientedBoundingBox ( bool ComputeOrientedBoundingBox ) { this->m_ComputeOrientedBoundingBox = ComputeOrientedBoundingBox; return *this; }
105
107 SITK_RETURN_SELF_TYPE_HEADER ComputeOrientedBoundingBoxOn() { return this->SetComputeOrientedBoundingBox(true); }
108 SITK_RETURN_SELF_TYPE_HEADER ComputeOrientedBoundingBoxOff() { return this->SetComputeOrientedBoundingBox(false); }
109
121 std::vector<unsigned int> GetBoundingBox(int64_t label) const { return this->m_pfGetBoundingBox(label); };
122
130 std::vector<unsigned int> GetRegion(int64_t label) const { return this->m_pfGetRegion(label); };
131
139 std::vector<double> GetCentroid(int64_t label) const { return this->m_pfGetCentroid(label); };
140
148 double GetElongation(int64_t label) const { return this->m_pfGetElongation(label); };
149
157 std::vector<double> GetEquivalentEllipsoidDiameter(int64_t label) const { return this->m_pfGetEquivalentEllipsoidDiameter(label); };
158
166 double GetEquivalentSphericalPerimeter(int64_t label) const { return this->m_pfGetEquivalentSphericalPerimeter(label); };
167
175 double GetEquivalentSphericalRadius(int64_t label) const { return this->m_pfGetEquivalentSphericalRadius(label); };
176
184 double GetFeretDiameter(int64_t label) const { return this->m_pfGetFeretDiameter(label); };
185
193 double GetFlatness(int64_t label) const { return this->m_pfGetFlatness(label); };
194
201 std::vector<int64_t> GetLabels() const { return this->m_Labels; };
202
210 uint64_t GetNumberOfPixels(int64_t label) const { return this->m_pfGetNumberOfPixels(label); };
211
219 uint64_t GetNumberOfPixelsOnBorder(int64_t label) const { return this->m_pfGetNumberOfPixelsOnBorder(label); };
220
228 double GetPerimeter(int64_t label) const { return this->m_pfGetPerimeter(label); };
229
237 double GetPerimeterOnBorder(int64_t label) const { return this->m_pfGetPerimeterOnBorder(label); };
238
246 double GetPerimeterOnBorderRatio(int64_t label) const { return this->m_pfGetPerimeterOnBorderRatio(label); };
247
255 double GetPhysicalSize(int64_t label) const { return this->m_pfGetPhysicalSize(label); };
256
264 std::vector<double> GetPrincipalAxes(int64_t label) const { return this->m_pfGetPrincipalAxes(label); };
265
273 std::vector<double> GetPrincipalMoments(int64_t label) const { return this->m_pfGetPrincipalMoments(label); };
274
282 double GetRoundness(int64_t label) const { return this->m_pfGetRoundness(label); };
283
291 std::vector<double> GetOrientedBoundingBoxSize(int64_t label) const { return this->m_pfGetOrientedBoundingBoxSize(label); };
292
300 std::vector<double> GetOrientedBoundingBoxOrigin(int64_t label) const { return this->m_pfGetOrientedBoundingBoxOrigin(label); };
301
309 std::vector<double> GetOrientedBoundingBoxDirection(int64_t label) const { return this->m_pfGetOrientedBoundingBoxDirection(label); };
310
318 std::vector<double> GetOrientedBoundingBoxVertices(int64_t label) const { return this->m_pfGetOrientedBoundingBoxVertices(label); };
319
327 std::vector<unsigned int> GetIndexes(int64_t label) const { return this->m_pfGetIndexes(label); };
328
336 std::vector<unsigned int> GetRLEIndexes(int64_t label) const { return this->m_pfGetRLEIndexes(label); };
337
338
340 std::string GetName() const { return std::string ("LabelShapeStatisticsImageFilter"); }
341
343 std::string ToString() const;
344
345
347
348 void Execute ( const Image& image1 );
349
350
352 bool HasLabel(int64_t label );
353
355 uint64_t GetNumberOfLabels( );
356
357 private:
358
360
361 using MemberFunctionType = void (Self::*)( const Image& image1 );
362 template <class TImageType> void ExecuteInternal ( const Image& image1 );
363
364
366
367 std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
368
369
370 /* */
372
374
376
378
379 /* Docs */
380 std::function<std::vector<unsigned int>(int64_t)> m_pfGetBoundingBox;
381 /* Docs */
382 std::function<std::vector<unsigned int>(int64_t)> m_pfGetRegion;
383 /* Docs */
384 std::function<std::vector<double>(int64_t)> m_pfGetCentroid;
385 /* Docs */
386 std::function<double(int64_t)> m_pfGetElongation;
387 /* Docs */
388 std::function<std::vector<double>(int64_t)> m_pfGetEquivalentEllipsoidDiameter;
389 /* Docs */
390 std::function<double(int64_t)> m_pfGetEquivalentSphericalPerimeter;
391 /* Docs */
392 std::function<double(int64_t)> m_pfGetEquivalentSphericalRadius;
393 /* Docs */
394 std::function<double(int64_t)> m_pfGetFeretDiameter;
395 /* Docs */
396 std::function<double(int64_t)> m_pfGetFlatness;
397 /* Docs */
398 std::vector<int64_t> m_Labels{std::vector<int64_t>()};
399 /* Docs */
400 std::function<uint64_t(int64_t)> m_pfGetNumberOfPixels;
401 /* Docs */
402 std::function<uint64_t(int64_t)> m_pfGetNumberOfPixelsOnBorder;
403 /* Docs */
404 std::function<double(int64_t)> m_pfGetPerimeter;
405 /* Docs */
406 std::function<double(int64_t)> m_pfGetPerimeterOnBorder;
407 /* Docs */
408 std::function<double(int64_t)> m_pfGetPerimeterOnBorderRatio;
409 /* Docs */
410 std::function<double(int64_t)> m_pfGetPhysicalSize;
411 /* Docs */
412 std::function<std::vector<double>(int64_t)> m_pfGetPrincipalAxes;
413 /* Docs */
414 std::function<std::vector<double>(int64_t)> m_pfGetPrincipalMoments;
415 /* Docs */
416 std::function<double(int64_t)> m_pfGetRoundness;
417 /* Docs */
418 std::function<std::vector<double>(int64_t)> m_pfGetOrientedBoundingBoxSize;
419 /* Docs */
420 std::function<std::vector<double>(int64_t)> m_pfGetOrientedBoundingBoxOrigin;
421 /* Docs */
422 std::function<std::vector<double>(int64_t)> m_pfGetOrientedBoundingBoxDirection;
423 /* Docs */
424 std::function<std::vector<double>(int64_t)> m_pfGetOrientedBoundingBoxVertices;
425 /* Docs */
426 std::function<std::vector<unsigned int>(int64_t)> m_pfGetIndexes;
427 /* Docs */
428 std::function<std::vector<unsigned int>(int64_t)> m_pfGetRLEIndexes;
429
430 // Holder of process object for active measurements
432
433 };
434
435
436}
437#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
std::function< std::vector< unsigned int >(int64_t)> m_pfGetBoundingBox
std::function< std::vector< double >(int64_t)> m_pfGetCentroid
std::vector< unsigned int > GetRegion(int64_t label) const
std::function< std::vector< double >(int64_t)> m_pfGetOrientedBoundingBoxVertices
std::vector< unsigned int > GetRLEIndexes(int64_t label) const
std::function< std::vector< double >(int64_t)> m_pfGetPrincipalAxes
std::function< std::vector< double >(int64_t)> m_pfGetEquivalentEllipsoidDiameter
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
std::function< std::vector< double >(int64_t)> m_pfGetOrientedBoundingBoxDirection
std::function< std::vector< unsigned int >(int64_t)> m_pfGetRLEIndexes
std::vector< double > GetEquivalentEllipsoidDiameter(int64_t label) const
std::function< std::vector< unsigned int >(int64_t)> m_pfGetRegion
std::function< std::vector< double >(int64_t)> m_pfGetOrientedBoundingBoxOrigin
std::function< std::vector< double >(int64_t)> m_pfGetPrincipalMoments
std::vector< double > GetPrincipalMoments(int64_t label) const
std::vector< unsigned int > GetBoundingBox(int64_t label) const
std::vector< double > GetOrientedBoundingBoxSize(int64_t label) const
std::function< std::vector< unsigned int >(int64_t)> m_pfGetIndexes
std::vector< double > GetOrientedBoundingBoxDirection(int64_t label) const
std::vector< unsigned int > GetIndexes(int64_t label) const
std::vector< double > GetOrientedBoundingBoxOrigin(int64_t label) const
std::vector< double > GetPrincipalAxes(int64_t label) const
std::vector< double > GetOrientedBoundingBoxVertices(int64_t label) const
Self & SetComputeOrientedBoundingBox(bool ComputeOrientedBoundingBox)
void ExecuteInternal(const Image &image1)
std::function< std::vector< double >(int64_t)> m_pfGetOrientedBoundingBoxSize
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t > > IntegerPixelIDTypeList
#define SITKBasicFilters_EXPORT