18 #ifndef sitkMultiLabelSTAPLEImageFilter_h
19 #define sitkMultiLabelSTAPLEImageFilter_h
110 SITK_RETURN_SELF_TYPE_HEADER
SetTerminationUpdateThreshold (
float TerminationUpdateThreshold ) { this->m_TerminationUpdateThreshold = TerminationUpdateThreshold;
return *
this; }
120 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumNumberOfIterations (
unsigned int MaximumNumberOfIterations ) { this->m_MaximumNumberOfIterations = MaximumNumberOfIterations;
return *
this; }
132 SITK_RETURN_SELF_TYPE_HEADER
SetPriorProbabilities ( std::vector<float> PriorProbabilities ) { this->m_PriorProbabilities = PriorProbabilities;
return *
this; }
147 std::vector<float>
GetConfusionMatrix(
unsigned int input)
const {
return this->m_pfGetConfusionMatrix(input); };
150 std::string
GetName()
const {
return std::string (
"MultiLabelSTAPLEImageFilter"); }
153 std::string ToString()
const;
156 Image Execute (
const std::vector<Image> &images);
166 Image Execute (
const std::vector<Image> &images,
uint64_t labelForUndecidedPixels,
float terminationUpdateThreshold,
unsigned int maximumNumberOfIterations, std::vector<float> priorProbabilities );
167 Image Execute (
const Image& image1,
uint64_t labelForUndecidedPixels,
float terminationUpdateThreshold,
unsigned int maximumNumberOfIterations, std::vector<float> priorProbabilities );
168 Image Execute (
const Image& image1,
const Image& image2,
uint64_t labelForUndecidedPixels,
float terminationUpdateThreshold,
unsigned int maximumNumberOfIterations, std::vector<float> priorProbabilities );
169 Image Execute (
const Image& image1,
const Image& image2,
const Image& image3,
uint64_t labelForUndecidedPixels,
float terminationUpdateThreshold,
unsigned int maximumNumberOfIterations, std::vector<float> priorProbabilities );
170 Image Execute (
const Image& image1,
const Image& image2,
const Image& image3,
const Image& image4,
uint64_t labelForUndecidedPixels,
float terminationUpdateThreshold,
unsigned int maximumNumberOfIterations, std::vector<float> priorProbabilities );
171 Image Execute (
const Image& image1,
const Image& image2,
const Image& image3,
const Image& image4,
const Image& image5,
uint64_t labelForUndecidedPixels,
float terminationUpdateThreshold,
unsigned int maximumNumberOfIterations, std::vector<float> priorProbabilities );
180 typedef Image (Self::*MemberFunctionType)(
const std::vector<Image> & );
181 template <
class TImageType>
Image ExecuteInternal (
const std::vector<Image> &images );
195 nsstd::function<std::vector<float>(
unsigned int)> m_pfGetConfusionMatrix;
211 SITKBasicFilters_EXPORT Image MultiLabelSTAPLE (
const std::vector<Image> &images ,
uint64_t labelForUndecidedPixels = std::numeric_limits<uint64_t>::max(),
float terminationUpdateThreshold = 1e-5f,
unsigned int maximumNumberOfIterations = std::numeric_limits<unsigned int>::max(), std::vector<float> priorProbabilities = std::vector<float>() );
213 SITKBasicFilters_EXPORT Image MultiLabelSTAPLE (
const Image& image1,
uint64_t labelForUndecidedPixels = std::numeric_limits<uint64_t>::max(),
float terminationUpdateThreshold = 1e-5f,
unsigned int maximumNumberOfIterations = std::numeric_limits<unsigned int>::max(), std::vector<float> priorProbabilities = std::vector<float>() );
214 SITKBasicFilters_EXPORT Image MultiLabelSTAPLE (
const Image& image1,
const Image& image2,
uint64_t labelForUndecidedPixels = std::numeric_limits<uint64_t>::max(),
float terminationUpdateThreshold = 1e-5f,
unsigned int maximumNumberOfIterations = std::numeric_limits<unsigned int>::max(), std::vector<float> priorProbabilities = std::vector<float>() );
215 SITKBasicFilters_EXPORT Image MultiLabelSTAPLE (
const Image& image1,
const Image& image2,
const Image& image3,
uint64_t labelForUndecidedPixels = std::numeric_limits<uint64_t>::max(),
float terminationUpdateThreshold = 1e-5f,
unsigned int maximumNumberOfIterations = std::numeric_limits<unsigned int>::max(), std::vector<float> priorProbabilities = std::vector<float>() );
216 SITKBasicFilters_EXPORT Image MultiLabelSTAPLE (
const Image& image1,
const Image& image2,
const Image& image3,
const Image& image4,
uint64_t labelForUndecidedPixels = std::numeric_limits<uint64_t>::max(),
float terminationUpdateThreshold = 1e-5f,
unsigned int maximumNumberOfIterations = std::numeric_limits<unsigned int>::max(), std::vector<float> priorProbabilities = std::vector<float>() );
217 SITKBasicFilters_EXPORT Image MultiLabelSTAPLE (
const Image& image1,
const Image& image2,
const Image& image3,
const Image& image4,
const Image& image5,
uint64_t labelForUndecidedPixels = std::numeric_limits<uint64_t>::max(),
float terminationUpdateThreshold = 1e-5f,
unsigned int maximumNumberOfIterations = std::numeric_limits<unsigned int>::max(), std::vector<float> priorProbabilities = std::vector<float>() );
typelist::MakeTypeList< BasicPixelID< uint8_t >, BasicPixelID< uint16_t >, BasicPixelID< uint32_t > >::Type UnsignedIntegerPixelIDTypeList
uint64_t GetLabelForUndecidedPixels() const
#define SITKBasicFilters_EXPORT
Image MultiLabelSTAPLE(const std::vector< Image > &images, uint64_t labelForUndecidedPixels=std::numeric_limits< uint64_t >::max(), float terminationUpdateThreshold=1e-5f, unsigned int maximumNumberOfIterations=std::numeric_limits< unsigned int >::max(), std::vector< float > priorProbabilities=std::vector< float >())
This filter performs a pixelwise combination of an arbitrary number of input images, where each of them represents a segmentation of the same scene (i.e., image).
uint64_t m_LabelForUndecidedPixels
float m_TerminationUpdateThreshold
unsigned int m_MaximumNumberOfIterations
std::vector< float > GetPriorProbabilities() const
std::vector< float > m_PriorProbabilities
float GetTerminationUpdateThreshold() const
std::string GetName() const
Self & SetLabelForUndecidedPixels(uint64_t LabelForUndecidedPixels)
Self & SetPriorProbabilities(std::vector< float > PriorProbabilities)
unsigned int GetMaximumNumberOfIterations() const
The main Image class for SimpleITK.
itk::ProcessObject * m_Filter
UnsignedIntegerPixelIDTypeList PixelIDTypeList
MultiLabelSTAPLEImageFilter Self
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & SetTerminationUpdateThreshold(float TerminationUpdateThreshold)
Self & SetMaximumNumberOfIterations(unsigned int MaximumNumberOfIterations)
This filter performs a pixelwise combination of an arbitrary number of input images, where each of them represents a segmentation of the same scene (i.e., image).
The base interface for SimpleITK filters that take one input image.
std::vector< float > GetConfusionMatrix(unsigned int input) const