Skip to content

Class: VolumeProjectionLayer

Defined in: src/layers.ts:630

GPU volume-to-surface projection layer.

In GPU compositing mode, this layer is evaluated in the vertex shader by sampling a 3D texture (WebGL2 required). In CPU mode, this layer falls back to a per-vertex lookup and colormap on the CPU.

Extends

Constructors

Constructor

ts
new VolumeProjectionLayer(
   id, 
   volumeData, 
   dims, 
   config?): VolumeProjectionLayer;

Defined in: src/layers.ts:644

Parameters

id

string

volumeData

Float32Array<ArrayBufferLike> | number[]

dims

[number, number, number]

config?

VolumeProjectionLayerConfig = {}

Returns

VolumeProjectionLayer

Overrides

Layer.constructor

Properties

id

ts
id: string;

Defined in: src/layers.ts:103

Inherited from

Layer.id


visible

ts
visible: boolean;

Defined in: src/layers.ts:104

Inherited from

Layer.visible


opacity

ts
opacity: number;

Defined in: src/layers.ts:105

Inherited from

Layer.opacity


blendMode

ts
blendMode: BlendMode;

Defined in: src/layers.ts:106

Inherited from

Layer.blendMode


order

ts
order: number;

Defined in: src/layers.ts:107

Inherited from

Layer.order


needsUpdate

ts
needsUpdate: boolean;

Defined in: src/layers.ts:108

Inherited from

Layer.needsUpdate


_onChangeCallback

ts
_onChangeCallback: (() => void) | null;

Defined in: src/layers.ts:110

Callback set by the parent surface to trigger re-compositing on change.

Inherited from

Layer._onChangeCallback

Methods

setVisible()

ts
setVisible(visible): void;

Defined in: src/layers.ts:132

Parameters

visible

boolean

Returns

void

Inherited from

Layer.setVisible


setOpacity()

ts
setOpacity(opacity): void;

Defined in: src/layers.ts:139

Parameters

opacity

number

Returns

void

Inherited from

Layer.setOpacity


setBlendMode()

ts
setBlendMode(mode): void;

Defined in: src/layers.ts:147

Parameters

mode

BlendMode

Returns

void

Inherited from

Layer.setBlendMode


registerOutlineLayer()

ts
static registerOutlineLayer(ctor): void;

Defined in: src/layers.ts:183

Parameters

ctor

any

Returns

void

Inherited from

Layer.registerOutlineLayer


registerTemporalLayer()

ts
static registerTemporalLayer(ctor): void;

Defined in: src/layers.ts:187

Parameters

ctor

any

Returns

void

Inherited from

Layer.registerTemporalLayer


fromConfig()

ts
static fromConfig(config): Layer;

Defined in: src/layers.ts:199

Create a concrete Layer instance from a plain object configuration. Supports: base, rgba, data, outline.

Parameters

config

Record<string, any>

Returns

Layer

Inherited from

Layer.fromConfig


attach()

ts
attach(surface): void;

Defined in: src/layers.ts:685

Attach to a surface to enable CPU fallback sampling. Called by MultiLayerNeuroSurface when the layer is added.

Parameters

surface
geometry

{ vertices: Float32Array; }

geometry.vertices

Float32Array

mesh?

Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap>

Returns

void


detach()

ts
detach(): void;

Defined in: src/layers.ts:690

Returns

void


getVolumeTexture()

ts
getVolumeTexture(): VolumeTexture3D;

Defined in: src/layers.ts:694

Returns

VolumeTexture3D


getColormapTexture()

ts
getColormapTexture(): DataTexture;

Defined in: src/layers.ts:698

Returns

DataTexture


getWorldToIJK()

ts
getWorldToIJK(): Matrix4;

Defined in: src/layers.ts:702

Returns

Matrix4


getVolumeDims()

ts
getVolumeDims(): Vector3;

Defined in: src/layers.ts:706

Returns

Vector3


getRange()

ts
getRange(): [number, number];

Defined in: src/layers.ts:710

Returns

[number, number]


getThreshold()

ts
getThreshold(): [number, number];

Defined in: src/layers.ts:714

Returns

[number, number]


getFillValue()

ts
getFillValue(): number;

Defined in: src/layers.ts:718

Returns

number


setRange()

ts
setRange(range): void;

Defined in: src/layers.ts:722

Parameters

range

[number, number]

Returns

void


setThreshold()

ts
setThreshold(threshold): void;

Defined in: src/layers.ts:728

Parameters

threshold

[number, number]

Returns

void


setFillValue()

ts
setFillValue(fillValue): void;

Defined in: src/layers.ts:734

Parameters

fillValue

number

Returns

void


setColormap()

ts
setColormap(name): void;

Defined in: src/layers.ts:739

Parameters

name

string

Returns

void


setWorldToIJK()

ts
setWorldToIJK(matrix): void;

Defined in: src/layers.ts:761

Parameters

matrix

ArrayLike<number> | Matrix4

Returns

void


updateVolumeData()

ts
updateVolumeData(data): void;

Defined in: src/layers.ts:768

Parameters

data

Float32Array<ArrayBufferLike> | number[]

Returns

void


getRGBAData()

ts
getRGBAData(vertexCount): Float32Array;

Defined in: src/layers.ts:774

Get RGBA values for this layer Must be implemented by subclasses

Parameters

vertexCount

number

Returns

Float32Array

Overrides

Layer.getRGBAData


update()

ts
update(updates): void;

Defined in: src/layers.ts:856

Update layer data Must be implemented by subclasses

Parameters

updates

VolumeProjectionLayerUpdateData

Returns

void

Overrides

Layer.update


toStateJSON()

ts
toStateJSON(): Record<string, unknown>;

Defined in: src/layers.ts:894

Serialize common layer state for state persistence. Override in subclasses.

Returns

Record<string, unknown>

Overrides

Layer.toStateJSON


dispose()

ts
dispose(): void;

Defined in: src/layers.ts:905

Returns

void

Overrides

Layer.dispose

Released under the MIT License.