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

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


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


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


renderContext

protected renderContext: PlanarViewportRenderContext

Overrides

GenericViewport.renderContext

Defined in

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


renderingEngineId

readonly renderingEngineId: string

Overrides

GenericViewport.renderingEngineId

Defined in

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


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


suppressEvents

suppressEvents: boolean = false

Defined in

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


sWidth

sWidth: number

Defined in

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


type

readonly type: PLANAR_NEXT = ViewportType.PLANAR_NEXT

Overrides

GenericViewport.type

Defined in

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


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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


getCurrentPlanarRendering()

protected getCurrentPlanarRendering(): PlanarRendering

Returns

PlanarRendering

Defined in

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


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


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


getDefaultVOIRange()

getDefaultVOIRange(dataId?): VOIRange

Parameters

dataId?: string

Returns

VOIRange

Defined in

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


getDisplayArea()

getDisplayArea(): PlanarDisplayArea

Returns the current display-area declaration, if any.

Returns

PlanarDisplayArea

Defined in

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


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


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


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


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


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


getMaxImageIdIndex()

protected getMaxImageIdIndex(): number

Returns

number

Defined in

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


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


getPan()

getPan(): Point2

Returns

Point2

Deprecated

Legacy shim for getPan().

Defined in

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


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


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


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


getRotation()

getRotation(): number

Returns the current rotation angle in degrees.

Returns

number

Defined in

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


getScale()

getScale(): Point2

Returns the current native two-axis Planar scale.

Returns

Point2

Defined in

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


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


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


getUseCustomRenderingPipeline()

getUseCustomRenderingPipeline(): boolean

Returns whether this viewport bypasses the shared rendering pipeline.

Returns

boolean

Defined in

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


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


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


getViewState()

getViewState(): PlanarViewState

Returns the raw planar view state.

Returns

PlanarViewState

Overrides

GenericViewport.getViewState

Defined in

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


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


getZoom()

getZoom(): number

Returns

number

Deprecated

Legacy shim for getZoom().

Defined in

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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


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


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


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


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


setPan()

setPan(nextPan): void

Parameters

nextPan: Point2

Returns

void

Deprecated

Legacy shim for setPan(...).

Defined in

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


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


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


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


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


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


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


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


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


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