Go to the documentation of this file.
18 #ifndef sitkProjectedLandweberDeconvolutionImageFilter_h
19 #define sitkProjectedLandweberDeconvolutionImageFilter_h
78 SITK_RETURN_SELF_TYPE_HEADER
SetAlpha (
double Alpha ) { this->m_Alpha = Alpha;
return *
this; }
83 double GetAlpha()
const {
return this->m_Alpha; }\
88 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfIterations (
int NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations;
return *
this; }
102 SITK_RETURN_SELF_TYPE_HEADER
NormalizeOn() {
return this->SetNormalize(
true); }
103 SITK_RETURN_SELF_TYPE_HEADER
NormalizeOff() {
return this->SetNormalize(
false); }
109 typedef enum {
ZERO_PAD,ZERO_FLUX_NEUMANN_PAD,PERIODIC_PAD} BoundaryConditionType;\
119 typedef enum {SAME,VALID} OutputRegionModeType;\
130 std::string
GetName()
const {
return std::string (
"ProjectedLandweberDeconvolutionImageFilter"); }
133 std::string ToString()
const;
145 template <
class TImageType>
Image ExecuteInternal (
const Image& image1,
const Image& image2 );
155 int m_NumberOfIterations{1};
158 bool m_Normalize{
false};
The Image class for SimpleITK.
Image Normalize(const Image &image1)
Normalize an image by setting its mean to zero and variance to one.
Deconvolve an image using the projected Landweber deconvolution algorithm.
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
Image(Self::*)(const Image &image1, const Image &image2) MemberFunctionType
Self & SetOutputRegionMode(OutputRegionModeType OutputRegionMode)
BasicPixelIDTypeList PixelIDTypeList
Self & SetNumberOfIterations(int NumberOfIterations)
#define SITKBasicFilters_EXPORT
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & SetNormalize(bool Normalize)
BoundaryConditionType GetBoundaryCondition() const
Self & SetAlpha(double Alpha)
int GetNumberOfIterations() const
The base interface for SimpleITK filters that take one input image.
bool GetNormalize() const
std::string GetName() const
Self & SetBoundaryCondition(BoundaryConditionType BoundaryCondition)
OutputRegionModeType GetOutputRegionMode() const
Image ProjectedLandweberDeconvolution(const Image &image1, const Image &image2, double alpha=0.1, int numberOfIterations=1, bool normalize=false, ProjectedLandweberDeconvolutionImageFilter::BoundaryConditionType boundaryCondition=itk::simple::ProjectedLandweberDeconvolutionImageFilter::ZERO_FLUX_NEUMANN_PAD, ProjectedLandweberDeconvolutionImageFilter::OutputRegionModeType outputRegionMode=itk::simple::ProjectedLandweberDeconvolutionImageFilter::SAME)
Deconvolve an image using the projected Landweber deconvolution algorithm.