#include <RLysaker2thOrderFilter.hpp>
Inheritance diagram for RLysaker2thOrderFilter:
Purpose: Test preservation of 2nd order in TV norme restoration. Paper: "Noise Removal using Fourth-Order Partial Differential Equations with Applications to Medical Magnetic Resonance Images in Space and time.", Marius Lysaker & Arvid Lundervold , Report 2002, UCLA. Purpose: Second order filter like the Rudin/Osher/Fatemi filter are very good denoiser. But is some application, to much details are destroyed. Also, second order filters introduce a staircase effect in images. (like linear steps). Higher order filters can better maintain non-linear information and details, this happens at the cost of maintaining some noise. This is a tradeoff, your choice, or perhaps we may need a kind of "linearity" indicator to decide what type of local restoration should be used.
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
RLysaker2thOrderFilter (int n, double rdt=0.1) | |
virtual | ~RLysaker2thOrderFilter () |
virtual void | setMask (int n, int *xp, int *yp) |
virtual RImage * | filter (RImage *src, RImage *dest=0) |
Local full image filtering. | |
virtual RImage * | selectedFilter (AnImage *mask, RImage *src, RImage *dest=0) |
Local filtering in a mask area. | |
virtual void | report (FILE *file) |
Protected Methods | |
virtual void | channelConstrain () |
virtual void | channelConstrain (AnImage &mask) |
virtual double | operation (RImage *im, int x, int y) |
virtual void | operations (RImage *result) |
virtual void | operations (AnImage &mask, RImage *result) |
Protected Attributes | |
RImage * | u0 |
RImage * | u |
RImage * | aDUx |
RImage * | bDUy |
RImage * | deltaU |
double | lambda |
double | sigma2 |
double | epsilon |
double | sumI0_2 |
int | niterations |
double | dt |
|
Local full image filtering.
Implements AbsRImageFilter. |
|
Local filtering in a mask area.
Reimplemented from AbsRImageFilter. |