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 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.

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

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 IntervalThreshold to map the desired object to 1 and the background to 0.

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.

Smoothing Iterations

name: smoothingIterations, type: Integer, default: 1

Sets the number of smoothing iterations.

Iso Value

name: isoValue, type: Float, default: 0.5

Sets 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