SimpleITK  
sitkPatchBasedDenoisingImageFilter.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 sitkPatchBasedDenoisingImageFilter_h
19#define sitkPatchBasedDenoisingImageFilter_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
46 public:
48
51
55
58\
59
63 SITK_RETURN_SELF_TYPE_HEADER SetKernelBandwidthSigma ( double KernelBandwidthSigma ) { this->m_KernelBandwidthSigma = KernelBandwidthSigma; return *this; }
64
68 double GetKernelBandwidthSigma() const { return this->m_KernelBandwidthSigma; }\
69
74 SITK_RETURN_SELF_TYPE_HEADER SetPatchRadius ( uint32_t PatchRadius ) { this->m_PatchRadius = PatchRadius; return *this; }
75
80 uint32_t GetPatchRadius() const { return this->m_PatchRadius; }\
81
86 SITK_RETURN_SELF_TYPE_HEADER SetNumberOfIterations ( uint32_t NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations; return *this; }
87
92 uint32_t GetNumberOfIterations() const { return this->m_NumberOfIterations; }\
93
98 SITK_RETURN_SELF_TYPE_HEADER SetNumberOfSamplePatches ( uint32_t NumberOfSamplePatches ) { this->m_NumberOfSamplePatches = NumberOfSamplePatches; return *this; }
99
102 uint32_t GetNumberOfSamplePatches() const { return this->m_NumberOfSamplePatches; }\
103
108 SITK_RETURN_SELF_TYPE_HEADER SetSampleVariance ( double SampleVariance ) { this->m_SampleVariance = SampleVariance; return *this; }
109
114 double GetSampleVariance() const { return this->m_SampleVariance; }
115
116 typedef enum {NOMODEL,GAUSSIAN,RICIAN,POISSON} NoiseModelType;\
117
122 SITK_RETURN_SELF_TYPE_HEADER SetNoiseModel ( NoiseModelType NoiseModel ) { this->m_NoiseModel = NoiseModel; return *this; }
123
128 NoiseModelType GetNoiseModel() const { return this->m_NoiseModel; }\
129
133 SITK_RETURN_SELF_TYPE_HEADER SetNoiseSigma ( double NoiseSigma ) { this->m_NoiseSigma = NoiseSigma; return *this; }
134
137 double GetNoiseSigma() const { return this->m_NoiseSigma; }\
138
143 SITK_RETURN_SELF_TYPE_HEADER SetNoiseModelFidelityWeight ( double NoiseModelFidelityWeight ) { this->m_NoiseModelFidelityWeight = NoiseModelFidelityWeight; return *this; }
144
150
155 SITK_RETURN_SELF_TYPE_HEADER SetAlwaysTreatComponentsAsEuclidean ( bool AlwaysTreatComponentsAsEuclidean ) { this->m_AlwaysTreatComponentsAsEuclidean = AlwaysTreatComponentsAsEuclidean; return *this; }
156
158 SITK_RETURN_SELF_TYPE_HEADER AlwaysTreatComponentsAsEuclideanOn() { return this->SetAlwaysTreatComponentsAsEuclidean(true); }
159 SITK_RETURN_SELF_TYPE_HEADER AlwaysTreatComponentsAsEuclideanOff() { return this->SetAlwaysTreatComponentsAsEuclidean(false); }
160
166
171 SITK_RETURN_SELF_TYPE_HEADER SetKernelBandwidthEstimation ( bool KernelBandwidthEstimation ) { this->m_KernelBandwidthEstimation = KernelBandwidthEstimation; return *this; }
172
174 SITK_RETURN_SELF_TYPE_HEADER KernelBandwidthEstimationOn() { return this->SetKernelBandwidthEstimation(true); }
175 SITK_RETURN_SELF_TYPE_HEADER KernelBandwidthEstimationOff() { return this->SetKernelBandwidthEstimation(false); }
176
182
186 SITK_RETURN_SELF_TYPE_HEADER SetKernelBandwidthMultiplicationFactor ( double KernelBandwidthMultiplicationFactor ) { this->m_KernelBandwidthMultiplicationFactor = KernelBandwidthMultiplicationFactor; return *this; }
187
192
197 SITK_RETURN_SELF_TYPE_HEADER SetKernelBandwidthUpdateFrequency ( uint32_t KernelBandwidthUpdateFrequency ) { this->m_KernelBandwidthUpdateFrequency = KernelBandwidthUpdateFrequency; return *this; }
198
204
208 SITK_RETURN_SELF_TYPE_HEADER SetKernelBandwidthFractionPixelsForEstimation ( double KernelBandwidthFractionPixelsForEstimation ) { this->m_KernelBandwidthFractionPixelsForEstimation = KernelBandwidthFractionPixelsForEstimation; return *this; }
209
214
216 std::string GetName() const { return std::string ("PatchBasedDenoisingImageFilter"); }
217
219 std::string ToString() const;
220
221
223
224 Image Execute ( const Image& image1 );
225
226 private:
227
229
230 using MemberFunctionType = Image (Self::*)( const Image& image1 );
231 template <class TImageType> Image ExecuteInternal ( const Image& image1 );
232
233
235
236 std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
237
238
239 /* KernelBandwidthSigma */
241
242 uint32_t m_PatchRadius{4u};
243
244 /* Number of iterations to run */
246
248
249 double m_SampleVariance{400.0};
250
252
253 double m_NoiseSigma{0.0};
254
256
258
260
262
264
266
267
268 };
269
270
271}
272#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
Image ExecuteInternal(const Image &image1)
Self & SetAlwaysTreatComponentsAsEuclidean(bool AlwaysTreatComponentsAsEuclidean)
Self & SetKernelBandwidthEstimation(bool KernelBandwidthEstimation)
Self & SetNoiseModelFidelityWeight(double NoiseModelFidelityWeight)
Self & SetNumberOfSamplePatches(uint32_t NumberOfSamplePatches)
Self & SetKernelBandwidthFractionPixelsForEstimation(double KernelBandwidthFractionPixelsForEstimation)
Self & SetKernelBandwidthUpdateFrequency(uint32_t KernelBandwidthUpdateFrequency)
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & SetKernelBandwidthMultiplicationFactor(double KernelBandwidthMultiplicationFactor)
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