Filtering (i.e. diffusion) of narrow-band level sets.
More...
#include <LevelSetFilter.h>
Inherits LevelSetTracker< GridT, InterruptT >.
template<typename GridT, typename InterruptT = util::NullInterrupter>
class openvdb::v2_0_0::tools::LevelSetFilter< GridT, InterruptT >
Filtering (i.e. diffusion) of narrow-band level sets.
- Note
- This class performs propper interface tracking which allows for unrestricted surface deformations
Main constructor from a grid.
- Parameters
-
grid | The level set to be filtered. |
interrupt | Optional interrupter. |
Shallow copy constructor called by tbb::parallel_for() threads during filtering.
- Parameters
-
BOOST_STATIC_ASSERT |
( |
boost::is_floating_point< ValueType >::value |
| ) |
|
|
inherited |
bool checkInterrupter |
( |
| ) |
|
|
inlineinherited |
- Returns
- false if the process was interrupted
void gaussian |
( |
int |
width = 1 , |
|
|
const GridT * |
mask = NULL |
|
) |
| |
|
inline |
One iteration of a fast separable gaussian filter.
- Parameters
-
width | Width of the gaussian kernel in voxel units. |
mask | Optional alpha mask. |
- Note
- This is approximated as 4 iterations of a separable mean filter which typically leads an approximation that's better than 95%!
int getGrainSize |
( |
| ) |
const |
|
inlineinherited |
- Returns
- the grain-size used for multi-threading
int getNormCount |
( |
| ) |
const |
|
inlineinherited |
- Returns
- The number of normalizations performed per track or normalize call.
- Returns
- the spatial finite difference scheme
- Returns
- the temporal integration scheme
void laplacian |
( |
const GridT * |
mask = NULL | ) |
|
|
inline |
One iteration of laplacian flow of the level set.
- Parameters
-
void mean |
( |
int |
width = 1 , |
|
|
const GridT * |
mask = NULL |
|
) |
| |
|
inline |
One iteration of mean-value flow of the level set.
- Parameters
-
width | Width of the mean-value kernel in voxel units. |
mask | Optional alpha mask. |
- Note
- This filter is separable so it's fast!
void meanCurvature |
( |
const GridT * |
mask = NULL | ) |
|
|
inline |
One iteration of mean-curvature flow of the level set.
- Parameters
-
void median |
( |
int |
width = 1 , |
|
|
const GridT * |
mask = NULL |
|
) |
| |
|
inline |
One iteration of median-value flow of the level set.
- Parameters
-
width | Width of the median-value kernel in voxel units. |
mask | Optional alpha mask. |
- Warning
- This filter is not separable and is hence relatively slow!
Iterative normalization, i.e. solving the Eikonal equation.
void offset |
( |
ValueType |
offset, |
|
|
const GridT * |
mask = NULL |
|
) |
| |
|
inline |
Offset the level set by the specified (world) distance.
- Parameters
-
offset | Value of the offset. |
mask | Optional alpha mask. |
void operator() |
( |
const RangeType & |
range | ) |
const |
|
inline |
Used internally by tbb::parallel_for().
- Parameters
-
range | The range over which to perform multi-threading. |
- Warning
- Never call this method directly!
Public functor called by tbb::parallel_for()
- Note
- Never call this method directly
Remove voxels that are outside the narrow band. (substep of track)
void setGrainSize |
( |
int |
grainsize | ) |
|
|
inlineinherited |
Set the grain-size used for multi-threading.
- Note
- A grainsize of 0 or less disables multi-threading!
void setNormCount |
( |
int |
n | ) |
|
|
inlineinherited |
Set the number of normalizations performed per track or normalize call.
Set the spatial finite difference scheme.
Set the spatial finite difference scheme.
void startInterrupter |
( |
const char * |
msg | ) |
|
|
inlineinherited |
Track the level set interface, i.e. rebuild and normalize the narrow band of the level set.
The documentation for this class was generated from the following file: