Skip to main content

Class: ReferenceCursors

ReferenceCursors is a tool that will show your cursors position in all other elements in the toolGroup if they have a matching FrameOfReference relative to its position in world space. Also when positionSync is enabled, it will try to sync viewports so that the cursor can be displayed in the correct position in all viewports.

Configuration:

  • positionSync: boolean, if true, it will try to sync viewports so that the cursor can be displayed in the correct position in all viewports.
  • disableCursor: boolean, if true, it will hide the cursor in all viewports. You need to disable and reactivate the tool for this to apply.
  • displayThreshold: number, if the distance of the cursor in a viewport is bigger than this threshold the cursor will not be displayed.

Only uses Active and Disabled state

Extends

Constructors

new ReferenceCursors()

new ReferenceCursors(toolProps, defaultToolProps): ReferenceCursors

Parameters

toolProps: PublicToolProps = {}

defaultToolProps: SharedToolProp = ...

Returns

ReferenceCursors

Overrides

AnnotationDisplayTool.constructor

Defined in

tools/src/tools/ReferenceCursors.ts:58

Properties

_currentCanvasPosition

_currentCanvasPosition: Point2 = null

Defined in

tools/src/tools/ReferenceCursors.ts:54


_currentCursorWorldPosition

_currentCursorWorldPosition: Point3 = null

Defined in

tools/src/tools/ReferenceCursors.ts:53


_disableCursorEnabled

_disableCursorEnabled: boolean = false

Defined in

tools/src/tools/ReferenceCursors.ts:56


_elementWithCursor

_elementWithCursor: HTMLDivElement = null

Defined in

tools/src/tools/ReferenceCursors.ts:52


configuration

configuration: Record<string, any>

Inherited from

AnnotationDisplayTool.configuration

Defined in

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


isDrawing

isDrawing: boolean = false

Defined in

tools/src/tools/ReferenceCursors.ts:50


isHandleOutsideImage

isHandleOutsideImage: boolean = false

Defined in

tools/src/tools/ReferenceCursors.ts:51


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

AnnotationDisplayTool.memo

Defined in

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


mode

mode: ToolModes

Tool Mode - Active/Passive/Enabled/Disabled/

Inherited from

AnnotationDisplayTool.mode

Defined in

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


supportedInteractionTypes

supportedInteractionTypes: InteractionTypes[]

Supported Interaction Types - currently only Mouse

Inherited from

AnnotationDisplayTool.supportedInteractionTypes

Defined in

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


toolGroupId

toolGroupId: string

ToolGroup ID the tool instance belongs to

Inherited from

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

AnnotationDisplayTool.defaults

Defined in

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


toolName

static toolName: any

Overrides

AnnotationDisplayTool.toolName

Defined in

tools/src/tools/ReferenceCursors.ts:49

Accessors

toolName

get toolName(): string

Newer method for getting the tool name as a property

Returns

string

Inherited from

AnnotationDisplayTool.toolName

Defined in

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

Methods

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

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

AnnotationDisplayTool.applyActiveStrategyCallback

Defined in

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


createAnnotation()

protected createAnnotation(evt): Annotation

Creates an annotation containing the basic data set.

Parameters

evt: InteractionEventType

Returns

Annotation

Inherited from

AnnotationDisplayTool.createAnnotation

Defined in

tools/src/tools/base/AnnotationDisplayTool.ts:134


createInitialAnnotation()

createInitialAnnotation(worldPos, element): void

Parameters

worldPos: Point3

element: HTMLDivElement

Returns

void

Defined in

tools/src/tools/ReferenceCursors.ts:139


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

AnnotationDisplayTool.doneEditMemo

Defined in

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


filterInteractableAnnotationsForElement()

filterInteractableAnnotationsForElement(element, annotations): Annotations

Given the element and annotations which is an array of annotation, it filters the annotations array to only include the annotation based on the viewportType. If the viewport is StackViewport, it filters based on the current imageId of the viewport, if the viewport is volumeViewport, it only returns those that are within the same slice as the current rendered slice in the volume viewport. imageId as the enabledElement.

Parameters

element: HTMLDivElement

The HTML element

annotations: Annotations

The annotations to filter (array of annotation)

Returns

Annotations

The filtered annotations

Overrides

AnnotationDisplayTool.filterInteractableAnnotationsForElement

Defined in

tools/src/tools/ReferenceCursors.ts:295


getActiveAnnotation()

getActiveAnnotation(element): Annotation

Parameters

element: HTMLDivElement

Returns

Annotation

Defined in

tools/src/tools/ReferenceCursors.ts:215


getReferencedImageId()

protected getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp?): string

Parameters

viewport: Viewport

worldPos: Point3

viewPlaneNormal: Point3

viewUp?: Point3

Returns

string

Inherited from

AnnotationDisplayTool.getReferencedImageId

Defined in

tools/src/tools/base/AnnotationDisplayTool.ts:184


getStyle()

getStyle(property, specifications, annotation?): unknown

It takes the property (color, lineDash, etc.) and based on the state of the annotation (selected, highlighted etc.) it returns the appropriate value based on the central toolStyle settings for each level of specification.

Parameters

property: string

The name of the style property to get.

specifications: StyleSpecifier

annotation?: Annotation

The annotation for the tool that is currently active.

Returns

unknown

The value of the property.

Inherited from

AnnotationDisplayTool.getStyle

Defined in

tools/src/tools/base/AnnotationDisplayTool.ts:221


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

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

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

AnnotationDisplayTool.getToolName

Defined in

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


mouseMoveCallback()

mouseMoveCallback(evt): boolean

Overwritten mouseMoveCallback since we want to keep track of the current mouse position and redraw on mouseMove Event handler for Cornerstone MOUSE_MOVE event.

Parameters

evt: InteractionEventType

The normalized mouse event

Returns

boolean

True if the annotation needs to be re-drawn by the annotationRenderingEngine.

Defined in

tools/src/tools/ReferenceCursors.ts:84


onCameraModified()

onCameraModified(evt): void

Parameters

evt: CameraModifiedEvent

Returns

void

Defined in

tools/src/tools/ReferenceCursors.ts:254


onImageSpacingCalibrated()

onImageSpacingCalibrated(evt): void

On Image Calibration, take all the annotation from the AnnotationState manager, and invalidate them to force them to be re-rendered and their stats to be recalculated. Then use the old and new imageData (non-calibrated and calibrated) to calculate the new position for the annotations in the space of the new imageData.

Parameters

evt: ImageSpacingCalibratedEvent

The calibration event

Returns

void

Inherited from

AnnotationDisplayTool.onImageSpacingCalibrated

Defined in

tools/src/tools/base/AnnotationDisplayTool.ts:88


onSetToolActive()

onSetToolActive(): void

Returns

void

Defined in

tools/src/tools/ReferenceCursors.ts:102


onSetToolDisabled()

onSetToolDisabled(): void

Returns

void

Defined in

tools/src/tools/ReferenceCursors.ts:121


redo()

redo(): void

Redo an action (undo the undo)

Returns

void

Inherited from

AnnotationDisplayTool.redo

Defined in

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


renderAnnotation()

renderAnnotation(enabledElement, svgDrawingHelper): boolean

Draws the cursor representation on the enabledElement Checks if a stack change has happened and updates annotation in that case

Parameters

enabledElement: IEnabledElement

The Cornerstone's enabledElement.

svgDrawingHelper: SVGDrawingHelper

The svgDrawingHelper providing the context for drawing.

Returns

boolean

Overrides

AnnotationDisplayTool.renderAnnotation

Defined in

tools/src/tools/ReferenceCursors.ts:330


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

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

AnnotationDisplayTool.setConfiguration

Defined in

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


undo()

undo(): void

Undoes an action

Returns

void

Inherited from

AnnotationDisplayTool.undo

Defined in

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


updateAnnotationPosition()

updateAnnotationPosition(element, annotation): void

updates the position of the annotation to match the currently set world position

Parameters

element: HTMLDivElement

annotation: Annotation

Returns

void

Defined in

tools/src/tools/ReferenceCursors.ts:227


updateViewportImage()

updateViewportImage(viewport): void

Parameters

viewport: StackViewport | VolumeViewport

Returns

void

Defined in

tools/src/tools/ReferenceCursors.ts:454


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

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

AnnotationDisplayTool.mergeDefaultProps

Defined in

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