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