Skip to main content

Class: CrosshairsTool

CrosshairsTool is a tool that provides reference lines between different viewports of a toolGroup. Using crosshairs, you can jump to a specific location in one viewport and the rest of the viewports in the toolGroup will be aligned to that location. Crosshairs have grababble handles that can be used to rotate and translate the reference lines. They can also be used to set the slab thickness of the viewports by modifying the slab thickness handles.

Extends

Constructors

new CrosshairsTool()

new CrosshairsTool(toolProps, defaultToolProps): CrosshairsTool

Parameters

toolProps: PublicToolProps = {}

defaultToolProps: SharedToolProp = ...

Returns

CrosshairsTool

Overrides

AnnotationTool.constructor

Defined in

tools/src/tools/CrosshairsTool.ts:116

Properties

_getReferenceLineColor()?

optional _getReferenceLineColor: (viewportId) => string

Parameters

viewportId: string

Returns

string

Defined in

tools/src/tools/CrosshairsTool.ts:108


_getReferenceLineControllable()?

optional _getReferenceLineControllable: (viewportId) => boolean

Parameters

viewportId: string

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:109


_getReferenceLineDraggableRotatable()?

optional _getReferenceLineDraggableRotatable: (viewportId) => boolean

Parameters

viewportId: string

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:110


_getReferenceLineSlabThicknessControlsOn()?

optional _getReferenceLineSlabThicknessControlsOn: (viewportId) => boolean

Parameters

viewportId: string

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:111


configuration

configuration: Record<string, any>

Inherited from

AnnotationTool.configuration

Defined in

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


editData

editData: object

annotation

annotation: Annotation

Defined in

tools/src/tools/CrosshairsTool.ts:112


isSuvScaled()

isSuvScaled: (viewport, targetId, imageId?) => boolean = AnnotationTool.isSuvScaled

Returns true if the viewport is scaled to SUV units

Parameters

viewport: StackViewport | VolumeViewport

The viewport

targetId: string

The annotation targetId

imageId?: string

The annotation imageId

Returns

boolean

Inherited from

AnnotationTool.isSuvScaled

Defined in

tools/src/tools/base/AnnotationTool.ts:401


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

AnnotationTool.memo

Defined in

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


mode

mode: ToolModes

Tool Mode - Active/Passive/Enabled/Disabled/

Inherited from

AnnotationTool.mode

Defined in

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


supportedInteractionTypes

supportedInteractionTypes: InteractionTypes[]

Supported Interaction Types - currently only Mouse

Inherited from

AnnotationTool.supportedInteractionTypes

Defined in

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


toolCenter

toolCenter: Point3

Defined in

tools/src/tools/CrosshairsTool.ts:106


toolGroupId

toolGroupId: string

ToolGroup ID the tool instance belongs to

Inherited from

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

AnnotationTool.defaults

Defined in

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


toolName

static toolName: any

Overrides

AnnotationTool.toolName

Defined in

tools/src/tools/CrosshairsTool.ts:104

Accessors

toolName

get toolName(): string

Newer method for getting the tool name as a property

Returns

string

Inherited from

AnnotationTool.toolName

Defined in

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

Methods

_activateModify()

_activateModify(element): void

Parameters

element: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1951


_applyDeltaShiftToSelectedViewportCameras()

_applyDeltaShiftToSelectedViewportCameras(renderingEngine, viewportsAnnotationsToUpdate, delta): void

Parameters

renderingEngine: any

viewportsAnnotationsToUpdate: any

delta: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:2366


_applyDeltaShiftToViewportCamera()

_applyDeltaShiftToViewportCamera(renderingEngine, annotation, delta): void

Parameters

renderingEngine: RenderingEngine

annotation: any

delta: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:2379


_areViewportIdArraysEqual()

_areViewportIdArraysEqual(viewportIdArrayOne, viewportIdArrayTwo): boolean

Parameters

viewportIdArrayOne: any

viewportIdArrayTwo: any

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:1587


_autoPanViewportIfNecessary()

_autoPanViewportIfNecessary(viewportId, renderingEngine): void

Parameters

viewportId: string

renderingEngine: RenderingEngine

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1516


_checkIfViewportsRenderingSameScene()

_checkIfViewportsRenderingSameScene(viewport, otherViewport): any

Parameters

viewport: any

otherViewport: any

Returns

any

Defined in

tools/src/tools/CrosshairsTool.ts:1890


_computeToolCenter()

_computeToolCenter(viewportsInfo): void

When activated, it initializes the crosshairs. It begins by computing the intersection of viewports associated with the crosshairs instance. When all three views are accessible, the intersection (e.g., crosshairs tool centre) will be an exact point in space; however, with two viewports, because the intersection of two planes is a line, it assumes the last view is between the centre of the two rendering viewports.

Parameters

viewportsInfo: any

Array of viewportInputs which each item containing {viewportId, renderingEngineId}

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:350


_deactivateModify()

_deactivateModify(element): void

Parameters

element: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1966


_dragCallback()

_dragCallback(evt): void

Parameters

evt: InteractionEventType

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:2001


_endCallback()

_endCallback(evt): void

Parameters

evt: InteractionEventType

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1978


_filterAnnotationsByUniqueViewportOrientations()

_filterAnnotationsByUniqueViewportOrientations(enabledElement, annotations): any[]

Parameters

enabledElement: any

annotations: any

Returns

any[]

Defined in

tools/src/tools/CrosshairsTool.ts:1690


_filterViewportWithSameOrientation()

_filterViewportWithSameOrientation(enabledElement, referenceAnnotation, annotations): any

Parameters

enabledElement: any

referenceAnnotation: any

annotations: any

Returns

any

Defined in

tools/src/tools/CrosshairsTool.ts:1646


_getAnnotations()

_getAnnotations(enabledElement): Annotation[]

Parameters

enabledElement: IEnabledElement

Returns

Annotation[]

Defined in

tools/src/tools/CrosshairsTool.ts:1464


_getAnnotationsForViewportsWithDifferentCameras()

_getAnnotationsForViewportsWithDifferentCameras(enabledElement, annotations): any

Parameters

enabledElement: any

annotations: any

Returns

any

Defined in

tools/src/tools/CrosshairsTool.ts:1610


_getRotationHandleNearImagePoint()

_getRotationHandleNearImagePoint(viewport, annotation, canvasCoords, proximity): any

Parameters

viewport: any

annotation: any

canvasCoords: any

proximity: any

Returns

any

Defined in

tools/src/tools/CrosshairsTool.ts:2485


_getSlabThicknessHandleNearImagePoint()

_getSlabThicknessHandleNearImagePoint(viewport, annotation, canvasCoords, proximity): any

Parameters

viewport: any

annotation: any

canvasCoords: any

proximity: any

Returns

any

Defined in

tools/src/tools/CrosshairsTool.ts:2525


_getViewportsInfo()

_getViewportsInfo(): any[]

Returns

any[]

Defined in

tools/src/tools/CrosshairsTool.ts:239


_isClockWise()

_isClockWise(a, b, c): boolean

Parameters

a: any

b: any

c: any

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:2361


_jump()

_jump(enabledElement, jumpWorld): boolean

Parameters

enabledElement: any

jumpWorld: any

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:1900


_onNewVolume()

_onNewVolume(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1481


_pointNearReferenceLine()

_pointNearReferenceLine(annotation, canvasCoords, proximity, lineViewport): boolean

Parameters

annotation: any

canvasCoords: any

proximity: any

lineViewport: any

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:2418


_pointNearTool()

_pointNearTool(element, annotation, canvasCoords, proximity): boolean

Parameters

element: any

annotation: any

canvasCoords: any

proximity: any

Returns

boolean

Defined in

tools/src/tools/CrosshairsTool.ts:2567


_subscribeToViewportNewVolumeSet()

_subscribeToViewportNewVolumeSet(viewports): void

Parameters

viewports: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1501


_unsubscribeToViewportNewVolumeSet()

_unsubscribeToViewportNewVolumeSet(viewportsInfo): void

Parameters

viewportsInfo: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:1486


addNewAnnotation()

addNewAnnotation(evt): CrosshairsAnnotation

addNewAnnotation acts as jump for the crosshairs tool. It is called when the user clicks on the image. It does not store the annotation in the stateManager though.

Parameters

evt: InteractionEventType

The mouse event

Returns

CrosshairsAnnotation

Crosshairs annotation

Overrides

AnnotationTool.addNewAnnotation

Defined in

tools/src/tools/CrosshairsTool.ts:410


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

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

AnnotationTool.applyActiveStrategyCallback

Defined in

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


cancel()

cancel(): void

cancel Used to cancel the ongoing tool drawing and manipulation

Returns

void

Overrides

AnnotationTool.cancel

Defined in

tools/src/tools/CrosshairsTool.ts:462


computeToolCenter()

computeToolCenter(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:336


createAnnotation()

protected createAnnotation(evt): Annotation

Creates an annotation containing the basic data set.

Parameters

evt: InteractionEventType

Returns

Annotation

Inherited from

AnnotationTool.createAnnotation

Defined in

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


createMemo()

protected createMemo(element, annotation, options?): void

Creates a memo on the given annotation.

Parameters

element: any

annotation: any

options?: any

Returns

void

Inherited from

AnnotationTool.createMemo

Defined in

tools/src/tools/base/AnnotationTool.ts:635


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

AnnotationTool.doneEditMemo

Defined in

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


filterInteractableAnnotationsForElement()

filterInteractableAnnotationsForElement(element, annotations): any

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

The HTML element

annotations: any

The annotations to filter (array of annotation)

Returns

any

The filtered annotations

Overrides

AnnotationTool.filterInteractableAnnotationsForElement

Defined in

tools/src/tools/CrosshairsTool.ts:754


getAnnotationStyle()

protected getAnnotationStyle(context): AnnotationStyle

Get the style that will be applied to all annotations such as length, cobb angle, arrow annotate, etc. when rendered on a canvas or svg layer

Parameters

context

context.annotation: Annotation

context.styleSpecifier: StyleSpecifier

Returns

AnnotationStyle

Inherited from

AnnotationTool.getAnnotationStyle

Defined in

tools/src/tools/base/AnnotationTool.ts:407


getHandleNearImagePoint()

getHandleNearImagePoint(element, annotation, canvasCoords, proximity): ToolHandle

It checks if the mouse click is near crosshairs handles, if yes it returns the handle location. If the mouse click is not near any of the handles, it does not return anything.

Parameters

element: HTMLDivElement

The element that the tool is attached to.

annotation: Annotation

The annotation object associated with the annotation

canvasCoords: Point2

The coordinates of the mouse click on canvas

proximity: number

The distance from the mouse cursor to the point that is considered "near".

Returns

ToolHandle

The handle that is closest to the cursor, or null if the cursor is not near any of the handles.

Overrides

AnnotationTool.getHandleNearImagePoint

Defined in

tools/src/tools/CrosshairsTool.ts:479


getLinkedTextBoxStyle()

getLinkedTextBoxStyle(specifications, annotation?): Record<string, unknown>

It returns the style for the text box

Parameters

specifications: StyleSpecifier

annotation?: Annotation

The annotation for the tool that is currently active.

Returns

Record<string, unknown>

An object of the style settings for the text box.

Inherited from

AnnotationTool.getLinkedTextBoxStyle

Defined in

tools/src/tools/base/AnnotationTool.ts:340


getReferencedImageId()

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

Parameters

viewport: Viewport

worldPos: Point3

viewPlaneNormal: Point3

viewUp?: Point3

Returns

string

Inherited from

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

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

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

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

AnnotationTool.getToolName

Defined in

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


handleSelectedCallback()

handleSelectedCallback(evt, annotation): void

handleSelectedCallback Custom callback for when a handle is selected.

Parameters

evt: InteractionEventType

The normalized mouse event

annotation: Annotation

The annotation selected.

Returns

void

Overrides

AnnotationTool.handleSelectedCallback

Defined in

tools/src/tools/CrosshairsTool.ts:511


initializeViewport()

initializeViewport(viewportInfo): object

Gets the camera from the viewport, and adds crosshairs annotation for the viewport to the annotationManager. If any annotation is found in the annotationManager, it overwrites it.

Parameters

viewportInfo: IViewportId

The viewportInfo for the viewport to add the crosshairs

Returns

object

viewPlaneNormal and center of viewport canvas in world space

normal

normal: Point3

point

point: Point3

Defined in

tools/src/tools/CrosshairsTool.ts:181


isPointNearTool()

isPointNearTool(element, annotation, canvasCoords, proximity): boolean

It returns if the canvas point is near the provided crosshairs annotation in the provided element or not. A proximity is passed to the function to determine the proximity of the point to the annotation in number of pixels.

Parameters

element: HTMLDivElement

HTML Element

annotation: CrosshairsAnnotation

Annotation

canvasCoords: Point2

Canvas coordinates

proximity: number

Proximity to tool to consider

Returns

boolean

Boolean, whether the canvas point is near tool

Overrides

AnnotationTool.isPointNearTool

Defined in

tools/src/tools/CrosshairsTool.ts:542


mouseMoveCallback()

mouseMoveCallback(evt, filteredToolAnnotations): boolean

Event handler for Cornerstone MOUSE_MOVE event.

Parameters

evt: MouseMoveEventType

The normalized mouse event

filteredToolAnnotations: Annotations

The annotations to check for hover interactions

Returns

boolean

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

Overrides

AnnotationTool.mouseMoveCallback

Defined in

tools/src/tools/CrosshairsTool.ts:691


onCameraModified()

onCameraModified(evt): void

Parameters

evt: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:570


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

AnnotationTool.onImageSpacingCalibrated

Defined in

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


onResetCamera()

onResetCamera(evt): void

Parameters

evt: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:687


onSetToolActive()

onSetToolActive(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:245


onSetToolDisabled()

onSetToolDisabled(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:269


onSetToolEnabled()

onSetToolEnabled(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:263


onSetToolPassive()

onSetToolPassive(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:257


redo()

redo(): void

Redo an action (undo the undo)

Returns

void

Inherited from

AnnotationTool.redo

Defined in

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


renderAnnotation()

renderAnnotation(enabledElement, svgDrawingHelper): boolean

renders the crosshairs lines and handles in the requestAnimationFrame callback

Parameters

enabledElement: IEnabledElement

The Cornerstone's enabledElement.

svgDrawingHelper: SVGDrawingHelper

The svgDrawingHelper providing the context for drawing.

Returns

boolean

Overrides

AnnotationTool.renderAnnotation

Defined in

tools/src/tools/CrosshairsTool.ts:775


resetCrosshairs()

resetCrosshairs(): void

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:299


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

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

AnnotationTool.setConfiguration

Defined in

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


setSlabThickness()

setSlabThickness(viewport, slabThickness): void

Parameters

viewport: any

slabThickness: any

Returns

void

Defined in

tools/src/tools/CrosshairsTool.ts:2341


toolSelectedCallback()

toolSelectedCallback(evt, annotation, interactionType): void

Custom callback for when an annotation is selected

Parameters

evt: InteractionEventType

The normalized mouse event

annotation: Annotation

The Annotation to check.

interactionType: InteractionTypes

The interaction type used to select the tool.

Returns

void

Overrides

AnnotationTool.toolSelectedCallback

Defined in

tools/src/tools/CrosshairsTool.ts:555


undo()

undo(): void

Undoes an action

Returns

void

Inherited from

AnnotationTool.undo

Defined in

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


createAndAddAnnotation()

static createAndAddAnnotation(viewport, ...annotationBaseData): void

Creates and adds an annotation of the given type, firing the annotation modified event on the new annotation. This implicitly uses the static class when you call it on the correct base class. For example, you can call the KeyImageTool.createAnnotation method on KeyImageTool.toolName by calling KeyImageTool.createAndAddAnnotation

Parameters

viewport: any

• ...annotationBaseData: any[]

Returns

void

Inherited from

AnnotationTool.createAndAddAnnotation

Defined in

tools/src/tools/base/AnnotationTool.ts:109


createAnnotation()

static createAnnotation(...annotationBaseData): Annotation

Creates a base annotation object, adding in any annotation base data provided

Parameters

• ...annotationBaseData: any[]

Returns

Annotation

Inherited from

AnnotationTool.createAnnotation

Defined in

tools/src/tools/base/AnnotationTool.ts:57


createAnnotationForViewport()

static createAnnotationForViewport(viewport, ...annotationBaseData): Annotation

Creates a new annotation for the given viewport. This just adds the viewport reference data to the metadata, and otherwise returns the static class createAnnotation data.

Parameters

viewport: any

• ...annotationBaseData: any[]

Returns

Annotation

Inherited from

AnnotationTool.createAnnotationForViewport

Defined in

tools/src/tools/base/AnnotationTool.ts:94


createAnnotationMemo()

static createAnnotationMemo(element, annotation, options?): object

Creates an annotation memo storing the current data state on the given annotation object. This will store/recover handles data, text box and contour data, and if the options are set for deletion, will apply that correctly.

Parameters

element: any

that the annotation is shown on.

annotation: Annotation

to store a memo for the current state.

options?

whether the annotation is being created (newAnnotation) or is in the process of being deleted (deleting)

  • Note the naming on deleting is to indicate the deletion is in progress, as the createAnnotationMemo needs to be called BEFORE the annotation is actually deleted.
  • deleting with a value of false is the same as newAnnotation=true, as it is simply the opposite direction. Use undefined for both newAnnotation and deleting for non-create/delete operations.

options.deleting?: boolean

options.newAnnotation?: boolean

Returns

object

Memo containing the annotation data.

restoreMemo()

restoreMemo: () => void

Returns

void

Inherited from

AnnotationTool.createAnnotationMemo

Defined in

tools/src/tools/base/AnnotationTool.ts:544


createAnnotationState()

protected static createAnnotationState(annotation, deleting?): object

Creates an annotation state copy to allow storing the current state of an annotation. This class has knowledge about the contour and spline implementations in order to copy the contour object efficiently, and to allow copying the spline object (which has member variables etc).

Parameters

annotation: Annotation

the annotation to create a clone of

deleting?: boolean

a flag to indicate that this object is about to be deleted (deleting true), or was just created (deleting false), or neither (deleting undefined).

Returns

object

state information for the given annotation.

annotationUID

annotationUID: string

data

data: object

Index Signature

[key: string]: unknown

data.cachedStats?

optional cachedStats: Record<string, unknown>

Cached Annotation statistics which is specific to the tool

data.handles?

optional handles: object

Annotation handles that are grabbable for manipulation

Index Signature

[key: string]: unknown

data.handles.activeHandleIndex?

optional activeHandleIndex: number

index of the active handle being manipulated

data.handles.points?

optional points: Point3[]

world location of the handles in the space

data.handles.textBox?

optional textBox: object

annotation text box information

data.handles.textBox.hasMoved?

optional hasMoved: boolean

whether the text box has moved

data.handles.textBox.worldBoundingBox?

optional worldBoundingBox: object

text box bounding box information

data.handles.textBox.worldBoundingBox.bottomLeft

bottomLeft: Point3

Bottom left location of the text box in the world space

data.handles.textBox.worldBoundingBox.bottomRight

bottomRight: Point3

Bottom right location of the text box in the world space

data.handles.textBox.worldBoundingBox.topLeft

topLeft: Point3

Top left location of the text box in the world space

data.handles.textBox.worldBoundingBox.topRight

topRight: Point3

Top right location of the text box in the world space

data.handles.textBox.worldPosition?

optional worldPosition: Point3

the world location of the text box

deleting

deleting: boolean

Inherited from

AnnotationTool.createAnnotationState

Defined in

tools/src/tools/base/AnnotationTool.ts:491


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

AnnotationTool.createZoomPanMemo

Defined in

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


isSuvScaled()

static isSuvScaled(viewport, targetId, imageId?): boolean

Returns true if the viewport is scaled to SUV units

Parameters

viewport: StackViewport | VolumeViewport

The viewport

targetId: string

The annotation targetId

imageId?: string

The annotation imageId

Returns

boolean

Inherited from

AnnotationTool.isSuvScaled

Defined in

tools/src/tools/base/AnnotationTool.ts:386


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

AnnotationTool.mergeDefaultProps

Defined in

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