Skip to content

Class: SimpleOrthogonalViewer

Defined in: src/display/SimpleOrthogonalViewer.ts:37

Simple wrapper around OrthogonalImageViewer that exposes a minimal, programmatic API suitable for embedding in external applications without shipping UI widgets.

This is the recommended (canonical) high-level 3-up orthogonal viewer. For custom layouts or finer control, compose SingleSliceViewer instances with ViewSynchronizer instead. See the architecture note on SliceViewer.

Methods

create()

ts
static create(
   container, 
   volStack, 
   options?): Promise<SimpleOrthogonalViewer>;

Defined in: src/display/SimpleOrthogonalViewer.ts:58

Parameters

container

HTMLElement

volStack

VolStack

options?

SimpleOrthogonalViewerOptions

Returns

Promise<SimpleOrthogonalViewer>


setWorldCoord()

ts
setWorldCoord(coord): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:102

Parameters

coord

number[]

Returns

void


getWorldCoord()

ts
getWorldCoord(): number[];

Defined in: src/display/SimpleOrthogonalViewer.ts:106

Returns

number[]


setLPICoord()

ts
setLPICoord(lpiCoord): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:116

Set position using LPI anatomical world coordinates (mm) regardless of the underlying volume orientation. Converts LPI→volume space and updates slices.

LPI means: X=Left(+)/Right(-), Y=Posterior(+)/Anterior(-), Z=Inferior(+)/Superior(-).

Parameters

lpiCoord

[number, number, number]

Returns

void


getLPICoord()

ts
getLPICoord(): [number, number, number];

Defined in: src/display/SimpleOrthogonalViewer.ts:130

Read current position as LPI anatomical world coordinates (mm).

Returns

[number, number, number]


setSliceIndex()

ts
setSliceIndex(view, index): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:144

Set the discrete slice index for a specific orthogonal view. This is often more convenient than computing a world coordinate.

Parameters

view

"axial" | "coronal" | "sagittal"

index

number

Returns

void


getSliceIndex()

ts
getSliceIndex(view): number;

Defined in: src/display/SimpleOrthogonalViewer.ts:152

Get the current slice index for a specific view.

Parameters

view

"axial" | "coronal" | "sagittal"

Returns

number


addLayer()

ts
addLayer(layer): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:157

Parameters

layer

VolLayer

Returns

void


removeLayer()

ts
removeLayer(layerId): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:163

Parameters

layerId

string

Returns

void


updateLayer()

ts
updateLayer(layerId, params): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:172

Parameters

layerId

string

params
colormap?

string | ColorMap

range?

[number, number]

threshold?

[number, number]

alpha?

number

visible?

boolean

Returns

void


updateLayerVolume()

ts
updateLayerVolume(
   layerId, 
   volume, 
   opts?): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:200

Replace the underlying volume for an existing layer (keeps z-order and id). Handy for fast overlay updates (e.g., sigma changes) without add/remove.

Parameters

layerId

string

volume

NeuroVol

opts?
range?

[number, number] | null

threshold?

[number, number]

alpha?

number

colormap?

string | ColorMap

Returns

void


getCanvas()

ts
getCanvas(view): HTMLCanvasElement;

Defined in: src/display/SimpleOrthogonalViewer.ts:223

Parameters

view

"axial" | "coronal" | "sagittal"

Returns

HTMLCanvasElement


setBackground()

ts
setBackground(color): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:228

Parameters

color

number

Returns

void


setCrosshairVisible()

ts
setCrosshairVisible(visible): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:237

Parameters

visible

boolean

Returns

void


onReady()

ts
onReady(handler): () => void;

Defined in: src/display/SimpleOrthogonalViewer.ts:242

Parameters

handler

() => void

Returns

() => void


onCoordChange()

ts
onCoordChange(handler): () => void;

Defined in: src/display/SimpleOrthogonalViewer.ts:245

Parameters

handler

(coord) => void

Returns

() => void


onSliceChange()

ts
onSliceChange(handler): () => void;

Defined in: src/display/SimpleOrthogonalViewer.ts:248

Parameters

handler

(p) => void

Returns

() => void


setAlignmentOptions()

ts
setAlignmentOptions(options): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:253

Parameters

options

Partial<AlignmentManagerOptions>

Returns

void


setAlignmentStrategy()

ts
setAlignmentStrategy(strategy): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:258

Parameters

strategy

AlignmentStrategyType

Returns

void


moveLayer()

ts
moveLayer(layerId, toIndex): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:266

Change z-order of a layer (0 = back/reference). Emits layerOrderChanged.

Parameters

layerId

string

toIndex

number

Returns

void


setFocusedView()

ts
setFocusedView(view): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:274

Parameters

view

"axial" | "coronal" | "sagittal" | null

Returns

void


setOrientationLabelsVisible()

ts
setOrientationLabelsVisible(visible, options?): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:284

Toggle anatomical orientation labels (L/R/A/P/S/I) across all three views.

Parameters

visible

boolean

Whether the labels should be shown.

options?

OrientationLabelOptions

Optional styling applied to every sub-view.

Returns

void


listLayers()

ts
listLayers(): object[];

Defined in: src/display/SimpleOrthogonalViewer.ts:301

Enumerate layers with display state for external systems.

Returns

object[]


getState()

ts
getState(): object;

Defined in: src/display/SimpleOrthogonalViewer.ts:326

Snapshot minimal viewer state for persistence.

Returns

object

worldCoord
ts
worldCoord: number[];
lpiCoord
ts
lpiCoord: [number, number, number];
slices
ts
slices: object;
slices.axial
ts
axial: number;
slices.coronal
ts
coronal: number;
slices.sagittal
ts
sagittal: number;
layers
ts
layers: object[];

applyState()

ts
applyState(state): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:347

Restore viewer state (best-effort). Does not alter layout.

Parameters

state

Partial<ReturnType<SimpleOrthogonalViewer["getState"]>>

Returns

void


toDataURL()

ts
toDataURL(
   view, 
   type?, 
   quality?): string;

Defined in: src/display/SimpleOrthogonalViewer.ts:376

Export a PNG/JPEG of a specific view's canvas.

Parameters

view

"axial" | "coronal" | "sagittal"

type?

string = 'image/png'

quality?

number

Returns

string


setZoom()

ts
setZoom(view, level): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:391

Set the zoom level for a specific view.

Parameters

view

"axial" | "coronal" | "sagittal"

level

number

Returns

void


getZoom()

ts
getZoom(view): number;

Defined in: src/display/SimpleOrthogonalViewer.ts:402

Get the current zoom level for a specific view.

Parameters

view

"axial" | "coronal" | "sagittal"

Returns

number


resetAllViews()

ts
resetAllViews(): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:411

Reset zoom and pan for all views.

Returns

void


dispose()

ts
dispose(): void;

Defined in: src/display/SimpleOrthogonalViewer.ts:421

Returns

void

Released under the MIT License.