Go to the documentation of this file.
18 #ifndef sitkLandweberDeconvolutionImageFilter_h
19 #define sitkLandweberDeconvolutionImageFilter_h
82 SITK_RETURN_SELF_TYPE_HEADER
SetAlpha (
double Alpha ) { this->m_Alpha = Alpha;
return *
this; }
87 double GetAlpha()
const {
return this->m_Alpha; }\
92 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfIterations (
int NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations;
return *
this; }
106 SITK_RETURN_SELF_TYPE_HEADER
NormalizeOn() {
return this->SetNormalize(
true); }
107 SITK_RETURN_SELF_TYPE_HEADER
NormalizeOff() {
return this->SetNormalize(
false); }
113 typedef enum {
ZERO_PAD,ZERO_FLUX_NEUMANN_PAD,PERIODIC_PAD} BoundaryConditionType;\
134 std::string
GetName()
const {
return std::string (
"LandweberDeconvolutionImageFilter"); }
137 std::string ToString()
const;
149 template <
class TImageType>
Image ExecuteInternal (
const Image& image1,
const Image& image2 );
159 int m_NumberOfIterations{1};
162 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
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
bool GetNormalize() const
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)