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 for performing boolean operations on WEM meshes using a discrete level set representation.

It utilizes the OpenVDB library.

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

Typically, you should disable auto-update, as the module will calculate the output too frequently when both meshes change, which is a common 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

Sets the level set grid size in millimeters.

This parameter is important and must match the resolution of the input WEMs to produce optimal results.

see also WEMLevelSetFilterBase.gridCellSize

Adaptivity

name: adaptivity, type: Double, default: 0.2

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.

see also WEMLevelSetFilterBase.adaptivity

Build Edges

name: buildEdges, type: Bool, default: TRUE

If checked, the building of edge connectivity for the WEM is enabled.

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