WEMLevelSetBoolean

MLModule
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll MLOpenVDB
definition MLOpenVDB.def
inherits from WEMLevelSetFilterBase
keywords difference, intersection, union

Purpose

The WEMLevelSetBoolean module allows to do boolean operations on WEM meshes using a discrete level set representation. It makes use of the OpenVDB (http://www.openvdb.org/) library.

Note: For good results, it is important to select an adequate Grid Cell Size, otherwise the resolution of the grid can either be too high or to low to generate good results. If the meshes have been generated by e.g. WEMIsoSurface, the grid size should be close to the smallest voxel size of the dataset.

Typically you should turn auto-update off, since the module will calculate the output too often when both meshes change, which is a typical scenario.

Windows

Default Panel

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

Parameter Fields

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

Clears the output WEM.

see also 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

Grid Cell Size

name: gridCellSize, type: Double, default: 1

Defines the level set grid size in millimeters. This parameter is important and needs to match the resolution of the input WEMs to produce good results.

see also WEMLevelSetFilterBase.gridCellSize

Adaptivity

name: adaptivity, type: Double, default: 0.2

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.

see also WEMLevelSetFilterBase.adaptivity

Build Edges

name: buildEdges, type: Bool, default: TRUE

Enables building of the edge connectivity of WEM.

see also WEMLevelSetFilterBase.buildEdges

Enable PVL support

name: enablePVLSupport, type: Bool, default: FALSE

see WEMLevelSetFilterBase.enablePVLSupport

Interpolate per node PVLs

name: interpolatePerNodePVLs, type: Bool, default: FALSE

see WEMLevelSetFilterBase.interpolatePerNodePVLs

Mode

name: mode, type: Enum, default: Union

Defines which boolean operation is used.

Values:

Title Name Description
Intersection Intersection Intersects the two input WEMs.
Union Union Creates the union of the two input WEMs.
Difference Difference Subtracts the second input from the first.

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

workDirectlyOnInputWEMs

name: workDirectlyOnInputWEMs, type: Bool, default: FALSE

see WEMProcessor.workDirectlyOnInputWEMs

listenToFinishNotifications

name: listenToFinishNotifications, type: Bool, default: TRUE

see WEMProcessor.listenToFinishNotifications

listenToRepaintNotifications

name: listenToRepaintNotifications, type: Bool, default: TRUE

see WEMProcessor.listenToRepaintNotifications

listenToSelectionChangedNotifications

name: listenToSelectionChangedNotifications, type: Bool, default: TRUE

see WEMProcessor.listenToSelectionChangedNotifications

progress

name: progress, type: Float, persistent: no

see WEMProcessor.progress

triangulationMode

name: triangulationMode, type: Enum, default: Strip

see WEMProcessor.triangulationMode