Skip to main content

Class: CircleScissorsTool

Tool for manipulating segmentation data by drawing a circle. 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.

Extends​

Constructors​

new CircleScissorsTool()​

new CircleScissorsTool(toolProps, defaultToolProps): CircleScissorsTool

Parameters​

• toolProps: PublicToolProps = {}

• defaultToolProps: SharedToolProp = ...

Returns​

CircleScissorsTool

Overrides​

LabelmapBaseTool.constructor

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:71

Properties​

_editData​

protected _editData: object

imageId?​

optional imageId: string

imageIds?​

optional imageIds: string[]

override​

override: object

override.imageData​

imageData: vtkImageData

override.voxelManager​

voxelManager: IVoxelManager<number>

referencedVolumeId?​

optional referencedVolumeId: string

segmentsLocked​

segmentsLocked: number[]

volumeId?​

optional volumeId: string

Inherited from​

LabelmapBaseTool._editData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:93


_hoverData?​

protected optional _hoverData: object

brushCursor​

brushCursor: any

centerCanvas?​

optional centerCanvas: number[]

segmentationId​

segmentationId: string

segmentColor​

segmentColor: [number, number, number, number]

segmentIndex​

segmentIndex: number

viewport​

viewport: Viewport

viewportIdsToRender​

viewportIdsToRender: string[]

Inherited from​

LabelmapBaseTool._hoverData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:112


acceptedMemoIds​

protected acceptedMemoIds: Map<string, object>

Inherited from​

LabelmapBaseTool.acceptedMemoIds

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:133


centerSegmentIndexInfo​

protected centerSegmentIndexInfo: object

changedIndices​

changedIndices: number[]

hasPreviewIndex​

hasPreviewIndex: boolean

hasSegmentIndex​

hasSegmentIndex: boolean

segmentIndex​

segmentIndex: number

Inherited from​

LabelmapBaseTool.centerSegmentIndexInfo

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:105


configuration​

configuration: Record<string, any>

Inherited from​

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

memo?​

optional memo: LabelmapMemo

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[]

viewportIdsToRender​

viewportIdsToRender: string[]

volumeId​

volumeId: string

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:51


isDrawing​

isDrawing: boolean

Defined in​

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


isHandleOutsideImage​

isHandleOutsideImage: boolean

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:69


memo​

protected memo: LabelmapMemo

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​

LabelmapBaseTool.memo

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:137


memoMap​

protected memoMap: Map<string, LabelmapMemo>

Inherited from​

LabelmapBaseTool.memoMap

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:132


mode​

mode: ToolModes

Tool Mode - Active/Passive/Enabled/Disabled/

Inherited from​

LabelmapBaseTool.mode

Defined in​

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


supportedInteractionTypes​

supportedInteractionTypes: InteractionTypes[]

Supported Interaction Types - currently only Mouse

Inherited from​

LabelmapBaseTool.supportedInteractionTypes

Defined in​

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


toolGroupId​

toolGroupId: string

ToolGroup ID the tool instance belongs to

Inherited from​

LabelmapBaseTool.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​

LabelmapBaseTool.defaults

Defined in​

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


previewData?​

static optional previewData: PreviewData

Inherited from​

LabelmapBaseTool.previewData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:123


toolName​

static toolName: any

Overrides​

LabelmapBaseTool.toolName

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:50

Accessors​

_previewData​

get protected _previewData(): PreviewData

Returns​

PreviewData

Inherited from​

LabelmapBaseTool._previewData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:186


toolName​

get toolName(): string

Newer method for getting the tool name as a property

Returns​

string

Inherited from​

LabelmapBaseTool.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/CircleScissorsTool.ts:314


_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/CircleScissorsTool.ts:328


_dragCallback()​

_dragCallback(evt): void

Parameters​

• evt: InteractionEventType

Returns​

void

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:227


_endCallback()​

_endCallback(evt): void

Parameters​

• evt: InteractionEventType

Returns​

void

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:275


_historyRedoHandler()​

protected _historyRedoHandler(evt): void

Parameters​

• evt: any

Returns​

void

Inherited from​

LabelmapBaseTool._historyRedoHandler

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:151


acceptPreview()​

acceptPreview(element): void

Accepts a preview, marking it as the active segment.

Parameters​

• element: HTMLDivElement = ...

Returns​

void

Inherited from​

LabelmapBaseTool.acceptPreview

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:510


addPreview()​

addPreview(element, options?): any

Adds a preview that can be filled with data.

Parameters​

• element: HTMLDivElement = ...

• options?

• options.acceptReject?: boolean

Returns​

any

Inherited from​

LabelmapBaseTool.addPreview

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:461


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​

LabelmapBaseTool.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​

LabelmapBaseTool.applyActiveStrategyCallback

Defined in​

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


createEditData()​

protected createEditData(element): EditDataReturnType

Parameters​

• element: any

Returns​

EditDataReturnType

Inherited from​

LabelmapBaseTool.createEditData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:248


createHoverData()​

protected createHoverData(element, centerCanvas?): object

Parameters​

• element: any

• centerCanvas?: any

Returns​

object

brushCursor​

brushCursor: object

brushCursor.data​

data: object = {}

brushCursor.metadata​

metadata: object

brushCursor.metadata.FrameOfReferenceUID​

FrameOfReferenceUID: string

brushCursor.metadata.referencedImageId​

referencedImageId: string = ''

brushCursor.metadata.segmentColor​

segmentColor: Color

brushCursor.metadata.toolName​

toolName: string

brushCursor.metadata.viewPlaneNormal​

viewPlaneNormal: Point3

brushCursor.metadata.viewUp​

viewUp: Point3

centerCanvas​

centerCanvas: any

segmentationId​

segmentationId: string

segmentColor​

segmentColor: Color

segmentIndex​

segmentIndex: number

viewport​

viewport: StackViewport | VolumeViewport

viewportIdsToRender​

viewportIdsToRender: string[]

Inherited from​

LabelmapBaseTool.createHoverData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:347


createMemo()​

createMemo(segmentationId, segmentationVoxelManager): LabelmapMemo

Creates a labelmap memo instance, which stores the changes made to the labelmap rather than the initial state.

Parameters​

• segmentationId: string

• segmentationVoxelManager: any

Returns​

LabelmapMemo

Inherited from​

LabelmapBaseTool.createMemo

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:215


doneEditMemo()​

doneEditMemo(): void

This clears and edit memo storage to allow for further history functions to be called. Calls the complete function if present, and pushes the memo to the history memo stack.

This should be called when a tool has finished making a change which should be separated from future/other changes in terms of the history. Usually that means on endCallback (mouse up), but some tools also make changes on the initial creation of an object or have alternate flows and the doneEditMemo has to be called on mouse down or other initiation events to ensure that new changes are correctly recorded.

If the tool has no end callback, then the doneEditMemo is called from the pre mouse down callback. See ZoomTool for an example of this usage.

Returns​

void

Inherited from​

LabelmapBaseTool.doneEditMemo

Defined in​

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


getActiveSegmentationData()​

protected getActiveSegmentationData(viewport): object

Parameters​

• viewport: any

Returns​

object

segmentationId​

segmentationId: string

segmentColor​

segmentColor: Color

segmentIndex​

segmentIndex: number

Inherited from​

LabelmapBaseTool.getActiveSegmentationData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:383


getEditData()​

protected getEditData(__namedParameters): EditDataReturnType

Parameters​

• __namedParameters

• __namedParameters.representationData: any

• __namedParameters.segmentationId: any

• __namedParameters.segmentsLocked: any

• __namedParameters.viewport: any

Returns​

EditDataReturnType

Inherited from​

LabelmapBaseTool.getEditData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:282


getOperationData()​

protected getOperationData(element?): ModifiedLabelmapToolOperationData

Parameters​

• element?: any

Returns​

ModifiedLabelmapToolOperationData

Inherited from​

LabelmapBaseTool.getOperationData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:411


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​

LabelmapBaseTool.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​

LabelmapBaseTool.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​

LabelmapBaseTool.getToolName

Defined in​

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


hasPreviewData()​

hasPreviewData(): boolean

Checks if the tool has a preview data associated.

Returns​

boolean

True if the tool has preview data, false otherwise.

Inherited from​

LabelmapBaseTool.hasPreviewData

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:194


preMouseDownCallback()​

preMouseDownCallback(evt): boolean

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​

boolean

The annotation object.

Defined in​

tools/src/tools/segmentation/CircleScissorsTool.ts:96


redo()​

redo(): void

Redo an action (undo the undo)

Returns​

void

Inherited from​

LabelmapBaseTool.redo

Defined in​

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


rejectPreview()​

rejectPreview(element): void

Cancels any preview view being shown, resetting any segments being shown.

Parameters​

• element: HTMLDivElement = ...

Returns​

void

Inherited from​

LabelmapBaseTool.rejectPreview

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:490


renderAnnotation()​

renderAnnotation(enabledElement, svgDrawingHelper): boolean

it is used to draw the circleScissor 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/CircleScissorsTool.ts:347


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​

LabelmapBaseTool.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​

LabelmapBaseTool.setConfiguration

Defined in​

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


shouldResolvePreviewRequests()​

shouldResolvePreviewRequests(): boolean

Checks if the tool should resolve preview requests. This is used to determine if the tool is in a state where it can handle preview requests.

Returns​

boolean

True if the tool should resolve preview requests, false otherwise.

Inherited from​

LabelmapBaseTool.shouldResolvePreviewRequests

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:204


undo()​

undo(): void

Undoes an action

Returns​

void

Inherited from​

LabelmapBaseTool.undo

Defined in​

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


createZoomPanMemo()​

static createZoomPanMemo(viewport): object

Creates a zoom/pan memo that remembers the original zoom/pan position for the given viewport.

Parameters​

• viewport: any

Returns​

object

restoreMemo()​

restoreMemo: () => void

Returns​

void

Inherited from​

LabelmapBaseTool.createZoomPanMemo

Defined in​

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


endGroupRecording()​

static endGroupRecording(): void

Ends a group recording of history memo

Returns​

void

Inherited from​

LabelmapBaseTool.endGroupRecording

Defined in​

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


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​

LabelmapBaseTool.mergeDefaultProps

Defined in​

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


startGroupRecording()​

static startGroupRecording(): void

Starts a group recording of history memo, so that with a single undo you can undo multiple actions that are related to each other

Returns​

void

Inherited from​

LabelmapBaseTool.startGroupRecording

Defined in​

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


viewportContoursToLabelmap()​

static viewportContoursToLabelmap(viewport, options?): void

This function converts contours on this view into labelmap data, using the handle[0] state

Parameters​

• viewport: Viewport

• options?

• options.removeContours?: boolean

Returns​

void

Inherited from​

LabelmapBaseTool.viewportContoursToLabelmap

Defined in​

tools/src/tools/segmentation/LabelmapBaseTool.ts:546