STIRA
0.1
|
child class for computing GNC-based image deconvolution GNC stands for Graduated Non Convexity, related stuff to markov random fields More...
#include <GNCDeconvolve.h>
Public Member Functions | |
GNCDeconvolve (Image *pDegradedImage, int maxNrOfIterations=20) | |
constructor without setting PSF, so is still to be determined before run More... | |
GNCDeconvolve (Image *pDegradedImage, Image *pPSF, int maxNrOfIterations=20) | |
constructor with PSF More... | |
~GNCDeconvolve () | |
destructor | |
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 | InitializeParameters () |
prints for diagnostic purposes parameters to standard output | |
int | GetNumberOfScales () |
gets the number of scales in the multiscale restoration | |
void | SetNumberOfScales (int nrScales) |
sets the number of scales in the multiscale restoration More... | |
int | GetNumberOfOrientations () |
gets the number of orientations per scale in the multiscale restoration | |
void | SetNumberOfOrientations (int nrOrientations) |
sets the number of orientations per scale in the multiscale restoration More... | |
double | GetMu () |
gets mu (scaling factor for data fitting) | |
void | SetMu (double newMu) |
sets mu (scaling factor for data fitting) More... | |
double | GetLambda () |
gets lambda (scaling factor for regularization) | |
void | SetLambda (double newLambda) |
sets lambda (scaling factor for regularization) More... | |
double | GetGamma () |
Gets value for gamma This parameter controls the amount of convexity of the cost function and is updated when iterations converge. | |
void | SetGamma (double newGamma) |
Sets value for gamma. More... | |
double | GetGammaFinal () |
Gets value for final value of gamma. | |
void | SetGammaFinal (double newGammaFinal) |
Sets value for final value of gamma. More... | |
double | GetUpdateFactor () |
Gets the update factor Parameter gamma controls the amount of convexity; when the iterations converge for a given gamma, gamma is multiplied with this factor and the computations are resumed. | |
void | SetUpdateFactor (double newFactor) |
Gets the update factor Parameter gamma controls the amount of convexity; when the iterations converge for a given gamma, gamma is multiplied with this factor and the computations are resumed. More... | |
void | SetMSEDifferenceThreshold (double myThreshold) |
sets threshold for MSE (Mean Square error) under which the iterations are stopped. More... | |
double | GetMSEDifferenceThreshold () |
gets threshold for MSE (Mean Square error) under which the iterations are stopped. | |
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 GNC-based image deconvolution GNC stands for Graduated Non Convexity, related stuff to markov random fields
See my own PhD thesis WORK IN PROGRESS: re-implementing code from ~/bin/fft/fftw215/gnc2
Inspired on PhD thesis Sanja page 62
stira::deconvolve::GNCDeconvolve::GNCDeconvolve | ( | Image * | pDegradedImage, |
int | maxNrOfIterations = 20 |
||
) |
constructor without setting PSF, so is still to be determined before run
pDegradedImage | the input image to be restored |
maxNrOfIterations | maximum number of iterations |
References InitializeParameters().
stira::deconvolve::GNCDeconvolve::GNCDeconvolve | ( | Image * | pDegradedImage, |
Image * | pPSF, | ||
int | maxNrOfIterations = 20 |
||
) |
constructor with PSF
pDegradedImage | the input image to be restored |
pPSF | the input PSF (needs same width and height as pDegradedImage) |
maxNrOfIterations | maximum number of iterations |
References InitializeParameters().
void stira::deconvolve::GNCDeconvolve::SetGamma | ( | double | newGamma | ) |
Sets value for gamma.
newGamma | new value for gamma to set |
void stira::deconvolve::GNCDeconvolve::SetGammaFinal | ( | double | newGammaFinal | ) |
Sets value for final value of gamma.
newGammaFinal | new value for final gamma to set |
void stira::deconvolve::GNCDeconvolve::SetLambda | ( | double | newLambda | ) |
sets lambda (scaling factor for regularization)
newLambda | new value for lambda to set |
void stira::deconvolve::GNCDeconvolve::SetMSEDifferenceThreshold | ( | double | myThreshold | ) |
sets threshold for MSE (Mean Square error) under which the iterations are stopped.
myThreshold | new value of the threshold to set |
void stira::deconvolve::GNCDeconvolve::SetMu | ( | double | newMu | ) |
sets mu (scaling factor for data fitting)
newMu | new value for mu to set |
void stira::deconvolve::GNCDeconvolve::SetNumberOfOrientations | ( | int | nrOrientations | ) |
sets the number of orientations per scale in the multiscale restoration
nrOrientations | the number of orientations per scale |
void stira::deconvolve::GNCDeconvolve::SetNumberOfScales | ( | int | nrScales | ) |
sets the number of scales in the multiscale restoration
nrScales | the number of scales |
void stira::deconvolve::GNCDeconvolve::SetUpdateFactor | ( | double | newFactor | ) |
Gets the update factor Parameter gamma controls the amount of convexity; when the iterations converge for a given gamma, gamma is multiplied with this factor and the computations are resumed.
newFactor | new value for the update factor |