18 #ifndef sitkLabelShapeStatisticsImageFilter_h
19 #define sitkLabelShapeStatisticsImageFilter_h
75 SITK_RETURN_SELF_TYPE_HEADER
SetBackgroundValue (
double BackgroundValue ) { this->m_BackgroundValue = BackgroundValue;
return *
this; }
85 SITK_RETURN_SELF_TYPE_HEADER
SetComputeFeretDiameter (
bool ComputeFeretDiameter ) { this->m_ComputeFeretDiameter = ComputeFeretDiameter;
return *
this; }
99 SITK_RETURN_SELF_TYPE_HEADER
SetComputePerimeter (
bool ComputePerimeter ) { this->m_ComputePerimeter = ComputePerimeter;
return *
this; }
187 std::vector<int64_t>
GetLabels()
const {
return this->m_Labels; };
271 std::string
GetName()
const {
return std::string (
"LabelShapeStatisticsImageFilter"); }
274 std::string ToString()
const;
278 void Execute (
const Image& image1 );
282 void Execute (
const Image& image1,
double backgroundValue,
bool computeFeretDiameter,
bool computePerimeter );
286 double HasLabel(
int64_t label );
296 typedef void (Self::*MemberFunctionType)(
const Image& image1 );
297 template <
class TImageType>
void ExecuteInternal (
const Image& image1 );
311 nsstd::function<std::vector<unsigned int>(
int64_t)> m_pfGetBoundingBox;
313 nsstd::function<std::vector<double>(
int64_t)> m_pfGetCentroid;
317 nsstd::function<std::vector<double>(
int64_t)> m_pfGetEquivalentEllipsoidDiameter;
341 nsstd::function<std::vector<double>(
int64_t)> m_pfGetPrincipalAxes;
343 nsstd::function<std::vector<double>(
int64_t)> m_pfGetPrincipalMoments;
double GetPerimeter(int64_t label) const
LabelShapeStatisticsImageFilter Self
Self & ComputeFeretDiameterOff()
bool GetComputePerimeter() const
bool m_ComputeFeretDiameter
typelist::MakeTypeList< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t > >::Type IntegerPixelIDTypeList
nsstd::function< double(int64_t)> m_pfGetElongation
double GetRoundness(int64_t label) const
#define SITKBasicFilters_EXPORT
double GetBackgroundValue() const
Self & ComputeFeretDiameterOn()
nsstd::function< double(int64_t)> m_pfGetFeretDiameter
std::vector< int64_t > GetLabels() const
double GetPerimeterOnBorder(int64_t label) const
Self & SetComputePerimeter(bool ComputePerimeter)
std::vector< double > GetCentroid(int64_t label) const
std::vector< double > GetPrincipalAxes(int64_t label) const
Converts a label image to a label map and valuates the shape attributes.
double GetPerimeterOnBorderRatio(int64_t label) const
nsstd::function< uint64_t(int64_t)> m_pfGetNumberOfPixelsOnBorder
std::vector< double > GetPrincipalMoments(int64_t label) const
std::vector< int64_t > m_Labels
Self & ComputePerimeterOn()
Self & SetComputeFeretDiameter(bool ComputeFeretDiameter)
nsstd::function< double(int64_t)> m_pfGetPerimeterOnBorder
double GetFeretDiameter(int64_t label) const
IntegerPixelIDTypeList PixelIDTypeList
std::vector< double > GetEquivalentEllipsoidDiameter(int64_t label) const
double GetElongation(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetPerimeter
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & ComputePerimeterOff()
nsstd::function< double(int64_t)> m_pfGetEquivalentSphericalRadius
nsstd::function< double(int64_t)> m_pfGetRoundness
Self & SetBackgroundValue(double BackgroundValue)
nsstd::function< uint64_t(int64_t)> m_pfGetNumberOfPixels
The main Image class for SimpleITK.
nsstd::function< double(int64_t)> m_pfGetEquivalentSphericalPerimeter
uint64_t GetNumberOfPixels(int64_t label) const
std::vector< unsigned int > GetBoundingBox(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetPerimeterOnBorderRatio
double GetPhysicalSize(int64_t label) const
itk::ProcessObject * m_Filter
double GetEquivalentSphericalRadius(int64_t label) const
uint64_t GetNumberOfPixelsOnBorder(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetPhysicalSize
double GetFlatness(int64_t label) const
bool GetComputeFeretDiameter() const
The base interface for SimpleITK filters that take one input image.
std::string GetName() const
nsstd::function< double(int64_t)> m_pfGetFlatness
double GetEquivalentSphericalPerimeter(int64_t label) const