STIRA
0.1
|
child class for computing Tikhonov-Miller deconvolution Based on implementation of my thesis student Tim Stevens More...
#include <TikhonovMillerDeconvolve.h>
Public Member Functions | |
TikhonovMillerDeconvolve (Image *pDegradedImage, int maxNrOfIterations=20) | |
constructor without setting PSF, so is still to be determined or estimated before run More... | |
TikhonovMillerDeconvolve (Image *pDegradedImage, Image *pPSF, int maxNrOfIterations=20) | |
constructor with setting the PSF More... | |
~TikhonovMillerDeconvolve () | |
destructor | |
void | SetEnforcePositivity (bool flag) |
sets the flag if positivity should be enforced after every iteration If true, all negative values in the image are set to zero after every iteration | |
bool | GetEnforcePositivity () |
gets the flag if positivity should be enforced after every iteration | |
bool | Run () |
starts the deconvolution if all inputs are available After completion, get the result with GetRestoredImage() from the parent class | |
void | PrintParameters () |
prints for diagnostic purposes parameters to standard output | |
void | ICTM_filter (int nrIterations, ArrayGrid< double > *pData, ArrayGrid< double > *pPsf) |
Public Member Functions inherited from stira::deconvolve::IterativeDeconvolve | |
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 | |
Image * | GetDegradedImage () |
Gets the degraded input image. | |
void | SetDegradedImage (Image *pDegradedImage) |
sets the degraded image to restore More... | |
Image * | GetPSF () |
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... | |
Image * | GetRestoredImage () |
gets the result after running the deconvolution | |
void | SetSigmaNoise (double sigma) |
sets the noise level More... | |
double | GetSigmaNoise () |
gets the noise level | |
Additional Inherited Members | |
Protected Member Functions inherited from stira::deconvolve::IterativeDeconvolve | |
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. | |
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 inherited from stira::deconvolve::IterativeDeconvolve | |
Image * | mpLastEstimate |
pointer to the restored image from previous iteration | |
Image * | mpNewEstimate |
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 | |
Image * | mpDegradedImage |
degraded input image | |
Image * | mpRestoredImage |
restored image for output | |
Image * | mpPSF |
image containing the Point Spread Function | |
double | mSigmaNoise |
sigma of the noise | |
child class for computing Tikhonov-Miller deconvolution Based on implementation of my thesis student Tim Stevens
stira::deconvolve::TikhonovMillerDeconvolve::TikhonovMillerDeconvolve | ( | Image * | pDegradedImage, |
int | maxNrOfIterations = 20 |
||
) |
constructor without setting PSF, so is still to be determined or estimated before run
pDegradedImage | the input image to be restored |
maxNrOfIterations | maximum number of iterations |
stira::deconvolve::TikhonovMillerDeconvolve::TikhonovMillerDeconvolve | ( | Image * | pDegradedImage, |
Image * | pPSF, | ||
int | maxNrOfIterations = 20 |
||
) |
constructor with setting the PSF
pDegradedImage | the input image to be restored |
pPSF | the input PSF (needs same width and height as pDegradedImage) |
maxNrOfIterations | maximum number of iterations |