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:19


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


memo

protected memo: Memo

A memo recording the starting state of a tool. This will be updated as changes are made, and reflects the fact that a memo has been created.

Inherited from

BaseTool.memo

Defined in

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


mode

mode: ToolModes

Tool Mode - Active/Passive/Enabled/Disabled/

Inherited from

BaseTool.mode

Defined in

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


supportedInteractionTypes

supportedInteractionTypes: InteractionTypes[]

Supported Interaction Types - currently only Mouse

Inherited from

BaseTool.supportedInteractionTypes

Defined in

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


toolGroupId

toolGroupId: string

ToolGroup ID the tool instance belongs to

Inherited from

BaseTool.toolGroupId

Defined in

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


defaults

static defaults: object

Has the defaults associated with the base tool.

configuration

configuration: object

configuration.activeStrategy

activeStrategy: any = undefined

configuration.defaultStrategy

defaultStrategy: any = undefined

configuration.strategies

strategies: object = {}

configuration.strategyOptions

strategyOptions: object = {}

Inherited from

BaseTool.defaults

Defined in

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


toolName

static toolName: any

Overrides

BaseTool.toolName

Defined in

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

Accessors

toolName

get toolName(): string

Newer method for getting the tool name as a property

Returns

string

Inherited from

BaseTool.toolName

Defined in

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

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:102


applyActiveStrategyCallback()

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

• ...extraArgs: any[]

Returns

any

The result of the strategy.

Inherited from

BaseTool.applyActiveStrategyCallback

Defined in

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


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:238


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:181


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:90


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


redo()

redo(): void

Redo an action (undo the undo)

Returns

void

Inherited from

BaseTool.redo

Defined in

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


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:167


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:153


undo()

undo(): void

Undo an action

Returns

void

Inherited from

BaseTool.undo

Defined in

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


createZoomPanMemo()

static createZoomPanMemo(viewport): object

Parameters

viewport: any

Returns

object

restoreMemo()

restoreMemo: () => void

Returns

void

Inherited from

BaseTool.createZoomPanMemo

Defined in

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


mergeDefaultProps()

static mergeDefaultProps(defaultProps, additionalProps?): any

Does a deep merge of property options. Allows extending the default values for a child class.

Parameters

defaultProps = {}

this is a base set of defaults to merge into

additionalProps?: any

the additional properties to merge into the default props

Returns

any

defaultProps if additional props not defined, or a merge into a new object containing additionalProps adding onto and overriding defaultProps.

Inherited from

BaseTool.mergeDefaultProps

Defined in

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