#include <CoherenceEnhancementDiff.hpp>
Inheritance diagram for CoherenceEnhancementDiff:
Purpose: Coherence Enhancement Diffusion restoration produce smooth images. Should get more details. Paper: "A Scheme for Coherence-Enhancing Diffusion Filtering with Optimize Rotation Invariance.", Joachim Weickert & H. Scharr, Computer Vision 2000.
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
CoherenceEnhancementDiff (int n=20, double dt=0.2, double sig=0.5, double arho=10.0, double ac1=0.001, double ac2=1.0) | |
virtual | ~CoherenceEnhancementDiff () |
virtual void | prepare (RImage *src) |
used to globally maintain subimages avoiding cons | |
virtual void | clear () |
used to globally destroy subimages avoiding decons | |
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 | precompute () |
virtual double | computeA (int x, int y, int i, int j) |
virtual void | operations (RImage &result) |
virtual void | operations (AnImage &mask, RImage &result) |
Protected Attributes | |
RImage * | I0 |
RImage * | I |
int | niterations |
double | tau |
RImage * | a |
RImage * | b |
RImage * | c |
double | sigma |
double | c1 |
double | c2 |
double | lambda1 |
double | lambda2 |
double | cosAlpha |
double | sinAlpha |
double | rho |
double | j11 |
double | j12 |
double | j22 |
double | mu1 |
double | mu2 |
|
Local full image filtering.
Implements AbsRImageFilter. |
|
Local filtering in a mask area.
Reimplemented from AbsRImageFilter. |