#include <F2DLodHeatFlowOp.hpp>
Inheritance diagram for F2DLodHeatFlowOp:


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.
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.
Solutions: 1)iterating more a smaller time step on RHS. (Can be O(N^2))
2)approximate the first RHS, with a previous unconditional stable LHS! Keep O(N)
@ Copyrights: Bernard De Cuyper 2004, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
| F2DLodHeatFlowOp (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 | ~F2DLodHeatFlowOp () |
| virtual FImage * | filter (FImage *src, FImage *dest=0) |
| Local full image filtering. | |
| virtual FImage * | selectedFilter (AnImage *mask, FImage *src, FImage *dest=0) |
| Local filtering in a mask area. | |
| virtual void | report (FILE *file) |
Protected Attributes | |
| int | iterMax |
| int | innerIterMax |
| float | tau |
| float | epsilon |
| AbsFLinearSolver * | linearSolver |
|
||||||||||||
|
Local full image filtering.
Implements AbsFImageFilter. |
|
||||||||||||||||
|
Local filtering in a mask area.
Reimplemented from AbsFImageFilter. |
![]() |
