18 #ifndef sitkLabelIntensityStatisticsImageFilter_h
19 #define sitkLabelIntensityStatisticsImageFilter_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; }
188 std::vector<int64_t>
GetLabels()
const {
return this->m_Labels; };
416 std::string
GetName()
const {
return std::string (
"LabelIntensityStatisticsImageFilter"); }
419 std::string ToString()
const;
423 void Execute (
const Image & image,
const Image & featureImage );
427 void Execute (
const Image & image,
const Image & featureImage,
double backgroundValue,
bool computeFeretDiameter,
bool computePerimeter,
uint32_t numberOfBins );
431 double HasLabel(
int64_t label );
439 typedef void (Self::*MemberFunctionType)(
const Image * image,
const Image * featureImage );
442 template <
class TImageType1,
class TImageType2>
void DualExecuteInternal (
const Image * image,
const Image * featureImage );
455 nsstd::function<std::vector<unsigned int>(
int64_t)> m_pfGetBoundingBox;
457 nsstd::function<std::vector<double>(
int64_t)> m_pfGetCentroid;
461 nsstd::function<std::vector<double>(
int64_t)> m_pfGetEquivalentEllipsoidDiameter;
485 nsstd::function<std::vector<double>(
int64_t)> m_pfGetPrincipalAxes;
487 nsstd::function<std::vector<double>(
int64_t)> m_pfGetPrincipalMoments;
491 nsstd::function<std::vector<double>(
int64_t)> m_pfGetCenterOfGravity;
497 nsstd::function<std::vector<uint32_t>(
int64_t)> m_pfGetMaximumIndex;
505 nsstd::function<std::vector<uint32_t>(
int64_t)> m_pfGetMinimumIndex;
519 nsstd::function<std::vector<double>(
int64_t)> m_pfGetWeightedPrincipalAxes;
521 nsstd::function<std::vector<double>(
int64_t)> m_pfGetWeightedPrincipalMoments;
nsstd::auto_ptr< detail::DualMemberFunctionFactory< MemberFunctionType > > m_DualMemberFactory
nsstd::function< double(int64_t)> m_pfGetPerimeterOnBorder
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_pfGetWeightedFlatness
double GetStandardDeviation(int64_t label) const
nsstd::function< uint64_t(int64_t)> m_pfGetNumberOfPixelsOnBorder
uint64_t GetNumberOfPixelsOnBorder(int64_t label) const
std::vector< double > GetWeightedPrincipalMoments(int64_t label) const
a convenient class to convert a label image to a label map and valuate the statistics attributes at o...
std::vector< double > GetPrincipalAxes(int64_t label) const
#define SITKBasicFilters_EXPORT
Self & ComputeFeretDiameterOn()
double GetElongation(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetWeightedElongation
std::vector< double > GetPrincipalMoments(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetMedian
nsstd::function< double(int64_t)> m_pfGetFlatness
double GetEquivalentSphericalPerimeter(int64_t label) const
std::vector< double > GetCenterOfGravity(int64_t label) const
std::vector< double > GetWeightedPrincipalAxes(int64_t label) const
Self & ComputeFeretDiameterOff()
nsstd::function< double(int64_t)> m_pfGetKurtosis
double GetMean(int64_t label) const
IntegerPixelIDTypeList PixelIDTypeList
double GetFeretDiameter(int64_t label) const
double GetBackgroundValue() const
nsstd::function< double(int64_t)> m_pfGetMaximum
std::vector< int64_t > GetLabels() const
double GetFlatness(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetElongation
double GetMaximum(int64_t label) const
Self & ComputePerimeterOff()
double GetWeightedFlatness(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetSum
std::vector< int64_t > m_Labels
double GetMedian(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetVariance
std::vector< double > GetEquivalentEllipsoidDiameter(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetEquivalentSphericalRadius
std::vector< unsigned int > GetBoundingBox(int64_t label) const
double GetKurtosis(int64_t label) const
nsstd::function< uint64_t(int64_t)> m_pfGetNumberOfPixels
nsstd::function< double(int64_t)> m_pfGetFeretDiameter
nsstd::function< double(int64_t)> m_pfGetPerimeter
std::vector< uint32_t > GetMaximumIndex(int64_t label) const
std::vector< double > GetCentroid(int64_t label) const
std::string GetName() const
double GetPerimeter(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetPhysicalSize
nsstd::function< double(int64_t)> m_pfGetPerimeterOnBorderRatio
nsstd::function< double(int64_t)> m_pfGetEquivalentSphericalPerimeter
nsstd::function< double(int64_t)> m_pfGetSkewness
nsstd::function< double(int64_t)> m_pfGetRoundness
nsstd::function< double(int64_t)> m_pfGetMean
The main Image class for SimpleITK.
Self & SetBackgroundValue(double BackgroundValue)
double GetRoundness(int64_t label) const
double GetMinimum(int64_t label) const
LabelIntensityStatisticsImageFilter Self
Self & SetComputePerimeter(bool ComputePerimeter)
double GetVariance(int64_t label) const
double GetSkewness(int64_t label) const
itk::ProcessObject * m_Filter
double GetSum(int64_t label) const
bool GetComputePerimeter() const
double GetPerimeterOnBorderRatio(int64_t label) const
std::vector< uint32_t > GetMinimumIndex(int64_t label) const
double GetEquivalentSphericalRadius(int64_t label) const
Self & SetNumberOfBins(uint32_t NumberOfBins)
nsstd::function< double(int64_t)> m_pfGetStandardDeviation
Self & SetComputeFeretDiameter(bool ComputeFeretDiameter)
bool GetComputeFeretDiameter() const
Self & ComputePerimeterOn()
double GetWeightedElongation(int64_t label) const
uint32_t GetNumberOfBins() const
uint64_t GetNumberOfPixels(int64_t label) const
nsstd::function< double(int64_t)> m_pfGetMinimum
The base interface for SimpleITK filters that take one input image.
double GetPerimeterOnBorder(int64_t label) const
double GetPhysicalSize(int64_t label) const