SimpleITK  
sitkOtsuThresholdImageFilter.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 sitkOtsuThresholdImageFilter_h
19#define sitkOtsuThresholdImageFilter_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 sitkImageFilterTemplate.h.in to make changes.
25 */
26
27#include <memory>
28
29#include "sitkBasicFilters.h"
30#include "sitkImageFilter.h"
31
32namespace itk::simple {
33
52 public:
54
57
61
64\
65
70 SITK_RETURN_SELF_TYPE_HEADER SetInsideValue ( uint8_t InsideValue ) { this->m_InsideValue = InsideValue; return *this; }
71
76 uint8_t GetInsideValue() const { return this->m_InsideValue; }\
77
82 SITK_RETURN_SELF_TYPE_HEADER SetOutsideValue ( uint8_t OutsideValue ) { this->m_OutsideValue = OutsideValue; return *this; }
83
88 uint8_t GetOutsideValue() const { return this->m_OutsideValue; }\
89
94 SITK_RETURN_SELF_TYPE_HEADER SetNumberOfHistogramBins ( uint32_t NumberOfHistogramBins ) { this->m_NumberOfHistogramBins = NumberOfHistogramBins; return *this; }
95
98 uint32_t GetNumberOfHistogramBins() const { return this->m_NumberOfHistogramBins; }\
99
103 SITK_RETURN_SELF_TYPE_HEADER SetMaskOutput ( bool MaskOutput ) { this->m_MaskOutput = MaskOutput; return *this; }
104
106 SITK_RETURN_SELF_TYPE_HEADER MaskOutputOn() { return this->SetMaskOutput(true); }
107 SITK_RETURN_SELF_TYPE_HEADER MaskOutputOff() { return this->SetMaskOutput(false); }
108
111 bool GetMaskOutput() const { return this->m_MaskOutput; }\
112
116 SITK_RETURN_SELF_TYPE_HEADER SetMaskValue ( uint8_t MaskValue ) { this->m_MaskValue = MaskValue; return *this; }
117
120 uint8_t GetMaskValue() const { return this->m_MaskValue; }\
121
125 SITK_RETURN_SELF_TYPE_HEADER SetReturnBinMidpoint ( bool ReturnBinMidpoint ) { this->m_ReturnBinMidpoint = ReturnBinMidpoint; return *this; }
126
128 SITK_RETURN_SELF_TYPE_HEADER ReturnBinMidpointOn() { return this->SetReturnBinMidpoint(true); }
129 SITK_RETURN_SELF_TYPE_HEADER ReturnBinMidpointOff() { return this->SetReturnBinMidpoint(false); }
130
134 bool GetReturnBinMidpoint() const { return this->m_ReturnBinMidpoint; }
141 double GetThreshold() const { return this->m_Threshold; };
142
143
145 std::string GetName() const { return std::string ("OtsuThresholdImageFilter"); }
146
148 std::string ToString() const;
149
150
152
153 Image Execute ( const Image & image, const Image & maskImage );
154 Image Execute ( const Image & image );
155
156 private:
157
159
160 using MemberFunctionType = Image (Self::*)( const Image * image, const Image * maskImage );
161 template <class TImageType> Image ExecuteInternal ( const Image * image, const Image * maskImage );
162
163
165
166 std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
167
168
169 uint8_t m_InsideValue{1u};
170
171 uint8_t m_OutsideValue{0u};
172
174
175 bool m_MaskOutput{true};
176
177 uint8_t m_MaskValue{255u};
178
180
181 /* Docs */
182 double m_Threshold{0.0};
183
184
185 };
186
196
197 SITKBasicFilters_EXPORT Image OtsuThreshold ( const Image & image, const Image & maskImage, uint8_t insideValue = 1u, uint8_t outsideValue = 0u, uint32_t numberOfHistogramBins = 128u, bool maskOutput = true, uint8_t maskValue = 255u, bool returnBinMidpoint = false );
198 SITKBasicFilters_EXPORT Image OtsuThreshold ( const Image & image, uint8_t insideValue = 1u, uint8_t outsideValue = 0u, uint32_t numberOfHistogramBins = 128u, bool maskOutput = true, uint8_t maskValue = 255u, bool returnBinMidpoint = false );
200}
201#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
double GetThreshold() const
Get the computed threshold.
Image(Self::*)(const Image *image, const Image *maskImage) MemberFunctionType
Self & SetNumberOfHistogramBins(uint32_t NumberOfHistogramBins)
Image Execute(const Image &image)
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Image ExecuteInternal(const Image *image, const Image *maskImage)
Self & SetReturnBinMidpoint(bool ReturnBinMidpoint)
Image Execute(const Image &image, const Image &maskImage)
Image OtsuThreshold(const Image &image, const Image &maskImage, uint8_t insideValue=1u, uint8_t outsideValue=0u, uint32_t numberOfHistogramBins=128u, bool maskOutput=true, uint8_t maskValue=255u, bool returnBinMidpoint=false)
Threshold an image using the Otsu Threshold.
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > > BasicPixelIDTypeList
#define SITKBasicFilters_EXPORT