Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The main purpose of the rework is to reduce the memory footprint of the levelset. To achieve this goal, the values computed by the levelset are stored in separate caches. Each cache can be enabled separately form the other and can operate in one of the following modes: values can be cached as their are evaluated; values can be pre-computed inside the narrow band; values can be pre-computed on the whole domain. When no caches are enabled, the only memory used by the levelset is the memory that each object uses to store its own information (for example the object that evaluates the levelset of a segmentation stored information about the normals of the segmentation). When no cached are enabled, the evaluation of the levelset is thread safe and this allows to use the levelset object inside parallel OpenMP regions. This new levelset aims to be 100% compatible with the existing levelset. Some functions are now deprecated, but thay should still work as before.
- Loading branch information