Skip to main content

Class: 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.

Extends

Constructors

new SphereScissorsTool()

new SphereScissorsTool(toolProps, defaultToolProps): SphereScissorsTool

Parameters

toolProps: PublicToolProps = {}

defaultToolProps: SharedToolProp = ...

Returns

SphereScissorsTool

Overrides

BaseTool.constructor

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:70

Properties

configuration

configuration: Record<string, any>

Inherited from

BaseTool.configuration

Defined in

tools/src/tools/base/BaseTool.ts:17


editData

editData: object

annotation

annotation: Annotation

centerCanvas?

optional centerCanvas: number[]

handleIndex?

optional handleIndex: number

hasMoved?

optional hasMoved: boolean

imageId

imageId: string

movingTextBox

movingTextBox: boolean

newAnnotation?

optional newAnnotation: boolean

referencedVolumeId

referencedVolumeId: string

segmentationId

segmentationId: string

segmentColor

segmentColor: [number, number, number, number]

segmentIndex

segmentIndex: number

segmentsLocked

segmentsLocked: number[]

toolGroupId

toolGroupId: string

viewportIdsToRender

viewportIdsToRender: string[]

volumeId

volumeId: string

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:47


isDrawing

isDrawing: boolean

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:67


isHandleOutsideImage

isHandleOutsideImage: boolean

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:68


mode

mode: ToolModes

Tool Mode - Active/Passive/Enabled/Disabled/

Inherited from

BaseTool.mode

Defined in

tools/src/tools/base/BaseTool.ts:21


supportedInteractionTypes

supportedInteractionTypes: InteractionTypes[]

Supported Interaction Types - currently only Mouse

Inherited from

BaseTool.supportedInteractionTypes

Defined in

tools/src/tools/base/BaseTool.ts:15


toolGroupId

toolGroupId: string

ToolGroup ID the tool instance belongs to

Inherited from

BaseTool.toolGroupId

Defined in

tools/src/tools/base/BaseTool.ts:19


toolName

static toolName: any

Overrides

BaseTool.toolName

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:46

Methods

_activateDraw()

_activateDraw(element): void

Add event handlers for the modify event loop, and prevent default event propagation.

Parameters

element: any

Returns

void

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:304


_deactivateDraw()

_deactivateDraw(element): void

Add event handlers for the modify event loop, and prevent default event prapogation.

Parameters

element: any

Returns

void

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:318


_dragCallback()

_dragCallback(evt): void

Parameters

evt: InteractionEventType

Returns

void

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:214


_endCallback()

_endCallback(evt): void

Parameters

evt: InteractionEventType

Returns

void

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:260


applyActiveStrategy()

applyActiveStrategy(enabledElement, operationData): 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.

Inherited from

BaseTool.applyActiveStrategy

Defined in

tools/src/tools/base/BaseTool.ts:62


applyActiveStrategyCallback()

applyActiveStrategyCallback(enabledElement, operationData, callbackType): 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.

Inherited from

BaseTool.applyActiveStrategyCallback

Defined in

tools/src/tools/base/BaseTool.ts:86


getTargetId()

protected getTargetId(viewport): string

Get the target Id for the viewport which will be used to store the cached statistics scoped to that target in the annotations. For StackViewport, targetId is the viewportId, but for the volume viewport, the targetId will be grabbed from the volumeId if particularly specified in the tool configuration, or if not, the first actorUID in the viewport.

Parameters

viewport: Viewport

viewport to get the targetId for

Returns

string

targetId

Inherited from

BaseTool.getTargetId

Defined in

tools/src/tools/base/BaseTool.ts:197


getTargetImageData()

protected getTargetImageData(targetId): IImageData | CPUIImageData

Get the image that is displayed for the targetId in the cachedStats which can be

  • imageId:<imageId>
  • volumeId:<volumeId>
  • videoId:<basePathForVideo>/frames/<frameSpecifier>

Parameters

targetId: string

annotation targetId stored in the cached stats

Returns

IImageData | CPUIImageData

The image data for the target.

Inherited from

BaseTool.getTargetImageData

Defined in

tools/src/tools/base/BaseTool.ts:140


getToolName()

getToolName(): string

Returns the name of the tool

Returns

string

The name of the tool.

Inherited from

BaseTool.getToolName

Defined in

tools/src/tools/base/BaseTool.ts:50


preMouseDownCallback()

preMouseDownCallback(evt): 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.

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:95


renderAnnotation()

renderAnnotation(enabledElement, svgDrawingHelper): boolean

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

Defined in

tools/src/tools/segmentation/SphereScissorsTool.ts:337


setActiveStrategy()

setActiveStrategy(strategyName): 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

Inherited from

BaseTool.setActiveStrategy

Defined in

tools/src/tools/base/BaseTool.ts:126


setConfiguration()

setConfiguration(newConfiguration): void

merges the new configuration with the tool configuration

Parameters

newConfiguration: Record<string, any>

Returns

void

Inherited from

BaseTool.setConfiguration

Defined in

tools/src/tools/base/BaseTool.ts:112