Skip to content

Class: NeuroSurfaceViewer ​

Defined in: NeuroSurfaceViewer.ts:326

Extends ​

Constructors ​

Constructor ​

ts
new NeuroSurfaceViewer(
   container, 
   width, 
   height, 
   config?, 
   viewpoint?
): NeuroSurfaceViewer;

Defined in: NeuroSurfaceViewer.ts:421

Parameters ​

container ​

HTMLElement

width ​

number

height ​

number

config? ​

NeuroSurfaceViewerConfig = {}

viewpoint? ​

string = 'lateral'

Returns ​

NeuroSurfaceViewer

Overrides ​

EventEmitter.constructor

Properties ​

container ​

ts
container: HTMLElement;

Defined in: NeuroSurfaceViewer.ts:327


width ​

ts
width: number;

Defined in: NeuroSurfaceViewer.ts:328


height ​

ts
height: number;

Defined in: NeuroSurfaceViewer.ts:329


config ​

ts
config: ResolvedNeuroSurfaceViewerConfig;

Defined in: NeuroSurfaceViewer.ts:330


viewpoint ​

ts
viewpoint: string;

Defined in: NeuroSurfaceViewer.ts:331


scene ​

ts
scene: Scene;

Defined in: NeuroSurfaceViewer.ts:332


environmentMap ​

ts
environmentMap: Texture<unknown, TextureEventMap> | null;

Defined in: NeuroSurfaceViewer.ts:333


camera ​

ts
camera: PerspectiveCamera;

Defined in: NeuroSurfaceViewer.ts:334


renderer ​

ts
renderer: WebGLRenderer;

Defined in: NeuroSurfaceViewer.ts:335


cameraControls ​

ts
cameraControls: SurfaceControls | TrackballControls;

Defined in: NeuroSurfaceViewer.ts:336


composer ​

ts
composer: EffectComposer;

Defined in: NeuroSurfaceViewer.ts:337


ssaoPass ​

ts
ssaoPass: SSAOPass | null = null;

Defined in: NeuroSurfaceViewer.ts:338


surfaces ​

ts
surfaces: Map<string, NeuroSurface>;

Defined in: NeuroSurfaceViewer.ts:339


rimStrengthUniforms ​

ts
rimStrengthUniforms: object[];

Defined in: NeuroSurfaceViewer.ts:340

value ​

ts
value: number;

raycaster ​

ts
raycaster: Raycaster;

Defined in: NeuroSurfaceViewer.ts:341


mouse ​

ts
mouse: Vector2;

Defined in: NeuroSurfaceViewer.ts:342


intersectionPoint ​

ts
intersectionPoint: Vector3;

Defined in: NeuroSurfaceViewer.ts:343


ambientLight ​

ts
ambientLight: AmbientLight;

Defined in: NeuroSurfaceViewer.ts:346


directionalLight ​

ts
directionalLight: DirectionalLight;

Defined in: NeuroSurfaceViewer.ts:347


fillLight ​

ts
fillLight: DirectionalLight;

Defined in: NeuroSurfaceViewer.ts:349

Secondary light; presets may set its intensity, report scenes keep it camera-relative.


viewpoints ​

ts
viewpoints: Record<string, ViewpointConfig>;

Defined in: NeuroSurfaceViewer.ts:353


viewpointState ​

ts
viewpointState: ViewpointState | null;

Defined in: NeuroSurfaceViewer.ts:354


currentViewpointKey ​

ts
currentViewpointKey: string;

Defined in: NeuroSurfaceViewer.ts:355


annotations ​

ts
annotations: AnnotationManager;

Defined in: NeuroSurfaceViewer.ts:356


plugins ​

ts
plugins: PluginHost;

Defined in: NeuroSurfaceViewer.ts:357


capabilities ​

ts
capabilities: ViewerCapabilities;

Defined in: NeuroSurfaceViewer.ts:358


stylePreset ​

ts
stylePreset: SurfViewStylePreset;

Defined in: NeuroSurfaceViewer.ts:359


options ​

ts
options: Map<string, any>;

Defined in: NeuroSurfaceViewer.ts:360


sceneBoundsRadius ​

ts
sceneBoundsRadius: number;

Defined in: NeuroSurfaceViewer.ts:361


initializationFailed ​

ts
initializationFailed: boolean;

Defined in: NeuroSurfaceViewer.ts:362


selectedLayerId ​

ts
selectedLayerId: string | null = null;

Defined in: NeuroSurfaceViewer.ts:363


selectedSurfaceId ​

ts
selectedSurfaceId: string | null = null;

Defined in: NeuroSurfaceViewer.ts:364


onSurfaceClick ​

ts
onSurfaceClick: ((event) => void) | undefined = undefined;

Defined in: NeuroSurfaceViewer.ts:365


gpuPicker ​

ts
gpuPicker: GPUPicker | null = null;

Defined in: NeuroSurfaceViewer.ts:367

GPU-based picker for fast vertex selection


crosshair ​

ts
crosshair: CrosshairManager;

Defined in: NeuroSurfaceViewer.ts:368


handleSurfaceClick ​

ts
handleSurfaceClick: (event) => void;

Defined in: NeuroSurfaceViewer.ts:369

Parameters ​

event ​

MouseEvent

Returns ​

void

Accessors ​

animationId ​

Get Signature ​

ts
get animationId(): number | null;

Defined in: NeuroSurfaceViewer.ts:381

Pending requestAnimationFrame id retained for backward compatibility.

Returns ​

number | null

Set Signature ​

ts
set animationId(value): void;

Defined in: NeuroSurfaceViewer.ts:385

Parameters ​
value ​

number | null

Returns ​

void


needsRender ​

Get Signature ​

ts
get needsRender(): boolean;

Defined in: NeuroSurfaceViewer.ts:390

Whether a canvas paint is queued; retained for backward compatibility.

Returns ​

boolean

Set Signature ​

ts
set needsRender(value): void;

Defined in: NeuroSurfaceViewer.ts:394

Parameters ​
value ​

boolean

Returns ​

void


controls ​

Get Signature ​

ts
get controls(): SurfaceControls | TrackballControls;

Defined in: NeuroSurfaceViewer.ts:399

Deprecated ​

Use cameraControls. This alias will be removed in SurfView 3.

Returns ​

SurfaceControls | TrackballControls

Set Signature ​

ts
set controls(value): void;

Defined in: NeuroSurfaceViewer.ts:404

Deprecated ​

Use cameraControls. This alias will be removed in SurfView 3.

Parameters ​
value ​

SurfaceControls | TrackballControls

Returns ​

void


controlsEnabled ​

Get Signature ​

ts
get controlsEnabled(): boolean;

Defined in: NeuroSurfaceViewer.ts:412

Deprecated ​

Use isInteractionEnabled() and setInteractionEnabled().

Returns ​

boolean

Set Signature ​

ts
set controlsEnabled(enabled): void;

Defined in: NeuroSurfaceViewer.ts:417

Deprecated ​

Use setInteractionEnabled().

Parameters ​
enabled ​

boolean

Returns ​

void

Methods ​

on() ​

ts
on<K>(event, listener): UnsubscribeFn;

Defined in: EventEmitter.ts:18

Type Parameters ​

K ​

K extends keyof ViewerEventMap

Parameters ​

event ​

K

listener ​

TypedEventListener<ViewerEventMap[K]>

Returns ​

UnsubscribeFn

Inherited from ​

EventEmitter.on


once() ​

ts
once<K>(event, listener): UnsubscribeFn;

Defined in: EventEmitter.ts:30

Type Parameters ​

K ​

K extends keyof ViewerEventMap

Parameters ​

event ​

K

listener ​

TypedEventListener<ViewerEventMap[K]>

Returns ​

UnsubscribeFn

Inherited from ​

EventEmitter.once


removeListener() ​

ts
removeListener<K>(event, listenerToRemove): void;

Defined in: EventEmitter.ts:60

Type Parameters ​

K ​

K extends keyof ViewerEventMap

Parameters ​

event ​

K

listenerToRemove ​

TypedEventListener<ViewerEventMap[K]>

Returns ​

void

Inherited from ​

EventEmitter.removeListener


removeAllListeners() ​

ts
removeAllListeners(event?): void;

Defined in: EventEmitter.ts:75

Parameters ​

event? ​

keyof ViewerEventMap

Returns ​

void

Inherited from ​

EventEmitter.removeAllListeners


off() ​

ts
off<K>(event, listener): void;

Defined in: EventEmitter.ts:84

Type Parameters ​

K ​

K extends keyof ViewerEventMap

Parameters ​

event ​

K

listener ​

TypedEventListener<ViewerEventMap[K]>

Returns ​

void

Inherited from ​

EventEmitter.off


registerPlugin() ​

ts
registerPlugin(plugin, options?): PluginRegistration;

Defined in: NeuroSurfaceViewer.ts:539

Parameters ​

plugin ​

ViewerPlugin

options? ​

RegisterPluginOptions

Returns ​

PluginRegistration


unregisterPlugin() ​

ts
unregisterPlugin(id): boolean;

Defined in: NeuroSurfaceViewer.ts:543

Parameters ​

id ​

string

Returns ​

boolean


getPlugin() ​

ts
getPlugin(id): PluginRegistration | null;

Defined in: NeuroSurfaceViewer.ts:547

Parameters ​

id ​

string

Returns ​

PluginRegistration | null


listPlugins() ​

ts
listPlugins(): PluginRegistration[];

Defined in: NeuroSurfaceViewer.ts:551

Returns ​

PluginRegistration[]


getStateRevision() ​

ts
getStateRevision(): number;

Defined in: NeuroSurfaceViewer.ts:556

Current monotonic revision of observable control-relevant state.

Returns ​

number


isDisposed() ​

ts
isDisposed(): boolean;

Defined in: NeuroSurfaceViewer.ts:561

Whether this viewer has completed its idempotent disposal lifecycle.

Returns ​

boolean


emit() ​

ts
emit<K>(event, ...args): void;

Defined in: NeuroSurfaceViewer.ts:565

Type Parameters ​

K ​

K extends keyof ViewerEventMap

Parameters ​

event ​

K

args ​

...EventArgsFor<ViewerEventMap, K>

Returns ​

void

Overrides ​

EventEmitter.emit


setupRenderer() ​

ts
setupRenderer(): void;

Defined in: NeuroSurfaceViewer.ts:603

Returns ​

void


setupCamera() ​

ts
setupCamera(): void;

Defined in: NeuroSurfaceViewer.ts:680

Returns ​

void


setupLighting() ​

ts
setupLighting(): void;

Defined in: NeuroSurfaceViewer.ts:688

Returns ​

void


setHeadlight() ​

ts
setHeadlight(enabled): void;

Defined in: NeuroSurfaceViewer.ts:724

Hold the key and fill lights fixed relative to the camera (true, the default) or fixed in the world (false, the rig of earlier releases).

Parameters ​

enabled ​

boolean

Returns ​

void


acquireHeadlight() ​

ts
acquireHeadlight(enabled): () => void;

Defined in: NeuroSurfaceViewer.ts:739

Temporarily set the headlight for as long as the caller needs it (a report scene, for example) and get a function that releases the override. While overrides are held the newest one applies; releasing one falls back to the newest remaining override, and releasing the last restores the setting from before the first. An explicit setHeadlight while overrides are held discards them, so the user's choice outlives them all.

Parameters ​

enabled ​

boolean

Returns ​

() => void


setupControls() ​

ts
setupControls(): void;

Defined in: NeuroSurfaceViewer.ts:789

Returns ​

void


onControlsChange() ​

ts
onControlsChange(): void;

Defined in: NeuroSurfaceViewer.ts:838

Returns ​

void


setupPostProcessing() ​

ts
setupPostProcessing(): void;

Defined in: NeuroSurfaceViewer.ts:863

Returns ​

void


registerBilateralSurfaceGroup() ​

ts
registerBilateralSurfaceGroup(group): BilateralSurfaceGroupResult;

Defined in: NeuroSurfaceViewer.ts:897

Register a deliberate left/right coordination group. No group is inferred from loaded surfaces.

Parameters ​

group ​

BilateralSurfaceGroup

Returns ​

BilateralSurfaceGroupResult


unregisterBilateralSurfaceGroup() ​

ts
unregisterBilateralSurfaceGroup(groupId): BilateralSurfaceGroupResult;

Defined in: NeuroSurfaceViewer.ts:905

Parameters ​

groupId ​

string

Returns ​

BilateralSurfaceGroupResult


getBilateralSurfaceGroup() ​

ts
getBilateralSurfaceGroup(groupId): 
  | BilateralSurfaceGroup
  | null;

Defined in: NeuroSurfaceViewer.ts:915

Parameters ​

groupId ​

string

Returns ​

| BilateralSurfaceGroup | null


getBilateralSurfaceGroups() ​

ts
getBilateralSurfaceGroups(): readonly BilateralSurfaceGroup[];

Defined in: NeuroSurfaceViewer.ts:919

Returns ​

readonly BilateralSurfaceGroup[]


getAnatomicalViewCapabilities() ​

ts
getAnatomicalViewCapabilities(): AnatomicalViewCapabilities;

Defined in: NeuroSurfaceViewer.ts:923

Returns ​

AnatomicalViewCapabilities


getCurrentAnatomicalView() ​

ts
getCurrentAnatomicalView(): 
  | AnatomicalViewChangedEvent
  | null;

Defined in: NeuroSurfaceViewer.ts:928

Last explicit anatomical orientation, or null after a free camera mutation.

Returns ​

| AnatomicalViewChangedEvent | null


setAnatomicalView() ​

ts
setAnatomicalView(view, options): AnatomicalViewResult;

Defined in: NeuroSurfaceViewer.ts:937

Apply a camera-oriented anatomical view to one explicit surface or group. Paired camera views use the registered left member as the lateral/medial reference; report adapters may instead orient each member independently.

Parameters ​

view ​

AnatomicalView

options ​

AnatomicalViewOptions

Returns ​

AnatomicalViewResult


resetAnatomicalView() ​

ts
resetAnatomicalView(): AnatomicalViewResetResult;

Defined in: NeuroSurfaceViewer.ts:1105

Reset the ordinary viewer camera to its configured origin and zoom.

Returns ​

AnatomicalViewResetResult


setViewpoint() ​

ts
setViewpoint(viewpoint): void;

Defined in: NeuroSurfaceViewer.ts:1152

Parameters ​

viewpoint ​

string

Returns ​

void


setHemisphereView() ​

ts
setHemisphereView(view): void;

Defined in: NeuroSurfaceViewer.ts:1222

Convenience wrapper to set common hemisphere-oriented views. Accepts 'lateral', 'medial', 'dorsal', 'anterior', 'posterior', 'inferior'.

Parameters ​

view ​

"lateral" | "medial" | "dorsal" | "anterior" | "posterior" | "inferior"

Returns ​

void


separateHemispheres() ​

ts
separateHemispheres(offset?): void;

Defined in: NeuroSurfaceViewer.ts:1235

Offset left/right hemispheres apart for clarity. Uses surface.hemisphere metadata.

Parameters ​

offset? ​

number = 20

Returns ​

void


updateColormap() ​

ts
updateColormap(presetName): void;

Defined in: NeuroSurfaceViewer.ts:1253

Parameters ​

presetName ​

string

Returns ​

void

Deprecated ​

Use updateLayer(surfaceId, layerId, { colorMap }) or updateColorMap(surfaceId, colorMap). This compatibility helper is removed in v3.


updateAmbientLight() ​

ts
updateAmbientLight(color): void;

Defined in: NeuroSurfaceViewer.ts:1303

Parameters ​

color ​

number

Returns ​

void


updateDirectionalLight() ​

ts
updateDirectionalLight(color): void;

Defined in: NeuroSurfaceViewer.ts:1312

Parameters ​

color ​

number

Returns ​

void


updateDirectionalLightIntensity() ​

ts
updateDirectionalLightIntensity(intensity): void;

Defined in: NeuroSurfaceViewer.ts:1321

Parameters ​

intensity ​

number

Returns ​

void


updateMaterials() ​

ts
updateMaterials(): void;

Defined in: NeuroSurfaceViewer.ts:1335

Push the viewer's metalness/roughness to every surface. Surfaces keep their own material type (Phong ignores PBR terms) and custom shader materials are never replaced.

Returns ​

void


updateIntensityRange() ​

ts
updateIntensityRange(): void;

Defined in: NeuroSurfaceViewer.ts:1358

Returns ​

void

Deprecated ​

Pane range bindings no longer exist. This no-op is removed in v3.


updateThresholdRange() ​

ts
updateThresholdRange(): void;

Defined in: NeuroSurfaceViewer.ts:1366

Returns ​

void

Deprecated ​

Pane threshold bindings no longer exist. This no-op is removed in v3.


resetCamera() ​

ts
resetCamera(): void;

Defined in: NeuroSurfaceViewer.ts:1373

Returns ​

void


addSurface() ​

ts
addSurface(surface, id?): void;

Defined in: NeuroSurfaceViewer.ts:1396

Parameters ​

surface ​

NeuroSurface

id? ​

string

Returns ​

void


addVolumeProjectedSurface() ​

ts
addVolumeProjectedSurface(
   geometry, 
   handle, 
   volumeConfig, 
   displayConfig?
): VolumeProjectedSurface | null;

Defined in: NeuroSurfaceViewer.ts:1625

Add a surface whose overlay values are sampled from a 3D volume texture on the GPU.

Requires WebGL2 (sampler3D). Returns null when unsupported so callers can fall back to a CPU-projected DataLayer path.

Parameters ​

geometry ​

SurfaceGeometry

handle ​

string

volumeConfig ​
data ​

Float32Array<ArrayBufferLike> | ArrayLike<number>

dims ​

[number, number, number]

affineMatrix? ​

ArrayLike<number> | Matrix4

worldToIJK? ​

ArrayLike<number> | Matrix4

voxelSize? ​

[number, number, number]

volumeOrigin? ​

[number, number, number]

useHalfFloat? ​

boolean

fillValue? ​

number

projectionMode? ​

VolumeProjectionMode

pialPositions? ​

Float32Array<ArrayBufferLike> | ArrayLike<number>

whitePositions? ​

Float32Array<ArrayBufferLike> | ArrayLike<number>

ribbonSamples? ​

number

ribbonReducer? ​

RibbonReducer

displayConfig? ​
colormap? ​

string

range? ​

[number, number]

threshold? ​

[number, number]

opacity? ​

number

baseColor? ​

ColorRepresentation

Returns ​

VolumeProjectedSurface | null


setSurfaceVariant() ​

ts
setSurfaceVariant(
   surfaceId, 
   variantName, 
   options?
): void;

Defined in: NeuroSurfaceViewer.ts:1688

Parameters ​

surfaceId ​

string

variantName ​

string

options? ​
animate? ​

boolean

duration? ​

number

ease? ​

(t) => number

Returns ​

void


updateDataRange() ​

ts
updateDataRange(data): void;

Defined in: NeuroSurfaceViewer.ts:1704

Parameters ​

data ​

Float32Array

Returns ​

void

Deprecated ​

Pane data-range bindings no longer exist. This no-op is removed in v3.


removeSurface() ​

ts
removeSurface(id): void;

Defined in: NeuroSurfaceViewer.ts:1712

Parameters ​

id ​

string

Returns ​

void


addLayer() ​

ts
addLayer(surfaceId, layer): void;

Defined in: NeuroSurfaceViewer.ts:1740

Parameters ​

surfaceId ​

string

layer ​

Layer

Returns ​

void


updateLayer() ​

ts
updateLayer(
   surfaceId, 
   layerId, 
   updates
): void;

Defined in: NeuroSurfaceViewer.ts:1748

Parameters ​

surfaceId ​

string

layerId ​

string

updates ​

Record<string, any>

Returns ​

void


updateLayerData() ​

ts
updateLayerData(
   surfaceId, 
   layerId, 
   data, 
   indices?
): void;

Defined in: NeuroSurfaceViewer.ts:1756

Parameters ​

surfaceId ​

string

layerId ​

string

data ​

Float32Array<ArrayBufferLike> | number[]

indices? ​

number[] | Uint32Array<ArrayBufferLike> | null

Returns ​

void


updateLayerVisibility() ​

ts
updateLayerVisibility(
   surfaceId, 
   layerId, 
   visible
): void;

Defined in: NeuroSurfaceViewer.ts:1764

Parameters ​

surfaceId ​

string

layerId ​

string

visible ​

boolean

Returns ​

void


removeLayer() ​

ts
removeLayer(surfaceId, layerId): void;

Defined in: NeuroSurfaceViewer.ts:1772

Parameters ​

surfaceId ​

string

layerId ​

string

Returns ​

void


clearLayers() ​

ts
clearLayers(surfaceId, options?): void;

Defined in: NeuroSurfaceViewer.ts:1780

Parameters ​

surfaceId ​

string

options? ​

ClearLayersOptions

Returns ​

void


getOrderedLayers() ​

ts
getOrderedLayers(surfaceId): readonly Layer[];

Defined in: NeuroSurfaceViewer.ts:1788

Parameters ​

surfaceId ​

string

Returns ​

readonly Layer[]


getLayerOrderDescriptors() ​

ts
getLayerOrderDescriptors(surfaceId): readonly LayerOrderDescriptor[];

Defined in: NeuroSurfaceViewer.ts:1795

Parameters ​

surfaceId ​

string

Returns ​

readonly LayerOrderDescriptor[]


setLayerOrder() ​

ts
setLayerOrder(surfaceId, layerIds): LayerOrderResult;

Defined in: NeuroSurfaceViewer.ts:1802

Parameters ​

surfaceId ​

string

layerIds ​

readonly string[]

Returns ​

LayerOrderResult


moveLayer() ​

ts
moveLayer(
   surfaceId, 
   layerId, 
   destinationIndex
): LayerOrderResult;

Defined in: NeuroSurfaceViewer.ts:1814

Parameters ​

surfaceId ​

string

layerId ​

string

destinationIndex ​

number

Returns ​

LayerOrderResult


clearSurfaces() ​

ts
clearSurfaces(): void;

Defined in: NeuroSurfaceViewer.ts:1826

Returns ​

void


addRimLightingShader() ​

ts
addRimLightingShader(mesh): void;

Defined in: NeuroSurfaceViewer.ts:1856

Parameters ​

mesh ​

Mesh

Returns ​

void


setupPicking() ​

ts
setupPicking(): void;

Defined in: NeuroSurfaceViewer.ts:1897

Returns ​

void


getInspectionSelection() ​

ts
getInspectionSelection(): InspectionSelection;

Defined in: NeuroSurfaceViewer.ts:2045

Return the canonical scientific inspection selection.

Returns ​

InspectionSelection


setInspectionSelection() ​

ts
setInspectionSelection(selection, options?): InspectionSelectionResult;

Defined in: NeuroSurfaceViewer.ts:2053

Validate and atomically replace the scientific inspection selection. Panel focus, annotations, and crosshair state are deliberately separate.

Parameters ​

selection ​

InspectionSelection

options? ​

InspectionSelectionOptions = {}

Returns ​

InspectionSelectionResult


clearInspectionSelection() ​

ts
clearInspectionSelection(options?): InspectionSelectionResult;

Defined in: NeuroSurfaceViewer.ts:2194

Parameters ​

options? ​

InspectionSelectionOptions = {}

Returns ​

InspectionSelectionResult


inspectVertex() ​

ts
inspectVertex(surfaceId, vertexIndex): VertexInspection | null;

Defined in: NeuroSurfaceViewer.ts:2205

Inspect one vertex through stable surface/layer IDs. Missing scalar values are represented as null; no live viewer, layer, surface, Three.js, or typed array object escapes in the returned snapshot.

Parameters ​

surfaceId ​

string

vertexIndex ​

number

Returns ​

VertexInspection | null


setParcelHover() ​

ts
setParcelHover(
   surfaceId, 
   parcelId, 
   options?
): boolean;

Defined in: NeuroSurfaceViewer.ts:2321

Parameters ​

surfaceId ​

string

parcelId ​

number | null

options? ​

ParcelFocusOptions = {}

Returns ​

boolean


setParcelSelection() ​

ts
setParcelSelection(
   surfaceId, 
   parcelId, 
   options?
): boolean;

Defined in: NeuroSurfaceViewer.ts:2329

Parameters ​

surfaceId ​

string

parcelId ​

number | null

options? ​

ParcelFocusOptions = {}

Returns ​

boolean


clearParcelHover() ​

ts
clearParcelHover(options?): void;

Defined in: NeuroSurfaceViewer.ts:2337

Parameters ​

options? ​

ParcelFocusOptions = {}

Returns ​

void


clearParcelSelection() ​

ts
clearParcelSelection(options?): void;

Defined in: NeuroSurfaceViewer.ts:2361

Parameters ​

options? ​

ParcelFocusOptions = {}

Returns ​

void


pick() ​

ts
pick(options?): object;

Defined in: NeuroSurfaceViewer.ts:2384

Parameters ​

options? ​
x? ​

number

y? ​

number

opacityThreshold? ​

number

useGPU? ​

boolean

Returns ​

object

surfaceId ​
ts
surfaceId: string | null;
vertexIndex ​
ts
vertexIndex: number | null;
point ​
ts
point: Vector3 | null;

setOption() ​

ts
setOption(key, value): void;

Defined in: NeuroSurfaceViewer.ts:2389

Parameters ​

key ​

string

value ​

any

Returns ​

void


getOption() ​

ts
getOption<T>(key, fallback?): T | undefined;

Defined in: NeuroSurfaceViewer.ts:2394

Type Parameters ​

T ​

T = any

Parameters ​

key ​

string

fallback? ​

T

Returns ​

T | undefined


enableGPUPicking() ​

ts
enableGPUPicking(): boolean;

Defined in: NeuroSurfaceViewer.ts:2402

Enable GPU-based picking for faster vertex selection. Automatically registers all existing surfaces with the GPU picker.

Returns ​

boolean


disableGPUPicking() ​

ts
disableGPUPicking(): void;

Defined in: NeuroSurfaceViewer.ts:2415

Disable GPU-based picking. Falls back to raycasting.

Returns ​

void


isGPUPickingEnabled() ​

ts
isGPUPickingEnabled(): boolean;

Defined in: NeuroSurfaceViewer.ts:2425

Check if GPU picking is currently enabled and available.

Returns ​

boolean


getGPUPicker() ​

ts
getGPUPicker(): GPUPicker | null;

Defined in: NeuroSurfaceViewer.ts:2432

Get the GPU picker instance (for advanced usage).

Returns ​

GPUPicker | null


addAnnotation() ​

ts
addAnnotation(
   surfaceId, 
   vertexIndex, 
   data?, 
   options?
): string | null;

Defined in: NeuroSurfaceViewer.ts:2436

Parameters ​

surfaceId ​

string

vertexIndex ​

number

data? ​

any

options? ​
radius? ​

number

colorOn? ​

number

colorOff? ​

number

active? ​

boolean

Returns ​

string | null


listAnnotations() ​

ts
listAnnotations(surfaceId?): AnnotationRecord[];

Defined in: NeuroSurfaceViewer.ts:2440

Parameters ​

surfaceId? ​

string

Returns ​

AnnotationRecord[]


moveAnnotation() ​

ts
moveAnnotation(id, vertexIndex): boolean;

Defined in: NeuroSurfaceViewer.ts:2444

Parameters ​

id ​

string

vertexIndex ​

number

Returns ​

boolean


removeAnnotations() ​

ts
removeAnnotations(surfaceId): void;

Defined in: NeuroSurfaceViewer.ts:2448

Parameters ​

surfaceId ​

string

Returns ​

void


removeAnnotation() ​

ts
removeAnnotation(id): void;

Defined in: NeuroSurfaceViewer.ts:2452

Parameters ​

id ​

string

Returns ​

void


clearAnnotations() ​

ts
clearAnnotations(): void;

Defined in: NeuroSurfaceViewer.ts:2456

Returns ​

void


activateAnnotation() ​

ts
activateAnnotation(id, options?): void;

Defined in: NeuroSurfaceViewer.ts:2460

Parameters ​

id ​

string

options? ​
exclusive? ​

boolean

Returns ​

void


getAnnotation() ​

ts
getAnnotation(id): AnnotationRecord | undefined;

Defined in: NeuroSurfaceViewer.ts:2464

Parameters ​

id ​

string

Returns ​

AnnotationRecord | undefined


showCrosshair() ​

ts
showCrosshair(
   surfaceId, 
   vertexIndex, 
   options?
): void;

Defined in: NeuroSurfaceViewer.ts:2468

Parameters ​

surfaceId ​

string

vertexIndex ​

number

options? ​

CrosshairOptions

Returns ​

void


hideCrosshair() ​

ts
hideCrosshair(): void;

Defined in: NeuroSurfaceViewer.ts:2478

Returns ​

void


toggleCrosshair() ​

ts
toggleCrosshair(
   surfaceId?, 
   vertexIndex?, 
   options?
): void;

Defined in: NeuroSurfaceViewer.ts:2615

Parameters ​

surfaceId? ​

string

vertexIndex? ​

number

options? ​

CrosshairOptions

Returns ​

void


requestRender() ​

ts
requestRender(): void;

Defined in: NeuroSurfaceViewer.ts:2623

Coalesce an invalidation into the next animation frame.

Returns ​

void


animate() ​

ts
animate(): void;

Defined in: NeuroSurfaceViewer.ts:2627

Returns ​

void


render() ​

ts
render(): void;

Defined in: NeuroSurfaceViewer.ts:2666

Returns ​

void


startRenderLoop() ​

ts
startRenderLoop(): void;

Defined in: NeuroSurfaceViewer.ts:2694

Enable automatic on-demand rendering and request one frame.

Returns ​

void


stopRenderLoop() ​

ts
stopRenderLoop(): void;

Defined in: NeuroSurfaceViewer.ts:2700

Stop automatic on-demand rendering until startRenderLoop() is called.

Returns ​

void


start() ​

ts
start(): void;

Defined in: NeuroSurfaceViewer.ts:2707

Back-compat alias for htmlwidgets callers.

Returns ​

void


stop() ​

ts
stop(): void;

Defined in: NeuroSurfaceViewer.ts:2712

Pause automatic rendering and cancel the currently pending frame.

Returns ​

void


centerCamera() ​

ts
centerCamera(): void;

Defined in: NeuroSurfaceViewer.ts:2716

Returns ​

void


fitToView() ​

ts
fitToView(options?): boolean;

Defined in: NeuroSurfaceViewer.ts:2796

Fit visible surface bounds into the current view without changing its direction.

Parameters ​

options? ​
padding? ​

number

surfaceId? ​

string

Returns ​

boolean


setZoom() ​

ts
setZoom(distance, options?): void;

Defined in: NeuroSurfaceViewer.ts:2900

Parameters ​

distance ​

number

options? ​
updateInitial? ​

boolean

Returns ​

void


resize() ​

ts
resize(
   width, 
   height, 
   options?
): object;

Defined in: NeuroSurfaceViewer.ts:2933

Parameters ​

width ​

number

height ​

number

options? ​
dpr? ​

number

Returns ​

object

width ​
ts
width: number;
height ​
ts
height: number;
dpr ​
ts
dpr: number;

toJSON() ​

ts
toJSON(): ViewerStateV2;

Defined in: NeuroSurfaceViewer.ts:2972

Capture the entire viewer state as a JSON-compatible object.

Returns ​

ViewerStateV2


fromJSON() ​

ts
fromJSON(state): RestorationReport;

Defined in: NeuroSurfaceViewer.ts:2977

Restore viewer state from a serialized object.

Parameters ​

state ​

ViewerState

Returns ​

RestorationReport


exportScene() ​

ts
exportScene(options?): SceneExportManifest;

Defined in: NeuroSurfaceViewer.ts:2982

Export viewer state plus provenance as a portable SurfView scene manifest.

Parameters ​

options? ​

SceneExportOptions

Returns ​

SceneExportManifest


exportSceneJSON() ​

ts
exportSceneJSON(options?): string;

Defined in: NeuroSurfaceViewer.ts:2987

Export viewer state plus provenance as a JSON scene manifest string.

Parameters ​

options? ​

SceneExportOptions

Returns ​

string


exportSceneBlob() ​

ts
exportSceneBlob(options?): Blob;

Defined in: NeuroSurfaceViewer.ts:2992

Export viewer state plus provenance as a scene manifest Blob.

Parameters ​

options? ​

SceneExportOptions

Returns ​

Blob


exportStaticHTML() ​

ts
exportStaticHTML(options?): string;

Defined in: NeuroSurfaceViewer.ts:2997

Export a standalone HTML shell that embeds the scene manifest.

Parameters ​

options? ​

StaticHTMLExportOptions

Returns ​

string


exportPNG() ​

ts
exportPNG(options?): string;

Defined in: NeuroSurfaceViewer.ts:3008

Export the current view as a high-resolution PNG data URL.

The renderer is temporarily resized to the requested pixel dimensions, rendered, copied into a 2D export canvas, annotated with optional figure overlays, and then restored to its previous interactive size.

Parameters ​

options? ​

FigureExportOptions = {}

Returns ​

string


getFigureColorbarSource() ​

ts
getFigureColorbarSource(layerId?): FigureColorbarSource | null;

Defined in: NeuroSurfaceViewer.ts:3081

What a figure's colour key should show: the colormap, value range, threshold band and cap markers of layerId, or by default of the active layer (the selected layer when it is a visible scalar layer, otherwise the top-most visible scalar layer on a visible surface). Where several surfaces hold a layer with that id, the selected surface's wins. Null when no scalar layer is shown. Throws when an explicit layerId names no scalar layer.

Parameters ​

layerId? ​

string

Returns ​

FigureColorbarSource | null


toURL() ​

ts
toURL(baseUrl?): string;

Defined in: NeuroSurfaceViewer.ts:3141

Encode the current viewer state as a shareable link: baseUrl (default: the current page without its hash) followed by #svjs=.... Pass the result, or any part of it from the # on, to fromURL.

Parameters ​

baseUrl? ​

string

Returns ​

string


fromURL() ​

ts
fromURL(url?): RestorationReport;

Defined in: NeuroSurfaceViewer.ts:3156

Restore viewer state from a link produced by toURL.

Accepts a full URL string (https://host/page#svjs=...), a URL object, a hash (#svjs=...), or a bare fragment (svjs=...). With no argument the current window.location is used. Throws when the input carries no surfview state fragment or the fragment cannot be decoded.

Parameters ​

url? ​

string | URL

Returns ​

RestorationReport


dispose() ​

ts
dispose(): void;

Defined in: NeuroSurfaceViewer.ts:3170

Returns ​

void


getControlsVisible() ​

ts
getControlsVisible(): boolean;

Defined in: NeuroSurfaceViewer.ts:3271

Returns ​

boolean

Deprecated ​

Pane controls no longer exist. This always returns false.


toggleControls() ​

ts
toggleControls(show?): void;

Defined in: NeuroSurfaceViewer.ts:3280

Parameters ​

show? ​

boolean

Returns ​

void

Deprecated ​

Pane controls no longer exist. This no-op is removed in v3.


togglePaneMinimized() ​

ts
togglePaneMinimized(): void;

Defined in: NeuroSurfaceViewer.ts:3289

Returns ​

void

Deprecated ​

Pane controls no longer exist. This no-op is removed in v3.


minimizeControlsPane() ​

ts
minimizeControlsPane(): void;

Defined in: NeuroSurfaceViewer.ts:3297

Returns ​

void

Deprecated ​

Pane controls no longer exist. This no-op is removed in v3.


restoreControlsPane() ​

ts
restoreControlsPane(): void;

Defined in: NeuroSurfaceViewer.ts:3305

Returns ​

void

Deprecated ​

Pane controls no longer exist. This no-op is removed in v3.


isInteractionEnabled() ​

ts
isInteractionEnabled(): boolean;

Defined in: NeuroSurfaceViewer.ts:3312

Returns ​

boolean


setInteractionEnabled() ​

ts
setInteractionEnabled(enabled): void;

Defined in: NeuroSurfaceViewer.ts:3316

Parameters ​

enabled ​

boolean

Returns ​

void


enableControls() ​

ts
enableControls(): void;

Defined in: NeuroSurfaceViewer.ts:3328

Returns ​

void

Deprecated ​

Use setInteractionEnabled(true).


disableControls() ​

ts
disableControls(): void;

Defined in: NeuroSurfaceViewer.ts:3334

Returns ​

void

Deprecated ​

Use setInteractionEnabled(false).


getIntersectionPoint() ​

ts
getIntersectionPoint(): Vector3;

Defined in: NeuroSurfaceViewer.ts:3339

Returns ​

Vector3


getRayDirection() ​

ts
getRayDirection(): Vector3;

Defined in: NeuroSurfaceViewer.ts:3343

Returns ​

Vector3


updateSurfaceData() ​

ts
updateSurfaceData(
   surfaceId, 
   data, 
   indices?
): void;

Defined in: NeuroSurfaceViewer.ts:3347

Parameters ​

surfaceId ​

string

data ​

Float32Array

indices? ​

Uint32Array<ArrayBufferLike>

Returns ​

void


updateColorMap() ​

ts
updateColorMap(surfaceId, colormap): void;

Defined in: NeuroSurfaceViewer.ts:3357

Parameters ​

surfaceId ​

string

colormap ​

string | ColorMap

Returns ​

void


getSurface() ​

ts
getSurface(id): NeuroSurface | undefined;

Defined in: NeuroSurfaceViewer.ts:3371

Parameters ​

id ​

string

Returns ​

NeuroSurface | undefined


getSurfaceIds() ​

ts
getSurfaceIds(): string[];

Defined in: NeuroSurfaceViewer.ts:3375

Returns ​

string[]


getFigureBackground() ​

ts
getFigureBackground(): ViewerFigureBackground;

Defined in: NeuroSurfaceViewer.ts:3380

Return the renderer background without exposing renderer objects.

Returns ​

ViewerFigureBackground


setFigureBackground() ​

ts
setFigureBackground(backgroundColor, transparent?): boolean;

Defined in: NeuroSurfaceViewer.ts:3398

Set the interactive and figure-export background as one observable appearance mutation. Returns false when the requested state is unchanged or the viewer is unavailable.

Parameters ​

backgroundColor ​

number

transparent? ​

boolean = false

Returns ​

boolean


updateConfig() ​

ts
updateConfig(newConfig): void;

Defined in: NeuroSurfaceViewer.ts:3422

Parameters ​

newConfig ​

Partial<NeuroSurfaceViewerConfig>

Returns ​

void


applyStylePreset() ​

ts
applyStylePreset(preset): SurfViewStylePreset;

Defined in: NeuroSurfaceViewer.ts:3498

Apply a named publication/presentation style preset to the viewer and current surfaces.

Presets update background, lighting, material defaults, curvature contrast, annotation defaults, ROI/export style metadata, and default figure export size. Existing data layers are not recolored automatically; use stylePreset.colormaps as the default palette policy for newly created layers.

Parameters ​

preset ​

| SurfViewStylePresetName | SurfViewStylePreset

Returns ​

SurfViewStylePreset


applyPresentationPreset() ​

ts
applyPresentationPreset(): void;

Defined in: NeuroSurfaceViewer.ts:3586

Back-compat wrapper for the original presentation preset API.

Returns ​

void


takeScreenshot() ​

ts
takeScreenshot(filename?): void;

Defined in: NeuroSurfaceViewer.ts:3590

Parameters ​

filename? ​

string = 'neurosurface.png'

Returns ​

void


getCameraState() ​

ts
getCameraState(): any;

Defined in: NeuroSurfaceViewer.ts:3604

Returns ​

any


setCameraState() ​

ts
setCameraState(state): void;

Defined in: NeuroSurfaceViewer.ts:3612

Parameters ​

state ​

any

Returns ​

void

Released under the MIT License.