WEMBinarySurface

MLModule
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLOpenVDB
definition MLOpenVDB.def
inherits from WEMGenerator
keywords iso, contour, dual

Purpose

The WEMBinarySurface allows to create a surface of a binary segmentation mask. When used in “LevelSet” mode, every voxel value != 0 is treated as foreground and every value == 0 as background. This topology mask is used to create a level set which is closed/dilated/filtered. Finally a mesh is created using dual contouring on the level set. It makes use of the OpenVDB (http://www.openvdb.org/) library.

NOTE: The topologyToLevelSet method that is used in the level set generation seems to create a non-closed level sets, which can lead to (undesired) holes in the surface.

The module also supports a classical “IsoValue” mode, but this will be inefficient if there are many voxel values that are not background (== 0).

For a more general ISO surface generation module, see WEMIsoSurface.

Windows

Default Panel

../../../Projects/MLOpenVDB/MLOpenVDB/Modules/mhelp/Images/Screenshots/WEMBinarySurface._default.png

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

Auto Apply

name: autoApply, type: Bool, default: TRUE

see WEMGenerator.autoApply

Update Mode

name: updateMode, type: Enum, default: AutoUpdate, deprecated name: autoUpdate

see WEMGenerator.updateMode

Apply

name: apply, type: Trigger

see WEMGenerator.apply

Clear

name: clear, type: Trigger

see WEMGenerator.clear

Overwrite label and description

name: overwriteLabelDescription, type: Bool, default: FALSE

see WEMGenerator.overwriteLabelDescription

Label

name: label, type: String

see WEMGenerator.label

Description

name: description, type: String

see WEMGenerator.description

Mode

name: mode, type: Enum, default: LevelSet

Selects the surface generation mode.

Values:

Title Name Description
Iso Value IsoValue Dual contouring on the interpolated voxel grid using the given ISO value. Consider using WEMIsoSurface as an alternative to this mode.
Level Set LevelSet Every voxel value != 0 is treated as foreground and every voxel value == 0 as background. This topology mask is used to create a level set which is closed/dilated/filtered. Finally a mesh is created using dual contouring on the level set. To select an object in a more complex intput image, use a module like IntervalThreshold to map the object that you want to 1 and the background to 0.

Adaptivity

name: adaptivity, type: Double, default: 1

Defines the adaptivity of the resulting mesh. Adaptivity == 0 means that all triangles are created at the highest resolution, while adaptivity == 1 reduces the mesh to the maximum that is supported by OpenVDB.

Build Edges

name: buildEdges, type: Bool, default: TRUE

Enables generation of the edge connectivity.

Closing Iterations

name: closingIterations, type: Integer, default: 1

The number of closing iterations. At least one iteration should be used.

Dilate Iterations

name: dilateIterations, type: Integer, default: 0

The number of dilation iterations.

Smoothing Iterations

name: smoothingIterations, type: Integer, default: 1

The number of smoothing iterations.

Iso Value

name: isoValue, type: Float, default: 0.5

The ISO value for the IsoValue mode.

Hidden Fields

isProcessing

name: isProcessing, type: Bool, persistent: no

see WEMGenerator.isProcessing

elapsedTime

name: elapsedTime, type: Float, persistent: no

see WEMGenerator.elapsedTime

id

name: id, type: Integer, default: 0

see WEMGenerator.id

shouldComputeNormals

name: shouldComputeNormals, type: Bool, default: TRUE

see WEMGenerator.shouldComputeNormals

progress

name: progress, type: Float, persistent: no