Skip to main content

Class: PlanarViewport

Generic GenericViewport controller.

The base class owns only shared viewport state and binding orchestration: loaded logical data, mounted renderings, view state, and per-dataset render-state forwarding. It does not know how CPU, VTK, DOM, image, volume, or media runtimes work internally.

Concrete viewport families are expected to stay thin and provide:

  • a render context for their render paths
  • a data provider
  • a render path resolver when the default is not enough
  • viewport-family-specific public APIs

Concrete render paths are expected to own:

  • runtime add/remove lifecycle
  • view-state interpretation for that render path
  • per-dataset render-state application
  • render-path-specific coordinate transforms

This split keeps migration from legacy viewports incremental without centralizing render-mode-specific behavior in the controller.

Extends

Constructors

new PlanarViewport()

new PlanarViewport(args): PlanarViewport

Parameters

args: PlanarViewportInput

Returns

PlanarViewport

Overrides

GenericViewport.constructor

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:201

Properties

_debug

readonly _debug: object

renderModes

renderModes: Record<string, string>

Inherited from

GenericViewport._debug

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:87


bindings

protected bindings: Map<string, ViewportDataBinding<PlanarDataPresentation>>

Inherited from

GenericViewport.bindings

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:77


canvas

readonly canvas: HTMLCanvasElement

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:153


dataPresentation

protected dataPresentation: Map<string, PlanarDataPresentation>

Inherited from

GenericViewport.dataPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:81


dataProvider

protected dataProvider: DataProvider<object, unknown>

Inherited from

GenericViewport.dataProvider

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:73


defaultOptions

defaultOptions: PlanarViewportInputOptions

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:156


element

readonly element: HTMLDivElement

Inherited from

GenericViewport.element

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:66


id

readonly id: string

Inherited from

GenericViewport.id

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:65


isDestroyed

protected isDestroyed: boolean = false

Inherited from

GenericViewport.isDestroyed

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:83


options

options: PlanarViewportInputOptions

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:157


renderContext

protected renderContext: PlanarViewportRenderContext

Overrides

GenericViewport.renderContext

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:160


renderingEngineId

readonly renderingEngineId: string

Overrides

GenericViewport.renderingEngineId

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:152


renderPathResolver

protected renderPathResolver: RenderPathResolver

Inherited from

GenericViewport.renderPathResolver

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:74


sHeight

sHeight: number

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:155


suppressEvents

suppressEvents: boolean = false

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:158


sWidth

sWidth: number

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:154


type

readonly type: PLANAR_NEXT = ViewportType.PLANAR_NEXT

Overrides

GenericViewport.type

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:151


viewportStatus

viewportStatus: ViewportStatus = ViewportStatus.NO_DATA

Inherited from

GenericViewport.viewportStatus

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:69


viewState

protected viewState: PlanarViewState

Inherited from

GenericViewport.viewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:82

Accessors

useCustomRenderingPipeline

get static useCustomRenderingPipeline(): boolean

Returns

boolean

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:195

Methods

addDisplaySet()

addDisplaySet(displaySetId, options): Promise<void>

Adds a single logical planar display set.

Parameters

displaySetId: string

Logical display set id to add.

options: PlanarSetDataOptions = {}

Semantic orientation and binding options. The render path is inferred from the registered dataset and viewport configuration.

Returns

Promise<void>

Overrides

GenericViewport.addDisplaySet

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:405


addImages()

addImages(stackInputs): Promise<void>

Adds overlay images on top of the primary render path output.

Parameters

stackInputs: IStackInput[]

Returns

Promise<void>

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:607


addLoadedData()

protected addLoadedData(displaySetId, data, options, shouldIgnore?): Promise<boolean>

Converts loaded logical data into a mounted rendering binding.

The binding stores render-path callbacks so future per-dataset render state, camera, transform, resize, and render requests can be routed back to the correct render-path runtime.

Parameters

displaySetId: string

data: LoadedData

options: DataAddOptions

shouldIgnore?

Returns

Promise<boolean>

Inherited from

GenericViewport.addLoadedData

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:531


calibrateSpacing()

calibrateSpacing(imageId): void

Re-applies the calibrated pixel spacing for an image (CS-12). The native counterpart of StackViewport.calibrateSpacing.

The caller (the tools calibrateImageSpacing utility) first adds the calibration to the calibratedPixelSpacingMetadataProvider; this method then re-renders and emits IMAGE_SPACING_CALIBRATED so annotation tools invalidate their cached stats and recompute lengths against the new calibration. The native data path reads calibration fresh from getImageData() on every access (see buildPlanarImageData -> getImageDataMetadata -> buildMetadata), so there is no cached spacing to rebuild — the event + render are the whole job.

Defining this method is also what makes viewportSupportsStackCalibration return true for a native viewport, so calibrateImageSpacing routes here instead of skipping the viewport (it has no legacy setStack to fall back to).

Parameters

imageId: string

the imageId whose calibration changed

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:886


canRenderOrientation()

canRenderOrientation(orientation, dataId?): boolean

Reports whether the viewport could render the given orientation for the current (or a specified) source data, without throwing.

Acquisition-aligned orientations are always renderable; reformatted orientations (AXIAL/SAGITTAL/CORONAL) require volume-backed data. Use this to pre-check before setOrientation() / setViewState({ orientation }) (for example to enable/disable an MPR control) instead of relying on the render-path decision service throwing on an unsupported request.

Parameters

orientation: PlanarSetOrientationInput

The orientation to test.

dataId?: string

Optional display set id; defaults to the active source.

Returns

boolean

true when the orientation can be rendered for the data.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1438


canvasToWorld()

canvasToWorld(canvasPos): Point3

Converts canvas-space to world-space through the resolved semantic view.

Parameters

canvasPos: Point2

Returns

Point3

Overrides

GenericViewport.canvasToWorld

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1251


createLegacyCompatibilityHost()

protected createLegacyCompatibilityHost(): object

Returns

object

findDataIdByVolumeId()

findDataIdByVolumeId: (volumeId) => string

Parameters

volumeId: any

Returns

string

getActiveDataId()

getActiveDataId: () => string

Returns

string

getBindingActor()

getBindingActor: (dataId) => unknown

Parameters

dataId: any

Returns

unknown

getCameraOrientation()

getCameraOrientation: () => PlanarOrientation

Returns

PlanarOrientation

getCurrentImageId()

getCurrentImageId: () => string

Returns

string

getCurrentPlanarRendering()

getCurrentPlanarRendering: () => PlanarRendering

Returns

PlanarRendering

getDefaultVOIRange()

getDefaultVOIRange: (dataId) => VOIRange

Parameters

dataId: any

Returns

VOIRange

getDisplaySetPresentation()

getDisplaySetPresentation: (dataId) => PlanarDataPresentation

Parameters

dataId: any

Returns

PlanarDataPresentation

getElement()

getElement: () => HTMLDivElement

Returns

HTMLDivElement

getFirstBoundDataId()

getFirstBoundDataId: () => string

Returns

string

getImageCount()

getImageCount: () => number

Returns

number

getMaxImageIdIndex()

getMaxImageIdIndex: () => number

Returns

number

getRequestedOrientation()

getRequestedOrientation: () => PlanarOrientation

Returns

PlanarOrientation

getViewportId()

getViewportId: () => string

Returns

string

prepareVolumeCompatibilityCamera()

prepareVolumeCompatibilityCamera: () => void

Returns

void

removeBindingsExcept()

removeBindingsExcept: (keepDataIds) => void

Parameters

keepDataIds: any

Returns

void

render()

render: () => void

Returns

void

setCameraOrientation()

setCameraOrientation: (orientation) => void

Parameters

orientation: any

Returns

void

setDataPresentationState()

setDataPresentationState: (dataId, presentation) => void

Parameters

dataId: any

presentation: any

Returns

void

setDisplaySetPresentation()

setDisplaySetPresentation: (displaySetId, presentation) => void

Parameters

displaySetId: any

presentation: any

Returns

void

setDisplaySets()

setDisplaySets: (...entries) => Promise<void>

Parameters

• ...entries: any[]

Returns

Promise<void>

setImageIdIndex()

setImageIdIndex: (imageIdIndex) => Promise<string>

Parameters

imageIdIndex: any

Returns

Promise<string>

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1854


destroy()

destroy(): void

Releases mounted bindings and viewport-local resources.

Returns

void

Inherited from

GenericViewport.destroy

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:410


destroyBindings()

protected destroyBindings(): void

Tears down all mounted dataset bindings by removing each one individually.

Returns

void

Inherited from

GenericViewport.destroyBindings

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:944


dispose()

dispose(): void

Alias for destroy. Provided for compatibility with disposable resource conventions.

Returns

void

Inherited from

GenericViewport.dispose

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:433


findBindingDataIdByActorEntryUID()

protected findBindingDataIdByActorEntryUID(actorEntryUID): string

Parameters

actorEntryUID: string

Returns

string

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2324


findDataIdByVolumeId()

findDataIdByVolumeId(volumeId): string

Maps a volume id to its bound display-set (data) id. Public because the tools VOI synchronizer needs it across the tools<->core boundary; it was previously reached through a structural cast against this protected member, which leaked the type contract. Planar-family specific (volume-backed), so it lives here rather than on IGenericViewport.

Parameters

volumeId: string

Returns

string

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2337


forEachBinding()

protected forEachBinding(visitor): void

Iterates mounted bindings without exposing the underlying map to subclasses.

Parameters

visitor

Returns

void

Inherited from

GenericViewport.forEachBinding

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:862


getActors()

getActors(): ActorEntry[]

Returns all actor entries, with the source actor first and overlays after.

Returns

ActorEntry[]

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:504


getAnchorWorld()

getAnchorWorld(): Point3

Returns the current world-space anchor point when one is set.

Returns

Point3

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:978


getAspectRatio()

getAspectRatio(): Point2

Returns the current axis-based stretch as [scaleX, scaleY]. The new generic viewport pipeline does not apply axis-based stretching for now, so this defaults to [1, 1]. Subclasses that support aspect-ratio stretching should override.

Returns

Point2

Inherited from

GenericViewport.getAspectRatio

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:342


getBinding()

protected getBinding(displaySetId): ViewportDataBinding<PlanarDataPresentation>

Looks up a binding by dataset identifier.

Parameters

displaySetId: string

Returns

ViewportDataBinding<PlanarDataPresentation>

Inherited from

GenericViewport.getBinding

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:796


getCameraForEvent()

protected getCameraForEvent(): ICamera<number>

Returns the camera representation used for event payloads. Delegates to the computed camera's ICamera projection when available, falling back to the raw view state.

Returns

ICamera<number>

Overrides

GenericViewport.getCameraForEvent

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2569


getCanvas()

getCanvas(): HTMLCanvasElement

Returns the active canvas element (CPU or VTK) based on render mode.

Returns

HTMLCanvasElement

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:594


getCurrentBinding()

protected getCurrentBinding(): PlanarDataBinding

Returns the binding used for generic transform and frame-of-reference queries when a viewport family does not override the selection logic.

Returns

PlanarDataBinding

Overrides

GenericViewport.getCurrentBinding

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1987


getCurrentImageId()

getCurrentImageId(viewRefSpecifier): string

Resolves the currently referenced image id from the active camera state.

Parameters

viewRefSpecifier: ViewReferenceSpecifier = {}

Returns

string

The current image id, if one can be resolved.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:821


getCurrentImageIdIndex()

getCurrentImageIdIndex(): number

Returns the current slice index for stack-like and slice-like workflows.

Returns

number

The current zero-based image index.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:812


getCurrentMode()

getCurrentMode(): ViewportContentMode

Content-true classification of the bound source data for a planar viewport.

A PLANAR_NEXT viewport renders both image-id stacks and volume slices, so its content mode is derived from the active source binding's render mode (and, as a fallback, from whether a source volume id is bound) rather than from the viewport type. Returns empty when no source data is mounted.

Returns

ViewportContentMode

Overrides

GenericViewport.getCurrentMode

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:712


getCurrentPlanarRendering()

protected getCurrentPlanarRendering(): PlanarRendering

Returns

PlanarRendering

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2341


getDataPresentationState()

protected getDataPresentationState(displaySetId): PlanarDataPresentation

Returns the last render state stored for a display set, even if that display set is not currently mounted.

Parameters

displaySetId: string

Returns

PlanarDataPresentation

Inherited from

GenericViewport.getDataPresentationState

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:648


getDefaultActor()

getDefaultActor(): ActorEntry

Returns the primary actor entry for the viewport.

Returns

ActorEntry

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:511


getDefaultImageData()

getDefaultImageData(): any

Returns the vtk image data backing the default image actor, mirroring the legacy Viewport.getDefaultImageData. Tools (e.g. the ONNX auto-pilot segmentation controller) call this directly on the viewport; native PLANAR_NEXT viewports previously threw getDefaultImageData is not a function. Returns undefined when no VTK image actor is mounted (e.g. CPU render paths).

Returns

any

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:556


getDefaultVOIRange()

getDefaultVOIRange(dataId?): VOIRange

Parameters

dataId?: string

Returns

VOIRange

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:803


getDisplayArea()

getDisplayArea(): PlanarDisplayArea

Returns the current display-area declaration, if any.

Returns

PlanarDisplayArea

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1025


getDisplaySetPresentation()

getDisplaySetPresentation(displaySetId): PlanarDataPresentation

Returns the stored presentation state for a specific dataset.

Parameters

displaySetId: string

Returns

PlanarDataPresentation

Inherited from

GenericViewport.getDisplaySetPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:209


getDisplaySetRenderMode()

protected getDisplaySetRenderMode(displaySetId): string

Internal helper: returns the mounted render mode for a specific dataset when present.

Parameters

displaySetId: string

Returns

string

Inherited from

GenericViewport.getDisplaySetRenderMode

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:806


getDisplaySetRole()

protected getDisplaySetRole(displaySetId): BindingRole

Internal helper: returns the binding role for a mounted dataset when present.

Parameters

displaySetId: string

Returns

BindingRole

Inherited from

GenericViewport.getDisplaySetRole

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:816


getDisplaySets()

getDisplaySets(): object[]

Returns the display sets currently mounted on the viewport, in mount order (source binding first, then overlays). Derived from the live bindings, so it always reflects what is actually rendered - including overlays and any removeData calls. The per-entry options carry the binding role.

Returns

object[]

Inherited from

GenericViewport.getDisplaySets

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:148


getFirstBinding()

protected getFirstBinding(): ViewportDataBinding<PlanarDataPresentation>

Returns the first mounted binding when a viewport family does not have a stronger notion of "current" selection.

Returns

ViewportDataBinding<PlanarDataPresentation>

Inherited from

GenericViewport.getFirstBinding

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:826


getFrameOfReferenceUID()

getFrameOfReferenceUID(): string

Returns the frame of reference UID from the resolved view, resolving against the active binding's spatial metadata.

Returns

string

Overrides

GenericViewport.getFrameOfReferenceUID

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1278


getImageActor()

getImageActor(volumeId?): vtkImageSlice

Retrieves an image actor from the viewport actors. Mirrors the legacy Viewport.getImageActor so VOI/colorbar tooling that depends on it keeps working on native PLANAR_NEXT viewports. CPU render paths (e.g. CPU stack slice rendering) have no VTK image actor, so this returns null there and callers fall back to a default range instead of throwing.

Parameters

volumeId?: string

Optional id of the volume whose image actor is wanted.

Returns

vtkImageSlice

The image actor if present, otherwise null.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:525


getImageData()

getImageData(volumeId?): unknown

Returns the active image-data object when the current render path exposes one.

Parameters

volumeId?: string

Optional: when the viewport displays several volumes (eg a fusion viewport), return the image data of the binding showing this volume rather than of the active/default binding. Mirrors the legacy BaseVolumeViewport.getImageData(volumeId?) signature so per-target consumers (eg annotation statistics) work on both.

Returns

unknown

The image-data object, if exposed by the render path.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1235


getImageDataMetadata()

getImageDataMetadata(image): ReturnImageDataMetadata

Returns image metadata for a given image object.

Parameters

image: IImage

Returns

ReturnImageDataMetadata

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:663


getImageIds()

getImageIds(): string[]

Returns the current image ids for the active planar dataset.

Returns

string[]

The image ids exposed by the active image or volume dataset.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:676


getMaxImageIdIndex()

protected getMaxImageIdIndex(): number

Returns

number

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1959


getNumberOfSlices()

getNumberOfSlices(): number

Returns the number of navigable slices for the current source data.

For image/stack content this is the number of image ids; for volume-slice content it is the slice count along the current view direction. This is the native equivalent of the legacy stack/volume getNumberOfSlices() and is what csUtils.jumpToSlice, scroll, and image-slice synchronizers rely on for a PLANAR_NEXT viewport (which is not a StackViewport, so it takes the slice-count navigation branch).

Returns

number

The total slice count for the active source data.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:848


getPan()

getPan(): Point2

Returns

Point2

Deprecated

Legacy shim for getPan().

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1109


getReferenceViewContexts()

protected getReferenceViewContexts(): GenericViewportReferenceContext[]

Returns generic reference-compatibility contexts for mounted datasets. Subclasses can add image, volume, slice, plane, and dimension facts.

Returns

GenericViewportReferenceContext[]

Overrides

GenericViewport.getReferenceViewContexts

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2621


getRenderingEngine()

getRenderingEngine(): RenderingEngine

Returns the rendering engine that owns this viewport.

Returns

RenderingEngine

The parent rendering engine, if it is still registered.

Overrides

GenericViewport.getRenderingEngine

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1188


getResolvedView()

getResolvedView(args): ResolvedPlanarViewportView

Returns the resolved view snapshot that resolves the raw camera state against the current render context and data geometry.

Parameters

args = {}

args.frameOfReferenceUID?: string

args.sliceIndex?: number

Returns

ResolvedPlanarViewportView

Overrides

GenericViewport.getResolvedView

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1170


getRotation()

getRotation(): number

Returns the current rotation angle in degrees.

Returns

number

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:968


getScale()

getScale(): Point2

Returns the current native two-axis Planar scale.

Returns

Point2

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1072


getSliceIndex()

getSliceIndex(): number

Alias for getCurrentImageIdIndex used by legacy stack-style callers.

Returns

number

The current zero-based image index.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:832


getSourceBinding()

protected getSourceBinding(): ViewportDataBinding<PlanarDataPresentation>

Returns the active source binding (the dataset that defines the view), falling back to the first mounted binding when no explicit source role is present. Used for content-mode classification and source-scoped queries.

Returns

ViewportDataBinding<PlanarDataPresentation>

Inherited from

GenericViewport.getSourceBinding

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:837


getSourceDataId()

getSourceDataId(): string

Returns

string

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:700


getUseCustomRenderingPipeline()

getUseCustomRenderingPipeline(): boolean

Returns whether this viewport bypasses the shared rendering pipeline.

Returns

boolean

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1562


getViewReference()

getViewReference(viewRefSpecifier): ViewReference

Builds a spatial reference object for cross-viewport synchronization.

Parameters

viewRefSpecifier: ViewReferenceSpecifier = {}

Optional fields that refine the produced reference object.

Returns

ViewReference

A spatial view reference for the current planar state.

Overrides

GenericViewport.getViewReference

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1199


getViewReferenceId()

getViewReferenceId(viewRefSpecifier): string

Builds a stable id for the current view reference.

Parameters

viewRefSpecifier: ViewReferenceSpecifier = {}

Optional fields that refine the produced reference id.

Returns

string

A stable identifier for the current planar reference state.

Overrides

GenericViewport.getViewReferenceId

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1212


getViewState()

getViewState(): PlanarViewState

Returns the raw planar view state.

Returns

PlanarViewState

Overrides

GenericViewport.getViewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1162


getVolumeId()

getVolumeId(viewRefSpecifier): string

Returns the current volume id when the active dataset is volume-backed.

Parameters

viewRefSpecifier: ViewReferenceSpecifier = {}

Returns

string

The volume id for the active dataset, if one exists.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:691


getZoom()

getZoom(): number

Returns

number

Deprecated

Legacy shim for getZoom().

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1065


hasImageId()

hasImageId(imageId): boolean

Returns whether the active dataset contains the given image id.

Parameters

imageId: string

Image id to look up in the active dataset.

Returns

boolean

true when the image id is present in the active dataset.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1288


hasImageURI()

hasImageURI(imageURI): boolean

Returns whether the active dataset contains an image with the given URI.

Parameters

imageURI: string

URI form of the image id to look up.

Returns

boolean

true when a matching image URI exists in the active dataset.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1298


hasVolumeId()

hasVolumeId(volumeId): boolean

Returns whether any bound dataset references the given volume id.

Parameters

volumeId: string

Volume id to compare against the bound datasets.

Returns

boolean

true when a source or overlay binding references the volume id.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1310


hasVolumeURI()

hasVolumeURI(volumeURI): boolean

Returns whether the active dataset references a volume whose id contains the given URI fragment.

Parameters

volumeURI: string

Volume URI substring to compare against the active dataset volume id.

Returns

boolean

true when the active dataset references the given volume URI.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1322


isPlaneViewable()

isPlaneViewable(planeRestriction, options?): boolean

Returns whether a spatial plane is viewable in the current planar state.

Parameters

planeRestriction: PlaneRestriction

Plane description to test against the current viewport state.

options?: ReferenceCompatibleOptions

Optional compatibility flags for the spatial check.

Returns

boolean

true when the plane can be viewed in this viewport state.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1334


isReferenceViewable()

isReferenceViewable(viewRef, options): boolean

Returns whether a view reference is spatially compatible with this viewport.

Parameters

viewRef: ViewReference

View reference to test.

options: ReferenceCompatibleOptions = {}

Optional compatibility flags for the spatial check.

Returns

boolean

true when the reference can be viewed in this viewport state.

Overrides

GenericViewport.isReferenceViewable

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1349


mergeDataPresentation()

protected mergeDataPresentation(displaySetId, props): PlanarDataPresentation

Merges object-like updates into the stored per-display-set render state and forwards the result immediately when mounted.

Parameters

displaySetId: string

props: Partial<PlanarDataPresentation>

Returns

PlanarDataPresentation

Inherited from

GenericViewport.mergeDataPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:679


modified()

protected modified(previousCamera?): void

Pushes the current shared view state to every binding and schedules a render. Optionally fires a camera-modified event when a previous camera snapshot is provided.

Parameters

previousCamera?: ICamera<number>

Returns

void

Overrides

GenericViewport.modified

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1639


normalizeViewState()

protected normalizeViewState(viewState): PlanarViewState

Hook for subclasses to clamp or adjust view-state values before they are stored. The default implementation returns the view state unchanged.

Parameters

viewState: PlanarViewState

Returns

PlanarViewState

Overrides

GenericViewport.normalizeViewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:907


notifyDataPresentationModified()

protected notifyDataPresentationModified(displaySetId, props): void

Emits the legacy-named presentation events (VOI_MODIFIED, COLORMAP_MODIFIED) when a per-display-set presentation update changes the VOI, invert, or colormap of a mounted dataset.

The native presentation write path previously emitted no event, so OHIF's VOI sliders, colorbar, window-level readout, and VOI/colormap synchronizers went stale after any programmatic or tool-driven setDisplaySetPresentation change on a direct PLANAR_NEXT viewport. The legacy compatibility adapter keeps emitting COLORMAP_MODIFIED through its own path (which applies presentation via setDataPresentationState directly, not through mergeDataPresentation), so this hook does not double-fire for compatibility viewports.

Parameters

displaySetId: string

props: Partial<PlanarDataPresentation>

Returns

void

Overrides

GenericViewport.notifyDataPresentationModified

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:752


onDestroy()

protected onDestroy(): void

Hook for subclasses to release viewport-local resources during destroy. Called after bindings have been torn down but before the maps are cleared.

Returns

void

Overrides

GenericViewport.onDestroy

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1624


removeAllData()

protected removeAllData(): void

Returns

void

Inherited from

GenericViewport.removeAllData

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:615


removeBindingsExcept()

protected removeBindingsExcept(keepDataIds): void

Parameters

keepDataIds: Set<string>

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2260


removeData()

removeData(dataId): void

Removes a dataset binding and clears the active data id when the removed dataset was active.

Parameters

dataId: string

Returns

void

Overrides

GenericViewport.removeData

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:485


removeWidgets()

removeWidgets(): void

Returns

void

Deprecated

Compatibility no-op retained during the V2 migration.

Inherited from

GenericViewport.removeWidgets

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:403


render()

render(): void

Renders the active planar bindings or queues an engine-driven render.

Returns

void

Overrides

GenericViewport.render

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1602


renderBindings()

protected renderBindings(): boolean

Invokes render on each binding and reports whether any binding handled the render request directly.

Returns

boolean

Overrides

GenericViewport.renderBindings

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1652


renderImageObject()

renderImageObject(image): Promise<void>

Renders a single image object by setting it as a one-image stack.

Parameters

image: IImage

Returns

Promise<void>

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:563


reset()

reset(immediate): void

Resets viewport options to the construction defaults.

Parameters

immediate: boolean = false

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1014


resetDisplaySetPresentation()

resetDisplaySetPresentation(dataId?): void

Resets the stored per-display-set presentation (VOI / window level, colormap and inversion) back to the computed defaults for a single display set. This is the reset counterpart to setDisplaySetPresentation / getDisplaySetPresentation; the next viewport intentionally has no get/set Properties, so it does not use the legacy *Properties naming.

Clearing the stored presentation override makes the render path fall back to its defaults on the next apply (default VOI, no colormap, no inversion). "Reset View" relies on it (view/camera state is reset separately by resetViewState); without it, "Reset View" left the window level at the user-modified value on direct generic viewports.

Parameters

dataId?: string

Optional display set id; defaults to the active source.

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1528


resetViewState()

resetViewState(options?): boolean

Resets view state presentation back to the viewport defaults.

Navigation state such as the current slice remains unchanged.

Parameters

options?: PlanarResetViewStateOptions

Flags controlling which view-state fields are reset.

Returns

boolean

Always true for compatibility with legacy viewport contracts.

Overrides

GenericViewport.resetViewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1467


resetViewStateForResize()

resetViewStateForResize(): boolean

Resets view state after a resize using the same behavior as resetViewState.

Returns

boolean

Always true for compatibility with legacy viewport contracts.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1509


resize()

resize(): void

Resizes the internal CPU canvas and notifies active render bindings.

Returns

void

Overrides

GenericViewport.resize

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1576


resizeBindings()

protected resizeBindings(): void

Invokes resize on each mounted binding.

Returns

void

Inherited from

GenericViewport.resizeBindings

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:931


resizeForRenderingEngine()

resizeForRenderingEngine(__namedParameters): void

RenderingEngine-owned resize hook for custom-pipeline viewports.

Generic viewports own semantic view state, so the rendering engine delegates resize behavior here instead of preserving legacy getCamera/setCamera snapshots around a reset.

Parameters

__namedParameters: RenderingEngineResizeOptions = {}

Returns

void

Inherited from

GenericViewport.resizeForRenderingEngine

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:506


scroll()

scroll(delta): Promise<string>

Scrolls by a signed image-index delta.

Parameters

delta: number

Signed number of images to move by.

Returns

Promise<string>

The resolved image id after scrolling.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1411


setAnchorWorld()

setAnchorWorld(point?): void

Sets or clears the world-space anchor point.

Parameters

point?: Point3

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:987


setDataPresentationState()

protected setDataPresentationState(dataId, props): void

Stores per-dataset render state and forwards it immediately when that dataset is already added.

Parameters

dataId: string

props: PlanarDataPresentation

Returns

void

Overrides

GenericViewport.setDataPresentationState

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:957


setDefaultDataPresentation()

protected setDefaultDataPresentation(displaySetId, defaults): PlanarDataPresentation

Stores object-like defaults for a display set without clobbering any values already tracked for that display set.

Parameters

displaySetId: string

defaults: PlanarDataPresentation

Returns

PlanarDataPresentation

Inherited from

GenericViewport.setDefaultDataPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:658


setDisplayArea()

setDisplayArea(displayArea, suppressEvents): void

Stores a display-area declaration on the semantic camera. The shared planar camera resolver turns it into render-path-specific pan/zoom.

Parameters

displayArea: PlanarDisplayArea

suppressEvents: boolean = false

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1035


setDisplaySetPresentation()

setDisplaySetPresentation(props)

setDisplaySetPresentation(props): void

Updates the stored per-display-set presentation state. When called with just props, the update is applied to the current (source) binding. When called with an explicit displaySetId, the update targets that binding.

Parameters

props: Partial<PlanarDataPresentation>

Returns

void

Overrides

GenericViewport.setDisplaySetPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:938

setDisplaySetPresentation(displaySetId, props)

setDisplaySetPresentation(displaySetId, props): void

Updates the stored per-display-set presentation state. When called with just props, the update is applied to the current (source) binding. When called with an explicit displaySetId, the update targets that binding.

Parameters

displaySetId: string

props: Partial<PlanarDataPresentation>

Returns

void

Overrides

GenericViewport.setDisplaySetPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:939


setDisplaySets()

setDisplaySets(...entries): Promise<void>

Replaces all mounted planar display sets with the provided ones. The first entry is mounted as the source binding; subsequent entries default to the overlay role unless they specify one explicitly.

Parameters

• ...entries: object[]

Display sets to mount, each with its own options for orientation and binding role resolution.

Returns

Promise<void>

Overrides

GenericViewport.setDisplaySets

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:372


setImageIdIndex()

setImageIdIndex(imageIdIndex): Promise<string>

Sets the active image index and resolves the corresponding image id.

Parameters

imageIdIndex: number

Requested zero-based image index.

Returns

Promise<string>

The resolved image id after clamping.

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1362


setNeedsRender()

setNeedsRender(): void

Marks the viewport as waiting for a render pass without scheduling one.

Returns

void

Inherited from

GenericViewport.setNeedsRender

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:457


setOptions()

setOptions(options, immediate): void

Applies viewport-level options that affect the planar camera.

Parameters

options: ViewportInputOptions

immediate: boolean = false

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:996


setOrientation()

setOrientation(orientation): void

Sets the planar orientation for volume-backed render modes.

Parameters

orientation: PlanarSetOrientationInput

Target acquisition-aligned orientation.

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1420


setPan()

setPan(nextPan): void

Parameters

nextPan: Point2

Returns

void

Deprecated

Legacy shim for setPan(...).

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1114


setRendered()

setRendered(): void

No-op called by the rendering engine after completing a frame.

Returns

void

Overrides

GenericViewport.setRendered

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1569


setScale()

setScale(scale, canvasPoint?): void

Sets the native two-axis Planar scale. A scalar keeps legacy uniform zoom behavior; a tuple intentionally changes the displayed aspect ratio.

Parameters

scale: PlanarScaleInput

canvasPoint?: Point2

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1085


setScaleAtCanvasPoint()

setScaleAtCanvasPoint(scale, canvasPoint): void

Sets the zoom scale anchored to a specific canvas point.

Parameters

scale: PlanarScaleInput

canvasPoint: Point2

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1132


setViewReference()

setViewReference(viewRef): void

Applies a view reference by activating the matching binding and navigating to the referenced slice.

Parameters

viewRef: ViewReference

Returns

void

Overrides

GenericViewport.setViewReference

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1220


setViewState()

setViewState(viewStatePatch): void

Merges partial Planar view-state updates into the viewport state.

Parameters

viewStatePatch: Partial<PlanarViewState>

Returns

void

Overrides

GenericViewport.setViewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:914


setZoom()

setZoom(zoom, canvasPoint?): void

Parameters

zoom: number

canvasPoint?: Point2

Returns

void

Deprecated

Legacy shim for setZoom(...).

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1077


triggerCameraModifiedEvent()

protected triggerCameraModifiedEvent(previousCamera): void

Fires a Events.CAMERA_MODIFIED event on the viewport element.

Parameters

previousCamera: ICamera<number>

Returns

void

Inherited from

GenericViewport.triggerCameraModifiedEvent

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:763


triggerCameraResetEvent()

protected triggerCameraResetEvent(): void

Fires a Events.CAMERA_RESET event on the viewport element.

Returns

void

Inherited from

GenericViewport.triggerCameraResetEvent

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:778


updateBindingsCameraState()

protected updateBindingsCameraState(): void

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1899


updateRenderingPipeline()

updateRenderingPipeline(): void

Live render-backend switch: re-runs the render-path decision for every mounted display set and remounts, in place, the ones whose effective render mode changed. The viewport instance, its id, mounted data, view state (slice/zoom/pan), per-display-set presentation, and tool annotations all survive -- addLoadedData re-applies presentation and view state to the rebuilt binding. Display sets pinned via a per-mount renderBackend re-resolve to the same path and are effectively skipped.

Called by the global setRenderBackend()/setUseCPURendering() fan-out; the rebuild is async but the hook itself is fire-and-forget by contract.

Returns

void

Overrides

GenericViewport.updateRenderingPipeline

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1704


updateViewState()

updateViewState(updater): void

Computes a view-state patch from the current state, then applies it through setViewState so normalization, events, and render invalidation stay in the canonical mutation path.

Parameters

updater: Partial<PlanarViewState> | (viewState) => void | Partial<PlanarViewState>

Returns

void

Inherited from

GenericViewport.updateViewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:381


worldToCanvas()

worldToCanvas(worldPos): Point2

Converts world-space to canvas-space through the resolved semantic view.

Parameters

worldPos: Point3

Returns

Point2

Overrides

GenericViewport.worldToCanvas

Defined in

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1264