In Cornerstone3DTools, displaying of segmentations are handled by the SegmentationDisplayTool. Generally, any Segmentation can be viewed in various representations such as labelmap (3d), contours, surface etc. As of now, Cornerstone3DTools only implements Labelmap representation.
SegmentationDisplayTool works at ToolGroup level, and is responsible for displaying the segmentation representation for ALL viewports of a toolGroup, this way we can support complex scenarios for displaying segmentations.
- Only supports rendering of the volumetric segmentations in 3D space. (StackViewport segmentations are not supported yet)
- Labelmap representation is the only supported representation for now.
Similar to other tools in Cornerstone3DTools, the SegmentationDisplayTool should be added to the CornerstoneTools by calling cornerstoneTools.addTool(SegmentationDisplayTool) and a toolGroup should be created for it using the ToolGroupManager API, finally viewports information such as viewportId and renderingEngineId should be provided to the toolGroup and the SegmentationDisplayTool should be set to be activated.
Tool Mode - Active/Passive/Enabled/Disabled/
Supported Interaction Types - currently only Mouse
ToolGroup ID the tool instance belongs to
Merge the toolGroup specific configuration with the default global configuration
It applies the active strategy to the enabled element.
The element that is being operated on.
The data that needs to be passed to the strategy.
The result of the strategy.
Returns the name of the tool
The name of the tool.
It is used to trigger the render for each segmentations in the toolGroup. Based on the segmentation representation type, it will call the corresponding render function.
Sets the active strategy for a tool. Strategies are multiple implementations of tool behavior that can be switched by tool configuration.
name of the strategy to be set as active
merges the new configuration with the tool configuration
newConfiguration: Record<string, any>