#include <ICThomasHeatOp.hpp>
Inheritance diagram for ICThomasHeatOp:
Purpose: Fast Computation of gaussian blurring/ Linear diffusion. Very useful for linear time scale space, including laplacian, Retinex, and linear time image blurrings. Much faster than FFT on large kernels: sigma >>> 0 Semi-Implicit solver using LOD multiplicative splitting (I - tau * A) * uNew= uOld Papers: "Complex Diffusion Processes in Image Filtering", Guy Gilboa & all, Report 2001, Israel Institut of Technology. "Image Enhancement and Denoising by Complex Diffusion Processes", Guy Gilboa, Zeevi, Sochen, Report August 2002, Israel Institut of Technology. "Recursive Digital Filters,", Victor De Brunner , John Wiley Encyclopedia of Electrical and Electronic Engineer 1999, Volume 18. "Programming techniques for realtime software implementation, of optimal edge detectors: a comparision between state of the art DSP's and RISC architectures." Frantz Lohier, Lionel Lacassagne, Patrick Garda, Université Pierre et Marie Curie, France 199x. "Evaluation of Diffusion Schemes for Multiscale-Watershed Segmentation,", Erik Dam, Thesis , University of Copenhagen 2000. "Recursively Implementing Gaussian and its Derivatives.", R. Deriche, INRIA 1993. "Recursivity and PDE's in image processing", L. Alvarez, R. Deriche and F Santana, Spain 1998.
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2003, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
ICThomasHeatOp (int iterations=1, double t=0.5, double ctheta=0.001, bool colorFlag=false) | |
Can be used as alternative of IIR for large sigma blurring when t=(sigma*sigma)/2. | |
virtual | ~ICThomasHeatOp () |
virtual AnImage * | filter (AnImage *src, AnImage *dest=0) |
Local full image filtering. | |
virtual AnImage * | selectedFilter (AnImage *mask, AnImage *src, AnImage *dest=0) |
Local filtering in a mask area. | |
virtual void | report (FILE *file) |
Protected Methods | |
virtual AnImage * | greyFilter (AnImage *src, AnImage *dest=0) |
virtual AnImage * | greySelectedFilter (AnImage *mask, AnImage *src, AnImage *dest=0) |
virtual C3CImage * | scolorFilter (C3CImage *src, C3CImage *dest=0) |
virtual C3CImage * | scolorSelectedFilter (AnImage *mask, C3CImage *src, C3CImage *dest=0) |
virtual C3CImage * | fcolorFilter (C3CImage *src, C3CImage *dest=0) |
virtual C3CImage * | fcolorSelectedFilter (AnImage *mask, C3CImage *src, C3CImage *dest=0) |
Private Attributes | |
int | iter |
double | tau |
double | theta |
|
Local full image filtering.
Reimplemented from ICMultiImageOp. |
|
Local filtering in a mask area.
Reimplemented from ICMultiImageOp. |