Skip to main content

Class: BrushTool

Extends

Constructors

new BrushTool()

new BrushTool(toolProps, defaultToolProps): BrushTool

Parameters

toolProps: PublicToolProps = {}

defaultToolProps: SharedToolProp = ...

Returns

BrushTool

Overrides

LabelmapBaseTool.constructor

Defined in

tools/src/tools/segmentation/BrushTool.ts:38

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


_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:77


configuration

configuration: Record<string, any>

Inherited from

LabelmapBaseTool.configuration

Defined in

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


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

LabelmapBaseTool.memo

Defined in

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


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


toolName

static toolName: any

Overrides

LabelmapBaseTool.toolName

Defined in

tools/src/tools/segmentation/BrushTool.ts:36

Accessors

_previewData

get protected _previewData(): PreviewData

Returns

PreviewData

Inherited from

LabelmapBaseTool._previewData

Defined in

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


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

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


addPreview()

addPreview(element, options?): unknown

Adds a preview that can be filled with data.

Parameters

element: HTMLDivElement = ...

options?

options.acceptReject?: boolean

Returns

unknown

Inherited from

LabelmapBaseTool.addPreview

Defined in

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


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()

createEditData(element): object | object | object

Parameters

element: any

Returns

object | object | object

Inherited from

LabelmapBaseTool.createEditData

Defined in

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


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


createMemo()

createMemo(segmentId, segmentationVoxelManager, preview): LabelmapMemo

Creates a labelmap memo instance, which is a partially created memo object that stores the changes made to the labelmap rather than the initial state. This memo is then committed once done so that the

Parameters

segmentId: string

segmentationVoxelManager: any

preview: any

Returns

LabelmapMemo

Inherited from

LabelmapBaseTool.createMemo

Defined in

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


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


getOperationData()

protected getOperationData(element?): object | object | object | object

Parameters

element?: any

Returns

object | object | object | object

Inherited from

LabelmapBaseTool.getOperationData

Defined in

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


getStatistics()

getStatistics(element, segmentIndices?): any

Parameters

element: any

segmentIndices?: any

Returns

any

Defined in

tools/src/tools/segmentation/BrushTool.ts:404


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


invalidateBrushCursor()

invalidateBrushCursor(): void

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:455


mouseMoveCallback()

mouseMoveCallback(evt): void

This call will be made when the mouse moves and the tool is active, but not actually drawing at the moment. The behavior is:

  1. Update the cursor
  2. Call the active strategy event 'preview' and 'rejectPreview' on the mouse cursor position on a periodic basis to create a preview when configured to do so.

The preview will be shown after the mouse has been stationary for 250 ms. Any preview will be cancelled (immediately) after moving outside the center distance. As well, if the mouse moves but stays inside the center area for 250 ms, then the cancel will happen with a new preview being added.

See mouse up details for how the preview gets accepted.

The preview also needs to be cancelled on changing tools.

Parameters

evt: InteractionEventType

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:183


onSetToolDisabled()

onSetToolDisabled(evt): void

Parameters

evt: any

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:121


onSetToolEnabled()

onSetToolEnabled(): void

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:117


onSetToolPassive()

onSetToolPassive(evt): void

Parameters

evt: any

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:113


preMouseDownCallback()

preMouseDownCallback(evt): boolean

Parameters

evt: MouseDownActivateEventType

Returns

boolean

Defined in

tools/src/tools/segmentation/BrushTool.ts:130


previewCallback()

previewCallback(): void

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:222


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


renderAnnotation()

renderAnnotation(enabledElement, svgDrawingHelper): void

Parameters

enabledElement: IEnabledElement

svgDrawingHelper: SVGDrawingHelper

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:470


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


undo()

undo(): void

Undoes an action

Returns

void

Inherited from

LabelmapBaseTool.undo

Defined in

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


updateCursor()

protected updateCursor(evt): void

Updates the cursor position and whether it is showing or not. Can be over-ridden to add more cursor details or a preview.

Parameters

evt: InteractionEventType

Returns

void

Defined in

tools/src/tools/segmentation/BrushTool.ts:238


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


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


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