Skip to main content

SphereScissorsTool

Tool for manipulating segmentation data by drawing a sphere in 3d space. It acts on the active Segmentation on the viewport (enabled element) and requires an active segmentation to be already present. By default it will use the activeSegmentIndex for the segmentation to modify. You can use SegmentationModule to set the active segmentation and segmentIndex. Todo: sphere scissor has some memory problem which lead to ui blocking behavior that needs to be fixed.

Hierarchy

Index

Constructors

constructor

Properties

publicconfiguration

configuration: Record<string, any>

editData

editData: { annotation: any; centerCanvas?: number[]; handleIndex?: number; hasMoved?: boolean; movingTextBox: boolean; newAnnotation?: boolean; segmentColor: [number, number, number, number]; segmentIndex: number; segmentation: any; segmentationId: string; segmentsLocked: number[]; toolGroupId: string; viewportIdsToRender: string[] }

Type declaration

  • annotation: any
  • optionalcenterCanvas?: number[]
  • optionalhandleIndex?: number
  • optionalhasMoved?: boolean
  • movingTextBox: boolean
  • optionalnewAnnotation?: boolean
  • segmentColor: [number, number, number, number]
  • segmentIndex: number
  • segmentation: any
  • segmentationId: string
  • segmentsLocked: number[]
  • toolGroupId: string
  • viewportIdsToRender: string[]

isDrawing

isDrawing: boolean

isHandleOutsideImage

isHandleOutsideImage: boolean

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

_activateDraw

  • _activateDraw(element: any): void
  • Add event handlers for the modify event loop, and prevent default event propagation.


    Parameters

    • element: any

    Returns void

_deactivateDraw

  • _deactivateDraw(element: any): void
  • Add event handlers for the modify event loop, and prevent default event prapogation.


    Parameters

    • element: any

    Returns void

_dragCallback

  • _dragCallback(evt: InteractionEventType): void
  • Parameters

    • evt: InteractionEventType

    Returns void

_endCallback

  • _endCallback(evt: InteractionEventType): void
  • Parameters

    • evt: InteractionEventType

    Returns void

publicapplyActiveStrategy

  • applyActiveStrategy(enabledElement: IEnabledElement, operationData: unknown): any
  • It applies the active strategy to the enabled element.


    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.

publicgetToolName

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


    Returns string

    The name of the tool.

preMouseDownCallback

  • preMouseDownCallback(evt: InteractionEventType): true
  • Based on the current position of the mouse and the enabledElement, it finds the active segmentation info and use it for the current tool.


    Parameters

    • evt: InteractionEventType

      EventTypes.NormalizedMouseEventType

    Returns true

    The annotation object.

renderAnnotation

  • it is used to draw the sphereScissor annotation in each request animation frame. Note that the annotation are disappeared after the segmentation modification.


    Parameters

    • enabledElement: IEnabledElement

      The Cornerstone’s enabledElement.

    • svgDrawingHelper: SVGDrawingHelper

      The svgDrawingHelper providing the context for drawing.

    Returns boolean

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