STIRA  0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
stira::deconvolve::IterativeDeconvolve Class Referenceabstract

parent class for computing iterative deconvolution schemes More...

#include <IterativeDeconvolve.h>

Inheritance diagram for stira::deconvolve::IterativeDeconvolve:
stira::deconvolve::DeconvolveMaster stira::deconvolve::GNCDeconvolve stira::deconvolve::RichardsonLucyDeconvolve stira::deconvolve::TikhonovMillerDeconvolve stira::deconvolve::VanCittertLandweberDeconvolve

Public Member Functions

void SetLambda (double lambda)
 sets regularization parameter lambda
 
double GetLambda ()
 gets regularization parameter lambda
 
void SetStepSize (double stepSize)
 sets step size
 
double GetStepSize ()
 gets step size
 
int GetMaximumNrOfIterations ()
 gets the maximum number of iterations
 
void SetMaximumNrOfIterations (int nrIter)
 sets the maximum number of iterations More...
 
- Public Member Functions inherited from stira::deconvolve::DeconvolveMaster
virtual bool Run ()=0
 Runs the actual restoration algorithm After completion, get the result with GetRestoredImage()
 
ImageGetDegradedImage ()
 Gets the degraded input image.
 
void SetDegradedImage (Image *pDegradedImage)
 sets the degraded image to restore More...
 
ImageGetPSF ()
 gets the Point Spread Function (PSF) The PSF is a model of the blur; it is how every single point is imaged in the degraded image. For an ideal image, it would be a delta function; in reality, it is mostly a certain spot.
 
void SetPSF (Image *pPSF)
 sets the Point Spread Function (PSF) More...
 
ImageGetRestoredImage ()
 gets the result after running the deconvolution
 
void SetSigmaNoise (double sigma)
 sets the noise level More...
 
double GetSigmaNoise ()
 gets the noise level
 
virtual bool IsReadyToRun ()=0
 checks if all conditions are fulfilled for this deconvolution method
 

Protected Member Functions

 IterativeDeconvolve (Image *pDegradedImage, int maxNrOfIterations=20)
 constructor Protected constructor; should be called by a child class More...
 
 IterativeDeconvolve (Image *pDegradedImage, Image *pPSF, int maxNrOfIterations=20)
 constructor Protected constructor; should be called by a child class More...
 
 ~IterativeDeconvolve ()
 destructor
 
void Initialize (int maxNrOfIterations)
 initializes all data structures for deconvolution
 
bool PrepareCurrentGrids ()
 Prepares grid for restoration Restoration goes per colour band per iteration, so for each step, the pointers mpDegradedGrid, mpLastGrid, mpNewGrid, mpPSFGrid are set here.
 
virtual bool RunSingleIterationSingleBand ()=0
 Runs a single iteration on a single colour band of the image Implemented in the child classes.
 
- Protected Member Functions inherited from stira::deconvolve::DeconvolveMaster
 DeconvolveMaster (Image *pDegradedImage)
 constructor Sets degraded input image; PSF is estimated or entered in later stage More...
 
 DeconvolveMaster (Image *pDegradedImage, Image *pPSF)
 constructor Sets degraded input image and PSF More...
 
virtual ~DeconvolveMaster ()
 constructor
 
bool AreParentConditionsOK ()
 checks basic conditions are fulfilled for all deconvolution methods
 

Protected Attributes

ImagempLastEstimate
 pointer to the restored image from previous iteration
 
ImagempNewEstimate
 pointer to the restored image from current iteration
 
double mLambda
 Regularization parameter.
 
double mStepSize
 Step size.
 
int mCurrentIterationNr
 number of the current iteration
 
int mCurrentBandNr
 number of the current band being retsored
 
int mMaximumNrOfIterations
 maximum number of iterations
 
ArrayGrid< double > * mpDegradedGrid
 pointer to a band of the degraded image
 
ArrayGrid< double > * mpLastGrid
 pointer to a band of the restored image from previous iteration
 
ArrayGrid< double > * mpNewGrid
 pointer to a band of the restored image from current iteration
 
ArrayGrid< double > * mpPSFGrid
 pointer to a band of the Point Spread Function
 
- Protected Attributes inherited from stira::deconvolve::DeconvolveMaster
ImagempDegradedImage
 degraded input image
 
ImagempRestoredImage
 restored image for output
 
ImagempPSF
 image containing the Point Spread Function
 
double mSigmaNoise
 sigma of the noise
 

Detailed Description

parent class for computing iterative deconvolution schemes

Constructor & Destructor Documentation

stira::deconvolve::IterativeDeconvolve::IterativeDeconvolve ( Image pDegradedImage,
int  maxNrOfIterations = 20 
)
protected

constructor Protected constructor; should be called by a child class

Parameters
pDegradedImagethe degraded input image for restoration
maxNrOfIterationsthe maximum number of iterations

References Initialize().

stira::deconvolve::IterativeDeconvolve::IterativeDeconvolve ( Image pDegradedImage,
Image pPSF,
int  maxNrOfIterations = 20 
)
protected

constructor Protected constructor; should be called by a child class

Parameters
pDegradedImagethe degraded input image for restoration
pPSFthe Point Spread Function
maxNrOfIterationsthe maximum number of iterations

References Initialize().

Member Function Documentation

void stira::deconvolve::IterativeDeconvolve::SetMaximumNrOfIterations ( int  nrIter)

sets the maximum number of iterations

Parameters
nrIterthe maximum number of iterations

References mMaximumNrOfIterations.


The documentation for this class was generated from the following files: