18 #ifndef sitkLandweberDeconvolutionImageFilter_h
19 #define sitkLandweberDeconvolutionImageFilter_h
80 SITK_RETURN_SELF_TYPE_HEADER
SetAlpha (
double Alpha ) { this->m_Alpha = Alpha;
return *
this; }
85 double GetAlpha()
const {
return this->m_Alpha; }
90 SITK_RETURN_SELF_TYPE_HEADER
SetNumberOfIterations (
int NumberOfIterations ) { this->m_NumberOfIterations = NumberOfIterations;
return *
this; }
104 SITK_RETURN_SELF_TYPE_HEADER
NormalizeOn() {
return this->SetNormalize(
true); }
105 SITK_RETURN_SELF_TYPE_HEADER
NormalizeOff() {
return this->SetNormalize(
false); }
111 typedef enum {
ZERO_PAD,ZERO_FLUX_NEUMANN_PAD,PERIODIC_PAD} BoundaryConditionType;
131 std::string
GetName()
const {
return std::string (
"LandweberDeconvolutionImageFilter"); }
134 std::string ToString()
const;
148 typedef Image (Self::*MemberFunctionType)(
const Image& image1,
const Image& image2 );
149 template <
class TImageType>
Image ExecuteInternal (
const Image& image1,
const Image& image2 );
Self & SetOutputRegionMode(OutputRegionModeType OutputRegionMode)
#define SITKBasicFilters_EXPORT
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
BasicPixelIDTypeList PixelIDTypeList
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 & SetNumberOfIterations(int NumberOfIterations)
Image Normalize(const Image &image1)
Normalize an image by setting its mean to zero and variance to one.
int GetNumberOfIterations() const
Self & SetAlpha(double Alpha)
Deconvolve an image using the Landweber deconvolution algorithm.
Self & SetBoundaryCondition(BoundaryConditionType BoundaryCondition)
BoundaryConditionType m_BoundaryCondition
OutputRegionModeType GetOutputRegionMode() const
Self & SetNormalize(bool Normalize)
std::string GetName() const
The Image class for SimpleITK.
OutputRegionModeType m_OutputRegionMode
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.
LandweberDeconvolutionImageFilter Self
bool GetNormalize() const
BoundaryConditionType GetBoundaryCondition() const
The base interface for SimpleITK filters that take one input image.