WEMBinarySurface¶
-
MLModule¶ author MeVis Medical Solutions AGpackage MeVisLab/Standarddll MLOpenVDBdefinition MLOpenVDB.def inherits from WEMGeneratorkeywords iso,contour,dual
Purpose¶
The WEMBinarySurface allows for creating a surface from a binary segmentation mask. When used in LevelSet” mode, every voxel value not equal to 0 is treated as foreground, while every value equal to 0 is treated as background. This topology mask is used to create a level set that is closed, dilated, or filtered. Finally, a mesh is created using dual contouring on the level set.
It utilizes the OpenVDB library.
NOTE: The topologyToLevelSet method used in level set generation appears to create non-closed level sets, which can lead to undesired holes in the surface.
The module also supports a classical IsoValue mode; however, this mode will be inefficient if there are many voxel values that are not background (equal to 0).
For a more general isosurface generation module, see WEMIsoSurface.
Parameter Fields¶
Field Index¶
Adaptivity: Double |
elapsedTime: Float |
shouldComputeNormals: Bool |
Apply: Trigger |
id: Integer |
Smoothing Iterations: Integer |
Auto Apply: Bool |
Iso Value: Float |
Update Mode: Enum |
Build Edges: Bool |
isProcessing: Bool |
|
Clear: Trigger |
Label: String |
|
Closing Iterations: Integer |
Mode: Enum |
|
Description: String |
Overwrite label and description: Bool |
|
Dilate Iterations: Integer |
progress: Float |
Visible Fields¶
Mode¶
-
name:mode, type:Enum, default:LevelSet¶ Defines the surface generation mode.
Values:
| Title | Name | Description |
|---|---|---|
| Iso Value | IsoValue | Dual contouring is performed on the interpolated voxel grid using the provided Iso Value. Consider using WEMIsoSurface as an alternative to this mode. |
| Level Set | LevelSet | Every voxel value not equal to 0 is treated as foreground, while every voxel value equal to 0 is treated as background. This topology mask is used to create a level set that is closed, dilated, or filtered. Finally, a mesh is created using dual contouring on the level set. To select an object in a more complex input image, use a module like |
Adaptivity¶
-
name:adaptivity, type:Double, default:1¶ Sets the adaptivity of the resulting mesh.
An adaptivity value of 0 means that all triangles are created at the highest resolution, while an adaptivity value of 1 reduces the mesh to the maximum supported by OpenVDB.
Build Edges¶
-
name:buildEdges, type:Bool, default:TRUE¶ If checked, the generation of edge connectivity is enabled.
Closing Iterations¶
-
name:closingIterations, type:Integer, default:1¶ Sets the number of closing iterations. At least one iteration should be used.
Dilate Iterations¶
-
name:dilateIterations, type:Integer, default:0¶ Sets the number of dilation iterations.