Volume filtering (e.g., diffusion) with optional alpha masking. More...
#include <openvdb/tools/Filter.h>
| Public Types | |
| using | GridType = GridT | 
| using | MaskType = MaskT | 
| using | TreeType = typename GridType::TreeType | 
| using | LeafType = typename TreeType::LeafNodeType | 
| using | ValueType = typename GridType::ValueType | 
| using | AlphaType = typename MaskType::ValueType | 
| using | LeafManagerType = typename tree::LeafManager<TreeType> | 
| using | RangeType = typename LeafManagerType::LeafRange | 
| using | BufferType = typename LeafManagerType::BufferType | 
| Public Member Functions | |
| Filter (GridT &grid, InterruptT *interrupt=nullptr) | |
| Filter (const Filter &other) | |
| Shallow copy constructor called by tbb::parallel_for() threads during filtering. | |
| int | getGrainSize () const | 
| void | setGrainSize (int grainsize) | 
| Set the grain-size used for multi-threading. | |
| bool | getProcessTiles () const | 
| void | setProcessTiles (bool flag) | 
| Set whether active tiles should also be processed. | |
| AlphaType | minMask () const | 
| Return the minimum value of the mask to be used for the derivation of a smooth alpha value. | |
| AlphaType | maxMask () const | 
| Return the maximum value of the mask to be used for the derivation of a smooth alpha value. | |
| void | setMaskRange (AlphaType min, AlphaType max) | 
| Define the range for the (optional) scalar mask. | |
| 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. | |
| 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. | |
| void | mean (int width=1, int iterations=1, const MaskType *mask=nullptr) | 
| One iteration of a fast separable mean-value (i.e. box) filter. | |
| void | gaussian (int width=1, int iterations=1, const MaskType *mask=nullptr) | 
| One iteration of a fast separable Gaussian filter. | |
| void | median (int width=1, int iterations=1, const MaskType *mask=nullptr) | 
| One iteration of a median-value filter. | |
| void | offset (ValueType offset, const MaskType *mask=nullptr) | 
| void | operator() (const RangeType &range) const | 
| Used internally by tbb::parallel_for() | |
Volume filtering (e.g., diffusion) with optional alpha masking.
| using AlphaType = typename MaskType::ValueType | 
| using BufferType = typename LeafManagerType::BufferType | 
| using GridType = GridT | 
| using LeafManagerType = typename tree::LeafManager<TreeType> | 
| using LeafType = typename TreeType::LeafNodeType | 
| using MaskType = MaskT | 
| using RangeType = typename LeafManagerType::LeafRange | 
| using TreeType = typename GridType::TreeType | 
| using ValueType = typename GridType::ValueType | 
| 
 | inline | 
Constructor
| grid | Grid to be filtered. | 
| interrupt | Optional interrupter. | 
| 
 | inline | 
Shallow copy constructor called by tbb::parallel_for() threads during filtering.
| other | The other Filter from which to copy. | 
| void gaussian | ( | int | width = 1, | 
| int | iterations = 1, | ||
| const MaskType * | mask = nullptr ) | 
One iteration of a fast separable Gaussian filter.
| width | The width of the mean-value filter is 2*width+1 voxels. | 
| iterations | Number of times the mean-value filter is applied. | 
| mask | Optional alpha mask. | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Invert the optional mask, i.e. min->max in the original mask maps to 1->0 in the inverted alpha mask.
| 
 | inline | 
Return true if the mask is inverted, i.e. min->max in the original mask maps to 1->0 in the inverted alpha mask.
| 
 | inline | 
Return the maximum value of the mask to be used for the derivation of a smooth alpha value.
| void mean | ( | int | width = 1, | 
| int | iterations = 1, | ||
| const MaskType * | mask = nullptr ) | 
One iteration of a fast separable mean-value (i.e. box) filter.
| width | The width of the mean-value filter is 2*width+1 voxels. | 
| iterations | Number of times the mean-value filter is applied. | 
| mask | Optional alpha mask. | 
| void median | ( | int | width = 1, | 
| int | iterations = 1, | ||
| const MaskType * | mask = nullptr ) | 
One iteration of a median-value filter.
| width | The width of the mean-value filter is 2*width+1 voxels. | 
| iterations | Number of times the mean-value filter is applied. | 
| mask | Optional alpha mask. | 
| 
 | inline | 
Return the minimum value of the mask to be used for the derivation of a smooth alpha value.
| void offset | ( | ValueType | offset, | 
| const MaskType * | mask = nullptr ) | 
Offsets (i.e. adds) a constant value to all active voxels.
| offset | Offset in the same units as the grid. | 
| mask | Optional alpha mask. | 
| 
 | inline | 
Used internally by tbb::parallel_for()
| range | Range of LeafNodes over which to multi-thread. | 
| 
 | inline | 
Set the grain-size used for multi-threading.
| 
 | inline | 
Define the range for the (optional) scalar mask.
| min | Minimum value of the range. | 
| max | Maximum value of the range. | 
Mask values outside the range are clamped to zero or one, and values inside the range map smoothly to 0->1 (unless the mask is inverted).
| ValueError | if min is not smaller than max. | 
| 
 | inline | 
Set whether active tiles should also be processed.