|
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 |
1.8.11