STIRA
0.1
|
child class for computing Richardson-Lucy deconvolution More...
#include <RichardsonLucyDeconvolve.h>
Public Member Functions | |
RichardsonLucyDeconvolve (Image *pDegradedImage, regularizationType myRegularizationType=REGULARIZE_NONE, int maxNrOfIterations=20) | |
constructor without setting PSF, so is still to be determined before run More... | |
RichardsonLucyDeconvolve (Image *pDegradedImage, Image *pPSF, regularizationType myRegularizationType=REGULARIZE_NONE, int maxNrOfIterations=20) | |
constructor with PSF More... | |
~RichardsonLucyDeconvolve () | |
destructor | |
bool | Run () |
starts the deconvolution if all inputs are available After completion, get the result with GetRestoredImage() from the parent class | |
regularizationType | GetRegularizationType () |
sets regularization type | |
void | SetRegularizationType (regularizationType myType) |
gets regularization type More... | |
void | SetEnforceIntensityRange (bool flag) |
sets flag whether or not to enforce the solution to fit within an intensity range More... | |
bool | GetEnforceIntensityRange () |
gets flag whether or not to enforce the solution to fit within an intensity range | |
void | PrintParameters () |
prints for diagnostic purposes parameters to standard output | |
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 Richardson-Lucy deconvolution
INRIA Techical Report N° 5272, July 2004 "3D Microscopy Deconvolution using Richardson-Lucy Algorithm with Total Variation Regularization" Dey, N. and Blanc-F\'{e}raud, L. and Zimmer, C. and Roux, P. and Kam, Z. and Olivo-Marin, J.C and Zerubia, J. ftp://ftp.inria.fr/INRIA/publication/publi-ps-gz/RR/RR-5272.ps.gz
PhD Thesis "Accelerated iterative blind deconvolution, University of Auckland, New Zealand Biggs, David S.C. http://hdl.handle.net/2292/1760
stira::deconvolve::RichardsonLucyDeconvolve::RichardsonLucyDeconvolve | ( | Image * | pDegradedImage, |
regularizationType | myRegularizationType = REGULARIZE_NONE , |
||
int | maxNrOfIterations = 20 |
||
) |
constructor without setting PSF, so is still to be determined before run
pDegradedImage | the input image to be restored |
myRegularizationType | type of regularization to be applied |
maxNrOfIterations | maximum number of iterations |
stira::deconvolve::RichardsonLucyDeconvolve::RichardsonLucyDeconvolve | ( | Image * | pDegradedImage, |
Image * | pPSF, | ||
regularizationType | myRegularizationType = REGULARIZE_NONE , |
||
int | maxNrOfIterations = 20 |
||
) |
constructor with PSF
pDegradedImage | the input image to be restored |
pPSF | the input PSF (needs same width and height as pDegradedImage) |
myRegularizationType | type of regularization to be applied |
maxNrOfIterations | maximum number of iterations |
void stira::deconvolve::RichardsonLucyDeconvolve::SetEnforceIntensityRange | ( | bool | flag | ) |
sets flag whether or not to enforce the solution to fit within an intensity range
flag | boolean value of the flag to set |
void stira::deconvolve::RichardsonLucyDeconvolve::SetRegularizationType | ( | regularizationType | myType | ) |
gets regularization type
myType | type of regularization to be applied |
References stira::imagedata::Image::GetImageName(), and stira::deconvolve::DeconvolveMaster::mpDegradedImage.