18 #ifndef sitkLabelShapeStatisticsImageFilter_h
19 #define sitkLabelShapeStatisticsImageFilter_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
SetComputeOrientedBoundingBox (
bool ComputeOrientedBoundingBox ) { this->m_ComputeOrientedBoundingBox = ComputeOrientedBoundingBox;
return *
this; }
121 std::vector<unsigned int>
GetBoundingBox(int64_t label)
const {
return this->m_pfGetBoundingBox(label); };
130 std::vector<unsigned int>
GetRegion(int64_t label)
const {
return this->m_pfGetRegion(label); };
139 std::vector<double>
GetCentroid(int64_t label)
const {
return this->m_pfGetCentroid(label); };
148 double GetElongation(int64_t label)
const {
return this->m_pfGetElongation(label); };
184 double GetFeretDiameter(int64_t label)
const {
return this->m_pfGetFeretDiameter(label); };
193 double GetFlatness(int64_t label)
const {
return this->m_pfGetFlatness(label); };
201 std::vector<int64_t>
GetLabels()
const {
return this->m_Labels; };
228 double GetPerimeter(int64_t label)
const {
return this->m_pfGetPerimeter(label); };
255 double GetPhysicalSize(int64_t label)
const {
return this->m_pfGetPhysicalSize(label); };
264 std::vector<double>
GetPrincipalAxes(int64_t label)
const {
return this->m_pfGetPrincipalAxes(label); };
273 std::vector<double>
GetPrincipalMoments(int64_t label)
const {
return this->m_pfGetPrincipalMoments(label); };
282 double GetRoundness(int64_t label)
const {
return this->m_pfGetRoundness(label); };
327 std::vector<unsigned int>
GetIndexes(int64_t label)
const {
return this->m_pfGetIndexes(label); };
336 std::vector<unsigned int>
GetRLEIndexes(int64_t label)
const {
return this->m_pfGetRLEIndexes(label); };
340 std::string
GetName()
const {
return std::string (
"LabelShapeStatisticsImageFilter"); }
343 std::string ToString()
const;
348 void Execute (
const Image& image1 );
352 bool HasLabel(int64_t label );
355 uint64_t GetNumberOfLabels( );
362 template <
class TImageType>
void ExecuteInternal (
const Image& image1 );
371 double m_BackgroundValue{0};
373 bool m_ComputeFeretDiameter{
false};
375 bool m_ComputePerimeter{
true};
377 bool m_ComputeOrientedBoundingBox{
false};
398 std::vector<int64_t> m_Labels{std::vector<int64_t>()};