#include <F2DAdiHeatFlowOp.hpp>
Inheritance diagram for F2DAdiHeatFlowOp:
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 | |
F2DAdiHeatFlowOp (int typeSolver, bool implicit=false, 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 | ~F2DAdiHeatFlowOp () |
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 |
bool | implicitFlag |
AbsFLinearSolver * | linearSolver |
|
Local full image filtering.
Implements AbsFImageFilter. Reimplemented in F2DAdiII_HeatFlowOp, F2DAmosHeatFlowOp, F2DCflAdiHeatFlowOp, F2DFastDprAdiHeatFlowOp, F2DFastDprCflAdiHeatFlowOp, and F2DSymAdiHeatFlowOp. |
|
Local filtering in a mask area.
Reimplemented from AbsFImageFilter. |