Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

F2DFastDprCflAdiHeatFlowOp Class Reference

#include <F2DFastDprCflAdiHeatFlowOp.hpp>

Inheritance diagram for F2DFastDprCflAdiHeatFlowOp:

Inheritance graph
[legend]
Collaboration diagram for F2DFastDprCflAdiHeatFlowOp:

Collaboration graph
[legend]
List of all members.

Detailed Description

Float 2D Heat recursive flow.

Author:
Bernard De Cuyper
Version:
1.15
Date:
1/07/2004
 
Purpose:        Fast Computation of 2D Heat recursive flow.

                Splitted implicit solver using tridiagonals solvers when possible
            (I - tau/2 * Ax) * u$=  [(I + tau/2 * Ay)] * uOld           // X-sweep
            (I - tau/2 * Ay) * u=  [(I + tau/2 * Ax)] * u$                      // Y-sweep

Papers:         "Recursivity and PDE's in image processing", 
                        L. Alvarez, R. Deriche and F Santana, Spain 1998.

                        "Numerical Receipes in C: Diffusion Equation in Multidimensions.",  p666,
                        William H. Press & all, Cambridge University Press, 1988.

                        "Numerical Receipes in C: 17.6, Operator Splitting Methods and ADI.",  p681-688,
                        William H. Press & all, Cambridge University Press, 1988.

Note:           The Numerical Receipes exhibits a fast classic DPR-ADI O(N), starting with a half explicit single iteration.
                This ADI may be sensitive to CFL condition on its right part. I found experimentally a blow out a sigma>=8.

                This solution is iterating more, with a smaller time step on RHS. (Can be O(N^2) on a half step)

                

@ Copyrights: Bernard De Cuyper 2004, Eggs & Pictures. MIT/Open BSD copyright model.


Public Methods

 F2DFastDprCflAdiHeatFlowOp (int typeSolver, int iter=1, int innerIter=8, float t=0.5, float eps=1.0e-4)
 Can be used as alternative of IIR for large sigma blurring when t=(sigma*sigma)/2.

virtual ~F2DFastDprCflAdiHeatFlowOp ()
virtual FImagefilter (FImage *src, FImage *dest=0)
 Local full image filtering.

virtual void report (FILE *file)


Member Function Documentation

FImage * F2DFastDprCflAdiHeatFlowOp::filter FImage   src,
FImage   dest = 0
[virtual]
 

Local full image filtering.

Parameters:
src  is FImage* is FImage source channel
dest  is FImage* is FImage result/placeholder
Returns :
FImage* as result,

Reimplemented from F2DAdiHeatFlowOp.


The documentation for this class was generated from the following files:
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com