Filtering (e.g. diffusion) of narrow-band level sets. An optional scalar field can be used to produce a (smooth) alpha mask for the filtering.
More...
|
| LevelSetFilter (GridType &grid, InterruptT *interrupt=nullptr) |
| Main constructor from a grid. More...
|
|
| ~LevelSetFilter () override |
| Default destructor. More...
|
|
AlphaType | minMask () const |
| Return the minimum value of the mask to be used for the derivation of a smooth alpha value. More...
|
|
AlphaType | maxMask () const |
| Return the maximum value of the mask to be used for the derivation of a smooth alpha value. More...
|
|
void | setMaskRange (AlphaType min, AlphaType max) |
| Define the range for the (optional) scalar mask. More...
|
|
bool | isMaskInverted () const |
| Return true if the mask is inverted, i.e. min->max in the original mask maps to 1->0 in the inverted alpha mask. More...
|
|
void | invertMask (bool invert=true) |
| Invert the optional mask, i.e. min->max in the original mask maps to 1->0 in the inverted alpha mask. More...
|
|
void | meanCurvature (const MaskType *mask=nullptr) |
| One iteration of mean-curvature flow of the level set. More...
|
|
void | laplacian (const MaskType *mask=nullptr) |
| One iteration of Laplacian flow of the level set. More...
|
|
void | gaussian (int width=1, const MaskType *mask=nullptr) |
| One iteration of a fast separable Gaussian filter. More...
|
|
void | offset (ValueType offset, const MaskType *mask=nullptr) |
| Offset the level set by the specified (world) distance. More...
|
|
void | median (int width=1, const MaskType *mask=nullptr) |
| One iteration of median-value flow of the level set. More...
|
|
void | mean (int width=1, const MaskType *mask=nullptr) |
| One iteration of mean-value flow of the level set. More...
|
|
| LevelSetTracker (GridT &grid, InterruptT *interrupt=nullptr) |
| Main constructor. More...
|
|
virtual | ~LevelSetTracker () |
|
template<typename MaskType > |
void | normalize (const MaskType *mask) |
| Iterative normalization, i.e. solving the Eikonal equation. More...
|
|
void | normalize () |
| Iterative normalization, i.e. solving the Eikonal equation. More...
|
|
void | track () |
| Track the level set interface, i.e. rebuild and normalize the narrow band of the level set. More...
|
|
void | prune () |
| Set voxels that are outside the narrow band to the background value (if trimming is enabled) and prune the grid. More...
|
|
void | dilate (int iterations=1) |
| Fast but approximate dilation of the narrow band - one layer at a time. Normally we recommend using the resize method below which internally calls dilate (or erode) with the correct number of iterations to achieve the desired half voxel width of the narrow band (3 is recommended for most level set applications). More...
|
|
void | erode (int iterations=1) |
| Erodes the width of the narrow-band and update the background values. More...
|
|
bool | resize (Index halfWidth=static_cast< Index >(LEVEL_SET_HALF_WIDTH)) |
| Resize the width of the narrow band, i.e. perform dilation and renormalization or erosion as required. More...
|
|
ValueType | getHalfWidth () const |
| Return the half width of the narrow band in floating-point voxel units. More...
|
|
State | getState () const |
| Return the state of the tracker (see struct defined above) More...
|
|
void | setState (const State &s) |
| Set the state of the tracker (see struct defined above) More...
|
|
math::BiasedGradientScheme | getSpatialScheme () const |
|
void | setSpatialScheme (math::BiasedGradientScheme s) |
| Set the spatial finite difference scheme. More...
|
|
math::TemporalIntegrationScheme | getTemporalScheme () const |
|
void | setTemporalScheme (math::TemporalIntegrationScheme s) |
| Set the spatial finite difference scheme. More...
|
|
int | getNormCount () const |
|
void | setNormCount (int n) |
| Set the number of normalizations performed per track or normalize call. More...
|
|
int | getGrainSize () const |
|
void | setGrainSize (int grainsize) |
| Set the grain-size used for multi-threading. More...
|
|
TrimMode | trimming () const |
| Return the trimming mode for voxels outside the narrow band. More...
|
|
void | setTrimming (TrimMode mode) |
| Specify whether to trim voxels outside the narrow band prior to pruning. More...
|
|
ValueType | voxelSize () const |
|
void | startInterrupter (const char *msg) |
|
void | endInterrupter () |
|
bool | checkInterrupter () |
|
const GridType & | grid () const |
|
LeafManagerType & | leafs () |
|
const LeafManagerType & | leafs () const |
|
template<typename MaskT > |
void | normalize (const MaskT *mask) |
|
template<typename GridT, typename MaskT = typename GridT::template ValueConverter<float>::Type, typename InterruptT = util::NullInterrupter>
class openvdb::OPENVDB_VERSION_NAME::tools::LevelSetFilter< GridT, MaskT, InterruptT >
Filtering (e.g. diffusion) of narrow-band level sets. An optional scalar field can be used to produce a (smooth) alpha mask for the filtering.
- Note
- This class performs proper interface tracking which allows for unrestricted surface deformations
Definition at line 39 of file LevelSetFilter.h.