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...
|
| |