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.jinja to make changes.
25 */
26
27#include <memory>
28
29#include "sitkBasicFilters.h"
30#include "sitkImageFilter.h"
32
33namespace itk::simple {
34
102public:
104
107
111
114
115
116
117
118
122 void
123 SetLabelForUndecidedPixels(uint64_t LabelForUndecidedPixels )
124 { this->m_LabelForUndecidedPixels = LabelForUndecidedPixels; }
125
132 uint64_t
134
135
139 void
140 SetTerminationUpdateThreshold(float TerminationUpdateThreshold )
141 { this->m_TerminationUpdateThreshold = TerminationUpdateThreshold; }
142
145 float
147
148
152 void
153 SetMaximumNumberOfIterations(unsigned int MaximumNumberOfIterations )
154 { this->m_MaximumNumberOfIterations = MaximumNumberOfIterations; }
155
158 unsigned int
160
161
168 void
169 SetPriorProbabilities(std::vector<float> PriorProbabilities )
170 { this->m_PriorProbabilities = PriorProbabilities; }
171
178 std::vector<float>
180
181
189 std::vector<float> GetConfusionMatrix(unsigned int input)const { return this->m_pfGetConfusionMatrix(input); }
190
192 std::string GetName() const { return std::string("MultiLabelSTAPLEImageFilter"); }
193
195 std::string ToString() const;
196
198 Image Execute(const std::vector<Image> &images);
199
200 Image Execute(const Image& image1);
201
202 Image Execute(const Image& image1, const Image& image2);
203
204 Image Execute(const Image& image1, const Image& image2, const Image& image3);
205
206 Image Execute(const Image& image1, const Image& image2, const Image& image3, const Image& image4);
207
208 Image Execute(const Image& image1, const Image& image2, const Image& image3, const Image& image4, const Image& image5);
209
210
211
212
213private:
214
216 using MemberFunctionType = Image (Self::*)(const std::vector<Image> &);
217 template <class TImageType> Image ExecuteInternal(const std::vector<Image> &images);
218
219
220
221
224
225
226 uint64_t m_LabelForUndecidedPixels{ std::numeric_limits<uint64_t>::max() };
227
229
230 unsigned int m_MaximumNumberOfIterations{ std::numeric_limits<unsigned int>::max() };
231
232 std::vector<float> m_PriorProbabilities{ std::vector<float>() };
233
234
235
236 std::function<std::vector<float>(unsigned int)> m_pfGetConfusionMatrix;
237
238
239 // Holder of process object for active measurements
240 std::unique_ptr<itk::ProcessObject, ProcessObjectDeleter> m_Filter{nullptr};
241
242
243
244};
245
246
255SITKBasicFilters_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>());
256
257SITKBasicFilters_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>());
258
259SITKBasicFilters_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>());
260
261SITKBasicFilters_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>());
262
263SITKBasicFilters_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>());
264
265SITKBasicFilters_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>());
266
268
269}
270#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
void SetTerminationUpdateThreshold(float TerminationUpdateThreshold)
std::function< std::vector< float >(unsigned int)> m_pfGetConfusionMatrix
Image Execute(const Image &image1, const Image &image2)
Image Execute(const Image &image1, const Image &image2, const Image &image3, const Image &image4)
std::unique_ptr< itk::ProcessObject, ProcessObjectDeleter > m_Filter
Image Execute(const std::vector< Image > &images)
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
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)
void SetMaximumNumberOfIterations(unsigned int MaximumNumberOfIterations)
Image Execute(const Image &image1, const Image &image2, const Image &image3)
Image Execute(const Image &image1)
void SetPriorProbabilities(std::vector< float > PriorProbabilities)
Image(Self::*)(const std::vector< Image > &) MemberFunctionType
void SetLabelForUndecidedPixels(uint64_t LabelForUndecidedPixels)
Image ExecuteInternal(const std::vector< Image > &images)
A class used to instantiate and generate function object to templated member functions.
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
#define SITKBasicFilters_EXPORT