Class: NeuroSurfaceViewer
Defined in: src/NeuroSurfaceViewer.ts:90
Extends
Constructors
Constructor
new NeuroSurfaceViewer(
container,
width,
height,
config?,
viewpoint?): NeuroSurfaceViewer;Defined in: src/NeuroSurfaceViewer.ts:148
Parameters
container
HTMLElement
width
number
height
number
config?
NeuroSurfaceViewerConfig = {}
viewpoint?
string = 'lateral'
Returns
NeuroSurfaceViewer
Overrides
Properties
container
container: HTMLElement;Defined in: src/NeuroSurfaceViewer.ts:91
width
width: number;Defined in: src/NeuroSurfaceViewer.ts:92
height
height: number;Defined in: src/NeuroSurfaceViewer.ts:93
config
config: Required<NeuroSurfaceViewerConfig>;Defined in: src/NeuroSurfaceViewer.ts:94
viewpoint
viewpoint: string;Defined in: src/NeuroSurfaceViewer.ts:95
scene
scene: Scene;Defined in: src/NeuroSurfaceViewer.ts:96
environmentMap
environmentMap: Texture<unknown> | null;Defined in: src/NeuroSurfaceViewer.ts:97
camera
camera: PerspectiveCamera;Defined in: src/NeuroSurfaceViewer.ts:98
renderer
renderer: WebGLRenderer;Defined in: src/NeuroSurfaceViewer.ts:99
controls
controls: TrackballControls | SurfaceControls;Defined in: src/NeuroSurfaceViewer.ts:100
composer
composer: EffectComposer;Defined in: src/NeuroSurfaceViewer.ts:101
ssaoPass
ssaoPass: SSAOPass | null = null;Defined in: src/NeuroSurfaceViewer.ts:102
surfaces
surfaces: Map<string, NeuroSurface>;Defined in: src/NeuroSurfaceViewer.ts:103
rimStrengthUniforms
rimStrengthUniforms: object[];Defined in: src/NeuroSurfaceViewer.ts:104
value
value: number;raycaster
raycaster: Raycaster;Defined in: src/NeuroSurfaceViewer.ts:105
mouse
mouse: Vector2;Defined in: src/NeuroSurfaceViewer.ts:106
intersectionPoint
intersectionPoint: Vector3;Defined in: src/NeuroSurfaceViewer.ts:107
animationId
animationId: number | null;Defined in: src/NeuroSurfaceViewer.ts:108
paneContainer
paneContainer: HTMLElement | null;Defined in: src/NeuroSurfaceViewer.ts:109
needsRender
needsRender: boolean;Defined in: src/NeuroSurfaceViewer.ts:110
dataRange
dataRange: DataRange;Defined in: src/NeuroSurfaceViewer.ts:111
intensityRange
intensityRange: RangeValue;Defined in: src/NeuroSurfaceViewer.ts:112
thresholdRange
thresholdRange: RangeValue;Defined in: src/NeuroSurfaceViewer.ts:113
ambientLight
ambientLight: AmbientLight;Defined in: src/NeuroSurfaceViewer.ts:114
directionalLight
directionalLight: DirectionalLight;Defined in: src/NeuroSurfaceViewer.ts:115
pane
pane: any;Defined in: src/NeuroSurfaceViewer.ts:116
paneLoading
paneLoading: boolean;Defined in: src/NeuroSurfaceViewer.ts:117
controlsEnabled
controlsEnabled: boolean;Defined in: src/NeuroSurfaceViewer.ts:118
paneContentEl
paneContentEl: HTMLElement | null;Defined in: src/NeuroSurfaceViewer.ts:119
paneHandleEl
paneHandleEl: HTMLElement | null;Defined in: src/NeuroSurfaceViewer.ts:120
paneMinimizeButtonEl
paneMinimizeButtonEl: HTMLButtonElement | null = null;Defined in: src/NeuroSurfaceViewer.ts:121
paneDragState
paneDragState: object;Defined in: src/NeuroSurfaceViewer.ts:122
dragging
dragging: boolean;offsetX
offsetX: number;offsetY
offsetY: number;pointerId
pointerId: number | null;minimized
minimized: boolean;resetCameraButton
resetCameraButton: any;Defined in: src/NeuroSurfaceViewer.ts:123
fpsGraph
fpsGraph: any;Defined in: src/NeuroSurfaceViewer.ts:124
viewpoints
viewpoints: Record<string, ViewpointConfig>;Defined in: src/NeuroSurfaceViewer.ts:125
viewpointState
viewpointState: ViewpointState | null;Defined in: src/NeuroSurfaceViewer.ts:126
currentViewpointKey
currentViewpointKey: string;Defined in: src/NeuroSurfaceViewer.ts:127
colormapBindingState
colormapBindingState:
| {
colormap: string;
}
| null;Defined in: src/NeuroSurfaceViewer.ts:128
viewBindingState
viewBindingState:
| {
viewpoint: Viewpoint;
}
| null;Defined in: src/NeuroSurfaceViewer.ts:129
variantBindingState
variantBindingState:
| {
variant: string;
}
| null;Defined in: src/NeuroSurfaceViewer.ts:130
layerOpacityBindingState
layerOpacityBindingState: object;Defined in: src/NeuroSurfaceViewer.ts:131
opacity
opacity: number;annotations
annotations: AnnotationManager;Defined in: src/NeuroSurfaceViewer.ts:132
capabilities
capabilities: ViewerCapabilities;Defined in: src/NeuroSurfaceViewer.ts:133
options
options: Map<string, any>;Defined in: src/NeuroSurfaceViewer.ts:134
sceneBoundsRadius
sceneBoundsRadius: number;Defined in: src/NeuroSurfaceViewer.ts:135
initializationFailed
initializationFailed: boolean;Defined in: src/NeuroSurfaceViewer.ts:136
selectedLayerId
selectedLayerId: string | null = null;Defined in: src/NeuroSurfaceViewer.ts:137
selectedSurfaceId
selectedSurfaceId: string | null = null;Defined in: src/NeuroSurfaceViewer.ts:138
onSurfaceClick?
optional onSurfaceClick?: (event) => void;Defined in: src/NeuroSurfaceViewer.ts:139
Parameters
event
any
Returns
void
gpuPicker
gpuPicker: GPUPicker | null = null;Defined in: src/NeuroSurfaceViewer.ts:141
GPU-based picker for fast vertex selection
crosshair
crosshair: CrosshairManager;Defined in: src/NeuroSurfaceViewer.ts:142
handleSurfaceClick
handleSurfaceClick: (event) => void;Defined in: src/NeuroSurfaceViewer.ts:143
Parameters
event
MouseEvent
Returns
void
Methods
on()
on(event, listener): UnsubscribeFn;Defined in: src/EventEmitter.ts:12
Parameters
event
string
listener
Returns
Inherited from
once()
once(event, listener): UnsubscribeFn;Defined in: src/EventEmitter.ts:23
Parameters
event
string
listener
Returns
Inherited from
emit()
emit(event, ...args): void;Defined in: src/EventEmitter.ts:34
Parameters
event
string
args
...any[]
Returns
void
Inherited from
removeListener()
removeListener(event, listenerToRemove): void;Defined in: src/EventEmitter.ts:41
Parameters
event
string
listenerToRemove
Returns
void
Inherited from
removeAllListeners()
removeAllListeners(event?): void;Defined in: src/EventEmitter.ts:52
Parameters
event?
string
Returns
void
Inherited from
EventEmitter.removeAllListeners
off()
off(event, listener): void;Defined in: src/EventEmitter.ts:61
Parameters
event
string
listener
Returns
void
Inherited from
setupRenderer()
setupRenderer(): void;Defined in: src/NeuroSurfaceViewer.ts:288
Returns
void
setupCamera()
setupCamera(): void;Defined in: src/NeuroSurfaceViewer.ts:328
Returns
void
setupLighting()
setupLighting(): void;Defined in: src/NeuroSurfaceViewer.ts:335
Returns
void
setupControls()
setupControls(): void;Defined in: src/NeuroSurfaceViewer.ts:355
Returns
void
onControlsChange()
onControlsChange(): void;Defined in: src/NeuroSurfaceViewer.ts:392
Returns
void
setupPostProcessing()
setupPostProcessing(): void;Defined in: src/NeuroSurfaceViewer.ts:581
Returns
void
setupTweakPane()
setupTweakPane(): Promise<void>;Defined in: src/NeuroSurfaceViewer.ts:595
Returns
Promise<void>
setViewpoint()
setViewpoint(viewpoint): void;Defined in: src/NeuroSurfaceViewer.ts:1203
Parameters
viewpoint
string
Returns
void
setHemisphereView()
setHemisphereView(view): void;Defined in: src/NeuroSurfaceViewer.ts:1273
Convenience wrapper to set common hemisphere-oriented views. Accepts 'lateral', 'medial', 'anterior', 'posterior', 'inferior'.
Parameters
view
"lateral" | "medial" | "posterior" | "anterior" | "inferior"
Returns
void
separateHemispheres()
separateHemispheres(offset?): void;Defined in: src/NeuroSurfaceViewer.ts:1284
Offset left/right hemispheres apart for clarity. Uses surface.hemisphere metadata.
Parameters
offset?
number = 20
Returns
void
updateColormap()
updateColormap(presetName): void;Defined in: src/NeuroSurfaceViewer.ts:1297
Parameters
presetName
string
Returns
void
updateAmbientLight()
updateAmbientLight(color): void;Defined in: src/NeuroSurfaceViewer.ts:1301
Parameters
color
number
Returns
void
updateDirectionalLight()
updateDirectionalLight(color): void;Defined in: src/NeuroSurfaceViewer.ts:1308
Parameters
color
number
Returns
void
updateDirectionalLightIntensity()
updateDirectionalLightIntensity(intensity): void;Defined in: src/NeuroSurfaceViewer.ts:1315
Parameters
intensity
number
Returns
void
updateMaterials()
updateMaterials(): void;Defined in: src/NeuroSurfaceViewer.ts:1322
Returns
void
updateIntensityRange()
updateIntensityRange(): void;Defined in: src/NeuroSurfaceViewer.ts:1350
Returns
void
updateThresholdRange()
updateThresholdRange(): void;Defined in: src/NeuroSurfaceViewer.ts:1354
Returns
void
resetCamera()
resetCamera(): void;Defined in: src/NeuroSurfaceViewer.ts:1358
Returns
void
addSurface()
addSurface(surface, id?): void;Defined in: src/NeuroSurfaceViewer.ts:1372
Parameters
surface
id?
string
Returns
void
addVolumeProjectedSurface()
addVolumeProjectedSurface(
geometry,
handle,
volumeConfig,
displayConfig?): VolumeProjectedSurface | null;Defined in: src/NeuroSurfaceViewer.ts:1472
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
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
displayConfig?
colormap?
string
range?
[number, number]
threshold?
[number, number]
opacity?
number
baseColor?
ColorRepresentation
Returns
VolumeProjectedSurface | null
setSurfaceVariant()
setSurfaceVariant(
surfaceId,
variantName,
options?): void;Defined in: src/NeuroSurfaceViewer.ts:1523
Parameters
surfaceId
string
variantName
string
options?
animate?
boolean
duration?
number
ease?
(t) => number
Returns
void
updateDataRange()
updateDataRange(data): void;Defined in: src/NeuroSurfaceViewer.ts:1541
Parameters
data
Float32Array
Returns
void
removeSurface()
removeSurface(id): void;Defined in: src/NeuroSurfaceViewer.ts:1600
Parameters
id
string
Returns
void
addLayer()
addLayer(surfaceId, layer): void;Defined in: src/NeuroSurfaceViewer.ts:1622
Parameters
surfaceId
string
layer
| RGBALayer | DataLayer | OutlineLayer
Returns
void
updateLayer()
updateLayer(
surfaceId,
layerId,
updates): void;Defined in: src/NeuroSurfaceViewer.ts:1640
Parameters
surfaceId
string
layerId
string
updates
Record<string, any>
Returns
void
updateLayerData()
updateLayerData(
surfaceId,
layerId,
data,
indices?): void;Defined in: src/NeuroSurfaceViewer.ts:1648
Parameters
surfaceId
string
layerId
string
data
Float32Array<ArrayBufferLike> | number[]
indices?
Uint32Array<ArrayBufferLike> | number[] | null
Returns
void
updateLayerVisibility()
updateLayerVisibility(
surfaceId,
layerId,
visible): void;Defined in: src/NeuroSurfaceViewer.ts:1656
Parameters
surfaceId
string
layerId
string
visible
boolean
Returns
void
removeLayer()
removeLayer(surfaceId, layerId): void;Defined in: src/NeuroSurfaceViewer.ts:1664
Parameters
surfaceId
string
layerId
string
Returns
void
clearLayers()
clearLayers(surfaceId, options?): void;Defined in: src/NeuroSurfaceViewer.ts:1672
Parameters
surfaceId
string
options?
ClearLayersOptions
Returns
void
clearSurfaces()
clearSurfaces(): void;Defined in: src/NeuroSurfaceViewer.ts:1680
Returns
void
addRimLightingShader()
addRimLightingShader(mesh): void;Defined in: src/NeuroSurfaceViewer.ts:1696
Parameters
mesh
Mesh
Returns
void
setupPicking()
setupPicking(): void;Defined in: src/NeuroSurfaceViewer.ts:1749
Returns
void
setParcelHover()
setParcelHover(
surfaceId,
parcelId,
options?): boolean;Defined in: src/NeuroSurfaceViewer.ts:1879
Parameters
surfaceId
string
parcelId
number | null
options?
ParcelFocusOptions = {}
Returns
boolean
setParcelSelection()
setParcelSelection(
surfaceId,
parcelId,
options?): boolean;Defined in: src/NeuroSurfaceViewer.ts:1887
Parameters
surfaceId
string
parcelId
number | null
options?
ParcelFocusOptions = {}
Returns
boolean
clearParcelHover()
clearParcelHover(options?): void;Defined in: src/NeuroSurfaceViewer.ts:1895
Parameters
options?
ParcelFocusOptions = {}
Returns
void
clearParcelSelection()
clearParcelSelection(options?): void;Defined in: src/NeuroSurfaceViewer.ts:1919
Parameters
options?
ParcelFocusOptions = {}
Returns
void
pick()
pick(options?): object;Defined in: src/NeuroSurfaceViewer.ts:1937
Parameters
options?
x?
number
y?
number
opacityThreshold?
number
useGPU?
boolean
Returns
object
surfaceId
surfaceId: string | null;vertexIndex
vertexIndex: number | null;point
point: Vector3 | null;setOption()
setOption(key, value): void;Defined in: src/NeuroSurfaceViewer.ts:2022
Parameters
key
string
value
any
Returns
void
getOption()
getOption<T>(key, fallback?): T | undefined;Defined in: src/NeuroSurfaceViewer.ts:2026
Type Parameters
T
T = any
Parameters
key
string
fallback?
T
Returns
T | undefined
enableGPUPicking()
enableGPUPicking(): boolean;Defined in: src/NeuroSurfaceViewer.ts:2034
Enable GPU-based picking for faster vertex selection. Automatically registers all existing surfaces with the GPU picker.
Returns
boolean
disableGPUPicking()
disableGPUPicking(): void;Defined in: src/NeuroSurfaceViewer.ts:2057
Disable GPU-based picking. Falls back to raycasting.
Returns
void
isGPUPickingEnabled()
isGPUPickingEnabled(): boolean;Defined in: src/NeuroSurfaceViewer.ts:2066
Check if GPU picking is currently enabled and available.
Returns
boolean
getGPUPicker()
getGPUPicker(): GPUPicker | null;Defined in: src/NeuroSurfaceViewer.ts:2073
Get the GPU picker instance (for advanced usage).
Returns
GPUPicker | null
addAnnotation()
addAnnotation(
surfaceId,
vertexIndex,
data?,
options?): string | null;Defined in: src/NeuroSurfaceViewer.ts:2077
Parameters
surfaceId
string
vertexIndex
number
data?
any
options?
radius?
number
colorOn?
number
colorOff?
number
active?
boolean
Returns
string | null
listAnnotations()
listAnnotations(surfaceId?): AnnotationRecord[];Defined in: src/NeuroSurfaceViewer.ts:2081
Parameters
surfaceId?
string
Returns
AnnotationRecord[]
moveAnnotation()
moveAnnotation(id, vertexIndex): boolean;Defined in: src/NeuroSurfaceViewer.ts:2085
Parameters
id
string
vertexIndex
number
Returns
boolean
removeAnnotations()
removeAnnotations(surfaceId): void;Defined in: src/NeuroSurfaceViewer.ts:2089
Parameters
surfaceId
string
Returns
void
removeAnnotation()
removeAnnotation(id): void;Defined in: src/NeuroSurfaceViewer.ts:2093
Parameters
id
string
Returns
void
clearAnnotations()
clearAnnotations(): void;Defined in: src/NeuroSurfaceViewer.ts:2097
Returns
void
activateAnnotation()
activateAnnotation(id, options?): void;Defined in: src/NeuroSurfaceViewer.ts:2101
Parameters
id
string
options?
exclusive?
boolean
Returns
void
getAnnotation()
getAnnotation(id): AnnotationRecord | undefined;Defined in: src/NeuroSurfaceViewer.ts:2105
Parameters
id
string
Returns
AnnotationRecord | undefined
showCrosshair()
showCrosshair(
surfaceId,
vertexIndex,
options?): void;Defined in: src/NeuroSurfaceViewer.ts:2109
Parameters
surfaceId
string
vertexIndex
number
options?
CrosshairOptions
Returns
void
hideCrosshair()
hideCrosshair(): void;Defined in: src/NeuroSurfaceViewer.ts:2118
Returns
void
toggleCrosshair()
toggleCrosshair(
surfaceId?,
vertexIndex?,
options?): void;Defined in: src/NeuroSurfaceViewer.ts:2243
Parameters
surfaceId?
string
vertexIndex?
number
options?
CrosshairOptions
Returns
void
requestRender()
requestRender(): void;Defined in: src/NeuroSurfaceViewer.ts:2249
Returns
void
animate()
animate(): void;Defined in: src/NeuroSurfaceViewer.ts:2253
Returns
void
render()
render(): void;Defined in: src/NeuroSurfaceViewer.ts:2278
Returns
void
startRenderLoop()
startRenderLoop(): void;Defined in: src/NeuroSurfaceViewer.ts:2293
Returns
void
start()
start(): void;Defined in: src/NeuroSurfaceViewer.ts:2304
Back-compat alias for htmlwidgets callers.
Returns
void
stop()
stop(): void;Defined in: src/NeuroSurfaceViewer.ts:2311
Stop the animation loop if running.
Returns
void
centerCamera()
centerCamera(): void;Defined in: src/NeuroSurfaceViewer.ts:2318
Returns
void
setZoom()
setZoom(distance, options?): void;Defined in: src/NeuroSurfaceViewer.ts:2395
Parameters
distance
number
options?
updateInitial?
boolean
Returns
void
resize()
resize(
width,
height,
options?): object;Defined in: src/NeuroSurfaceViewer.ts:2412
Parameters
width
number
height
number
options?
dpr?
number
Returns
object
width
width: number;height
height: number;dpr
dpr: number;toJSON()
toJSON(): ViewerStateV1;Defined in: src/NeuroSurfaceViewer.ts:2446
Capture the entire viewer state as a JSON-compatible object.
Returns
fromJSON()
fromJSON(state): RestorationReport;Defined in: src/NeuroSurfaceViewer.ts:2451
Restore viewer state from a serialized object.
Parameters
state
Returns
toURL()
toURL(baseUrl?): string;Defined in: src/NeuroSurfaceViewer.ts:2456
Encode the current viewer state as a URL hash fragment.
Parameters
baseUrl?
string
Returns
string
fromURL()
fromURL(url?): RestorationReport;Defined in: src/NeuroSurfaceViewer.ts:2464
Restore viewer state from a URL hash fragment.
Parameters
url?
string
Returns
dispose()
dispose(): void;Defined in: src/NeuroSurfaceViewer.ts:2470
Returns
void
getControlsVisible()
getControlsVisible(): boolean;Defined in: src/NeuroSurfaceViewer.ts:2577
Returns
boolean
toggleControls()
toggleControls(show?): void;Defined in: src/NeuroSurfaceViewer.ts:2582
Parameters
show?
boolean
Returns
void
togglePaneMinimized()
togglePaneMinimized(): void;Defined in: src/NeuroSurfaceViewer.ts:2607
Returns
void
minimizeControlsPane()
minimizeControlsPane(): void;Defined in: src/NeuroSurfaceViewer.ts:2611
Returns
void
restoreControlsPane()
restoreControlsPane(): void;Defined in: src/NeuroSurfaceViewer.ts:2615
Returns
void
enableControls()
enableControls(): void;Defined in: src/NeuroSurfaceViewer.ts:2649
Returns
void
disableControls()
disableControls(): void;Defined in: src/NeuroSurfaceViewer.ts:2654
Returns
void
getIntersectionPoint()
getIntersectionPoint(): Vector3;Defined in: src/NeuroSurfaceViewer.ts:2659
Returns
Vector3
getRayDirection()
getRayDirection(): Vector3;Defined in: src/NeuroSurfaceViewer.ts:2673
Returns
Vector3
updateSurfaceData()
updateSurfaceData(
surfaceId,
data,
indices?): void;Defined in: src/NeuroSurfaceViewer.ts:2678
Parameters
surfaceId
string
data
Float32Array
indices?
Uint32Array<ArrayBufferLike>
Returns
void
updateColorMap()
updateColorMap(surfaceId, colormap): void;Defined in: src/NeuroSurfaceViewer.ts:2687
Parameters
surfaceId
string
colormap
string | ColorMap
Returns
void
getSurface()
getSurface(id): NeuroSurface | undefined;Defined in: src/NeuroSurfaceViewer.ts:2695
Parameters
id
string
Returns
NeuroSurface | undefined
getSurfaceIds()
getSurfaceIds(): string[];Defined in: src/NeuroSurfaceViewer.ts:2699
Returns
string[]
updateConfig()
updateConfig(newConfig): void;Defined in: src/NeuroSurfaceViewer.ts:2703
Parameters
newConfig
Partial<NeuroSurfaceViewerConfig>
Returns
void
applyPresentationPreset()
applyPresentationPreset(): void;Defined in: src/NeuroSurfaceViewer.ts:2746
Apply a high-polish presentation preset: soft neutral background, gentle PBR material, boosted SSAO, and slightly increased ambient light. Kept intentionally minimal so it’s safe for static renders.
Returns
void
takeScreenshot()
takeScreenshot(filename?): void;Defined in: src/NeuroSurfaceViewer.ts:2769
Parameters
filename?
string = 'neurosurface.png'
Returns
void
getCameraState()
getCameraState(): any;Defined in: src/NeuroSurfaceViewer.ts:2783
Returns
any
setCameraState()
setCameraState(state): void;Defined in: src/NeuroSurfaceViewer.ts:2791
Parameters
state
any
Returns
void