18 #ifndef sitkPatchBasedDenoisingImageFilter_h
19 #define sitkPatchBasedDenoisingImageFilter_h
65 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthSigma (
double KernelBandwidthSigma ) { this->m_KernelBandwidthSigma = KernelBandwidthSigma;
return *
this; }
76 SITK_RETURN_SELF_TYPE_HEADER
SetPatchRadius (
uint32_t PatchRadius ) { this->m_PatchRadius = PatchRadius;
return *
this; }
110 SITK_RETURN_SELF_TYPE_HEADER
SetSampleVariance (
double SampleVariance ) { this->m_SampleVariance = SampleVariance;
return *
this; }
135 SITK_RETURN_SELF_TYPE_HEADER
SetNoiseSigma (
double NoiseSigma ) { this->m_NoiseSigma = NoiseSigma;
return *
this; }
145 SITK_RETURN_SELF_TYPE_HEADER
SetNoiseModelFidelityWeight (
double NoiseModelFidelityWeight ) { this->m_NoiseModelFidelityWeight = NoiseModelFidelityWeight;
return *
this; }
157 SITK_RETURN_SELF_TYPE_HEADER
SetAlwaysTreatComponentsAsEuclidean (
bool AlwaysTreatComponentsAsEuclidean ) { this->m_AlwaysTreatComponentsAsEuclidean = AlwaysTreatComponentsAsEuclidean;
return *
this; }
173 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthEstimation (
bool KernelBandwidthEstimation ) { this->m_KernelBandwidthEstimation = KernelBandwidthEstimation;
return *
this; }
188 SITK_RETURN_SELF_TYPE_HEADER
SetKernelBandwidthMultiplicationFactor (
double KernelBandwidthMultiplicationFactor ) { this->m_KernelBandwidthMultiplicationFactor = KernelBandwidthMultiplicationFactor;
return *
this; }
210 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;
228 Image Execute (
const Image& image1,
double kernelBandwidthSigma,
uint32_t patchRadius,
uint32_t numberOfIterations,
uint32_t numberOfSamplePatches,
double sampleVariance,
PatchBasedDenoisingImageFilter::NoiseModelType noiseModel,
double noiseSigma,
double noiseModelFidelityWeight,
bool alwaysTreatComponentsAsEuclidean,
bool kernelBandwidthEstimation,
double kernelBandwidthMultiplicationFactor,
uint32_t kernelBandwidthUpdateFrequency,
double kernelBandwidthFractionPixelsForEstimation );
235 typedef Image (Self::*MemberFunctionType)(
const Image& image1 );
236 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
NoiseModelType m_NoiseModel
double GetKernelBandwidthSigma() const
bool m_KernelBandwidthEstimation
Self & SetKernelBandwidthSigma(double KernelBandwidthSigma)
#define SITKBasicFilters_EXPORT
double m_KernelBandwidthFractionPixelsForEstimation
Self & SetNoiseModel(NoiseModelType NoiseModel)
Self & SetNumberOfIterations(uint32_t NumberOfIterations)
PatchBasedDenoisingImageFilter Self
std::string GetName() const
typelist::MakeTypeList< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > >::Type BasicPixelIDTypeList
Self & SetKernelBandwidthFractionPixelsForEstimation(double KernelBandwidthFractionPixelsForEstimation)
Self & SetNumberOfSamplePatches(uint32_t NumberOfSamplePatches)
Self & AlwaysTreatComponentsAsEuclideanOn()
double GetKernelBandwidthFractionPixelsForEstimation() const
double m_KernelBandwidthMultiplicationFactor
Self & SetPatchRadius(uint32_t PatchRadius)
bool GetAlwaysTreatComponentsAsEuclidean() const
uint32_t m_NumberOfSamplePatches
uint32_t GetPatchRadius() const
double GetNoiseSigma() const
NoiseModelType GetNoiseModel() const
double GetNoiseModelFidelityWeight() const
double m_NoiseModelFidelityWeight
double GetSampleVariance() const
Self & KernelBandwidthEstimationOff()
bool GetKernelBandwidthEstimation() const
bool m_AlwaysTreatComponentsAsEuclidean
Self & AlwaysTreatComponentsAsEuclideanOff()
uint32_t m_NumberOfIterations
Self & KernelBandwidthEstimationOn()
Self & SetAlwaysTreatComponentsAsEuclidean(bool AlwaysTreatComponentsAsEuclidean)
uint32_t GetNumberOfIterations() const
Self & SetNoiseModelFidelityWeight(double NoiseModelFidelityWeight)
Self & SetKernelBandwidthEstimation(bool KernelBandwidthEstimation)
Derived class implementing a specific patch-based denoising algorithm, as detailed below...
The main Image class for SimpleITK.
Self & SetKernelBandwidthUpdateFrequency(uint32_t KernelBandwidthUpdateFrequency)
Self & SetKernelBandwidthMultiplicationFactor(double KernelBandwidthMultiplicationFactor)
Self & SetSampleVariance(double SampleVariance)
BasicPixelIDTypeList PixelIDTypeList
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
uint32_t m_KernelBandwidthUpdateFrequency
uint32_t GetNumberOfSamplePatches() const
double GetKernelBandwidthMultiplicationFactor() const
Self & SetNoiseSigma(double NoiseSigma)
The base interface for SimpleITK filters that take one input image.
double m_KernelBandwidthSigma
uint32_t GetKernelBandwidthUpdateFrequency() const