Skip to main content

SegmentationDisplayTool

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.

Current Limitations:

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

Hierarchy

Index

Constructors

constructor

Properties

publicconfiguration

configuration: Record<string, any>

publicmode

mode: ToolModes

Tool Mode - Active/Passive/Enabled/Disabled/

publicsupportedInteractionTypes

supportedInteractionTypes: InteractionTypes[]

Supported Interaction Types - currently only Mouse

publictoolGroupId

toolGroupId: string

ToolGroup ID the tool instance belongs to

statictoolName

toolName: any

Methods

_getMergedRepresentationsConfig

addPlanarFreeHandToolIfAbsent

  • addPlanarFreeHandToolIfAbsent(toolGroupId: any): void
  • Parameters

    • toolGroupId: any

    Returns void

publicapplyActiveStrategy

  • applyActiveStrategy(enabledElement: IEnabledElement, operationData: unknown): any
  • Applies the active strategy function to the enabled element with the specified operation data.


    Parameters

    • enabledElement: IEnabledElement

      The element that is being operated on.

    • operationData: unknown

      The data that needs to be passed to the strategy.

    Returns any

    The result of the strategy.

publicapplyActiveStrategyCallback

  • applyActiveStrategyCallback(enabledElement: IEnabledElement, operationData: unknown, callbackType: string): any
  • Applies the active strategy, with a given event type being applied. The event type function is found by indexing it on the active strategy function.


    Parameters

    • enabledElement: IEnabledElement

      The element that is being operated on.

    • operationData: unknown

      The data that needs to be passed to the strategy.

    • callbackType: string

      the type of the callback

    Returns any

    The result of the strategy.

publicgetToolName

  • getToolName(): string
  • Returns the name of the tool


    Returns string

    The name of the tool.

onSetToolDisabled

  • onSetToolDisabled(): void
  • Returns void

onSetToolEnabled

  • onSetToolEnabled(): void
  • Returns void

renderSegmentation

  • renderSegmentation(toolGroupId: string): void
  • 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.


    Parameters

    • toolGroupId: string

      the toolGroupId

    Returns void

publicsetActiveStrategy

  • setActiveStrategy(strategyName: string): void
  • Sets the active strategy for a tool. Strategies are multiple implementations of tool behavior that can be switched by tool configuration.


    Parameters

    • strategyName: string

      name of the strategy to be set as active

    Returns void

publicsetConfiguration

  • setConfiguration(newConfiguration: Record<string, any>): void
  • merges the new configuration with the tool configuration


    Parameters

    • newConfiguration: Record<string, any>

    Returns void