SimpleITK  
sitkMultiLabelSTAPLEImageFilter.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 sitkMultiLabelSTAPLEImageFilter_h
19#define sitkMultiLabelSTAPLEImageFilter_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 sitkMultiInputImageFilterTemplate.h.in to make changes.
25 */
26
27#include <memory>
28
29#include "sitkBasicFilters.h"
30#include "sitkImageFilter.h"
31
32namespace itk::simple {
33
82 : public ImageFilter
83 {
84 public:
86
89
90
94
97
98
99\
100
104 SITK_RETURN_SELF_TYPE_HEADER SetLabelForUndecidedPixels ( uint64_t LabelForUndecidedPixels ) { this->m_LabelForUndecidedPixels = LabelForUndecidedPixels; return *this; }
105
111 uint64_t GetLabelForUndecidedPixels() const { return this->m_LabelForUndecidedPixels; }\
112
116 SITK_RETURN_SELF_TYPE_HEADER SetTerminationUpdateThreshold ( float TerminationUpdateThreshold ) { this->m_TerminationUpdateThreshold = TerminationUpdateThreshold; return *this; }
117
122
126 SITK_RETURN_SELF_TYPE_HEADER SetMaximumNumberOfIterations ( unsigned int MaximumNumberOfIterations ) { this->m_MaximumNumberOfIterations = MaximumNumberOfIterations; return *this; }
127
131 unsigned int GetMaximumNumberOfIterations() const { return this->m_MaximumNumberOfIterations; }\
132
138 SITK_RETURN_SELF_TYPE_HEADER SetPriorProbabilities ( std::vector<float> PriorProbabilities ) { this->m_PriorProbabilities = PriorProbabilities; return *this; }
139
145 std::vector<float> GetPriorProbabilities() const { return this->m_PriorProbabilities; }
153 std::vector<float> GetConfusionMatrix(unsigned int input) const { return this->m_pfGetConfusionMatrix(input); };
154
155
157 std::string GetName() const { return std::string ("MultiLabelSTAPLEImageFilter"); }
158
160 std::string ToString() const;
161
163 Image Execute ( const std::vector<Image> &images);
164 Image Execute ( const Image& image1 );
165 Image Execute ( const Image& image1, const Image& image2 );
166 Image Execute ( const Image& image1, const Image& image2, const Image& image3 );
167 Image Execute ( const Image& image1, const Image& image2, const Image& image3, const Image& image4 );
168 Image Execute ( const Image& image1, const Image& image2, const Image& image3, const Image& image4, const Image& image5 );
169
170
171
172
173 private:
174
176
177 using MemberFunctionType = Image (Self::*)( const std::vector<Image> & );
178 template <class TImageType> Image ExecuteInternal ( const std::vector<Image> &images );
179
180
181
183
184 std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
185
186
187 uint64_t m_LabelForUndecidedPixels{std::numeric_limits<uint64_t>::max()};
188
190
191 unsigned int m_MaximumNumberOfIterations{std::numeric_limits<unsigned int>::max()};
192
193 std::vector<float> m_PriorProbabilities{std::vector<float>()};
194
195
196 std::function<std::vector<float>(unsigned int)> m_pfGetConfusionMatrix;
197
198 // Holder of process object for active measurements
200
201 };
202
203
213 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>() );
214
215 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>() );
216 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>() );
217 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>() );
218 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>() );
219 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>() );
220
222
223}
224#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
std::function< std::vector< float >(unsigned int)> m_pfGetConfusionMatrix
Image Execute(const Image &image1, const Image &image2)
Self & SetMaximumNumberOfIterations(unsigned int MaximumNumberOfIterations)
Image Execute(const Image &image1, const Image &image2, const Image &image3, const Image &image4)
Image Execute(const std::vector< Image > &images)
std::vector< float > GetConfusionMatrix(unsigned int input) const
Image Execute(const Image &image1, const Image &image2, const Image &image3, const Image &image4, const Image &image5)
Image Execute(const Image &image1, const Image &image2, const Image &image3)
Image Execute(const Image &image1)
Self & SetLabelForUndecidedPixels(uint64_t LabelForUndecidedPixels)
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & SetTerminationUpdateThreshold(float TerminationUpdateThreshold)
Image(Self::*)(const std::vector< Image > &) MemberFunctionType
Self & SetPriorProbabilities(std::vector< float > PriorProbabilities)
Image ExecuteInternal(const std::vector< Image > &images)
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,...
typelist2::typelist< BasicPixelID< uint8_t >, BasicPixelID< uint16_t >, BasicPixelID< uint32_t > > UnsignedIntegerPixelIDTypeList
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar images
#define SITKBasicFilters_EXPORT