18 #ifndef sitkPatchBasedDenoisingImageFilter_h
19 #define sitkPatchBasedDenoisingImageFilter_h
64 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthSigma (
double KernelBandwidthSigma ) { this->m_KernelBandwidthSigma = KernelBandwidthSigma;
return *
this; }
75 SITK_RETURN_SELF_TYPE_HEADER
SetPatchRadius (
uint32_t PatchRadius ) { this->m_PatchRadius = PatchRadius;
return *
this; }
109 SITK_RETURN_SELF_TYPE_HEADER
SetSampleVariance (
double SampleVariance ) { this->m_SampleVariance = SampleVariance;
return *
this; }
117 typedef enum {NOMODEL,GAUSSIAN,
RICIAN,POISSON} NoiseModelType;\
134 SITK_RETURN_SELF_TYPE_HEADER
SetNoiseSigma (
double NoiseSigma ) { this->m_NoiseSigma = NoiseSigma;
return *
this; }
144 SITK_RETURN_SELF_TYPE_HEADER
SetNoiseModelFidelityWeight (
double NoiseModelFidelityWeight ) { this->m_NoiseModelFidelityWeight = NoiseModelFidelityWeight;
return *
this; }
156 SITK_RETURN_SELF_TYPE_HEADER
SetAlwaysTreatComponentsAsEuclidean (
bool AlwaysTreatComponentsAsEuclidean ) { this->m_AlwaysTreatComponentsAsEuclidean = AlwaysTreatComponentsAsEuclidean;
return *
this; }
172 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthEstimation (
bool KernelBandwidthEstimation ) { this->m_KernelBandwidthEstimation = KernelBandwidthEstimation;
return *
this; }
187 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthMultiplicationFactor (
double KernelBandwidthMultiplicationFactor ) { this->m_KernelBandwidthMultiplicationFactor = KernelBandwidthMultiplicationFactor;
return *
this; }
209 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthFractionPixelsForEstimation (
double KernelBandwidthFractionPixelsForEstimation ) { this->m_KernelBandwidthFractionPixelsForEstimation = KernelBandwidthFractionPixelsForEstimation;
return *
this; }
217 std::string
GetName()
const {
return std::string (
"PatchBasedDenoisingImageFilter"); }
220 std::string ToString()
const;
232 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
241 double m_KernelBandwidthSigma{400.0};
250 double m_SampleVariance{400.0};
254 double m_NoiseSigma{0.0};
256 double m_NoiseModelFidelityWeight{0.0};
258 bool m_AlwaysTreatComponentsAsEuclidean{
false};
260 bool m_KernelBandwidthEstimation{
false};
262 double m_KernelBandwidthMultiplicationFactor{1.0};
266 double m_KernelBandwidthFractionPixelsForEstimation{0.2};