template<typename _Real>
struct DiffusionSolver< _Real >
Solving diffusion on 3D regular grids (stored as CImg) 
- Parameters
- 
  
    | size | (in) the size of the regular domain in the 3 directions. |  | img | (in-out) the image to diffuse. It contains the Dirichlet boundary values and contains warm-start values (must be set to 0 for no warm-start). |  | mask | (in) represents the type of each voxel. A negative value represents the exterior of the domain, a positive value for the interior and 0 for Dirichlet boundary conditions. The boundary exterior/interior implicitly represents a Neumann boundary condition imposing null gradients along normals. |  
 
- Warning
- the material map must be normalized between [0,1] 
- 
at least a one pixel outside border
- Author
- : matth.nosp@m.ieu..nosp@m.nesme.nosp@m.@inr.nosp@m.ia.fr 
|  | 
| static void | setNbThreads (unsigned nb) | 
|  | for multi-threaded implementations  More... 
 | 
|  | 
| static void | setDefaultNbThreads () | 
|  | 
| static void | setMaxNbThreads () | 
|  | 
| static int | getMaxNbThreads () | 
|  | 
| static void | solveGS (ImageType &img, const MaskType &mask, Real spacingX, Real spacingY, Real spacingZ, unsigned iterations, Real threshold, Real sor=1, const ImageType *material=NULL, Real minValueThreshold=0) | 
|  | 
| static void | solveJacobi (ImageType &img, const MaskType &mask, Real spacingX, Real spacingY, Real spacingZ, unsigned iterations, Real threshold, const ImageType *material=NULL, Real minValueThreshold=0) | 
|  | Jacobi implementation.  More... 
 | 
|  | 
| static void | solveCG (ImageType &img, const MaskType &mask, Real spacingX, Real spacingY, Real spacingZ, unsigned iterations, Real threshold, const ImageType *material=NULL) | 
|  | Conjugate Gradient implementation (matrix-free)  More... 
 | 
|  |