Class: VolumeProjectionLayer
Defined in: layers.ts:1090
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
new VolumeProjectionLayer(
id,
volumeData,
dims,
config?
): VolumeProjectionLayer;Defined in: layers.ts:1117
Parameters
id
string
volumeData
Float32Array<ArrayBufferLike> | number[]
dims
[number, number, number]
config?
VolumeProjectionLayerConfig = {}
Returns
VolumeProjectionLayer
Overrides
Properties
id
id: string;Defined in: layers.ts:294
Inherited from
visible
visible: boolean;Defined in: layers.ts:295
Inherited from
opacity
opacity: number;Defined in: layers.ts:296
Inherited from
blendMode
blendMode: BlendMode;Defined in: layers.ts:297
Inherited from
needsUpdate
needsUpdate: boolean;Defined in: layers.ts:298
Inherited from
_onChangeCallback
_onChangeCallback: ((changes) => void) | null;Defined in: layers.ts:300
Callback set by the parent surface to propagate observable layer changes.
Inherited from
Accessors
order
Get Signature
get order(): number;Defined in: layers.ts:343
Numeric initialization hint used when this layer first enters a stack. Runtime ordering is owned exclusively by LayerStack.
Deprecated
Use LayerStack.setLayerOrder() or LayerStack.moveLayer() after the layer has been added. Runtime writes are ignored.
Returns
number
Set Signature
set order(order): void;Defined in: layers.ts:347
Parameters
order
number
Returns
void
Inherited from
Methods
getOrderConstraints()
getOrderConstraints(): LayerOrderConstraints;Defined in: layers.ts:361
Returns
Inherited from
getPresentation()
getPresentation(): LayerPresentation;Defined in: layers.ts:365
Returns
Inherited from
setPresentation()
setPresentation(presentation): void;Defined in: layers.ts:369
Parameters
presentation
Partial<LayerPresentation>
Returns
void
Inherited from
getDataSummary()
getDataSummary(_options?): LayerDataSummary | null;Defined in: layers.ts:377
Scalar layers override this without exposing their underlying arrays.
Parameters
_options?
Returns
LayerDataSummary | null
Inherited from
setVisible()
setVisible(visible): void;Defined in: layers.ts:432
Parameters
visible
boolean
Returns
void
Inherited from
setOpacity()
setOpacity(opacity): void;Defined in: layers.ts:439
Parameters
opacity
number
Returns
void
Inherited from
setBlendMode()
setBlendMode(mode): void;Defined in: layers.ts:447
Parameters
mode
Returns
void
Inherited from
fromConfig()
static fromConfig(config): Layer;Defined in: layers.ts:501
Backward-compatible throwing factory. The package entry point installs the same explicit registry exposed by createLayerFromConfig.
Parameters
config
unknown
Returns
Inherited from
attach()
attach(surface): void;Defined in: layers.ts:1165
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<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>
Returns
void
detach()
detach(): void;Defined in: layers.ts:1170
Returns
void
getVolumeTexture()
getVolumeTexture(): VolumeTexture3D;Defined in: layers.ts:1174
Returns
getColormapTexture()
getColormapTexture(): DataTexture;Defined in: layers.ts:1178
Returns
DataTexture
getWorldToIJK()
getWorldToIJK(): Matrix4;Defined in: layers.ts:1182
Returns
Matrix4
getVolumeDims()
getVolumeDims(): Vector3;Defined in: layers.ts:1186
Returns
Vector3
getRange()
getRange(): [number, number];Defined in: layers.ts:1190
Returns
[number, number]
getThreshold()
getThreshold(): [number, number];Defined in: layers.ts:1194
Returns
[number, number]
getColorKeyRange()
getColorKeyRange(): [number, number];Defined in: layers.ts:1199
Colour-key interval: the display range.
Returns
[number, number]
sampleColorMap()
sampleColorMap(count?): ColorArray[];Defined in: layers.ts:1207
Colour-key stops sampled evenly across the display range with this layer's colormap, ignoring the threshold mask.
Parameters
count?
number = 256
Returns
getFillValue()
getFillValue(): number;Defined in: layers.ts:1219
Returns
number
getProjectionMode()
getProjectionMode(): VolumeProjectionMode;Defined in: layers.ts:1223
Returns
getSamplingMode()
getSamplingMode(): VolumeSamplingMode;Defined in: layers.ts:1227
Returns
getQuality()
getQuality(): VolumeProjectionQuality;Defined in: layers.ts:1231
Returns
getRibbonConfig()
getRibbonConfig(): object;Defined in: layers.ts:1235
Returns
object
samples
samples: number;reducer
reducer: RibbonReducer;hasSurfaces
hasSurfaces: boolean;usesGPUVertexProjection()
usesGPUVertexProjection(): boolean;Defined in: layers.ts:1243
Returns
boolean
setRange()
setRange(range): void;Defined in: layers.ts:1247
Parameters
range
[number, number]
Returns
void
setThreshold()
setThreshold(threshold): void;Defined in: layers.ts:1254
Parameters
threshold
[number, number]
Returns
void
setFillValue()
setFillValue(fillValue): void;Defined in: layers.ts:1261
Parameters
fillValue
number
Returns
void
setProjectionMode()
setProjectionMode(mode): void;Defined in: layers.ts:1267
Parameters
mode
Returns
void
setSamplingMode()
setSamplingMode(mode): void;Defined in: layers.ts:1276
Set scalar sampling for every path: the CPU sampler and, on the GPU vertex path, the 3D texture filter (nearest or linear between voxel centres).
Parameters
mode
Returns
void
setQuality()
setQuality(quality): void;Defined in: layers.ts:1282
Parameters
quality
Returns
void
setRibbonSurfaces()
setRibbonSurfaces(
pial,
white,
options?
): void;Defined in: layers.ts:1287
Parameters
pial
Float32Array<ArrayBufferLike> | number[] | null
white
Float32Array<ArrayBufferLike> | number[] | null
options?
samples?
number
reducer?
Returns
void
setColormap()
setColormap(input): void;Defined in: layers.ts:1327
Parameters
input
Returns
void
setWorldToIJK()
setWorldToIJK(matrix): void;Defined in: layers.ts:1337
Parameters
matrix
ArrayLike<number> | Matrix4
Returns
void
updateVolumeData()
updateVolumeData(data): void;Defined in: layers.ts:1344
Parameters
data
Float32Array<ArrayBufferLike> | number[]
Returns
void
getRGBAData()
getRGBAData(vertexCount): Float32Array;Defined in: layers.ts:1350
Get straight RGBA values for this layer.
Alpha here is intrinsic data/colormap coverage only. Layer.opacity is applied exactly once by the CPU or GPU compositor.
Parameters
vertexCount
number
Returns
Float32Array
Overrides
sampleValueAtWorld()
sampleValueAtWorld(point): number | null;Defined in: layers.ts:1415
Parameters
point
Vector3
Returns
number | null
sampleValueAtVertex()
sampleValueAtVertex(vertexIndex): number | null;Defined in: layers.ts:1419
Parameters
vertexIndex
number
Returns
number | null
update()
update(updates): void;Defined in: layers.ts:1453
Update layer data Must be implemented by subclasses
Parameters
updates
VolumeProjectionLayerUpdateData
Returns
void
Overrides
toStateJSON()
toStateJSON(): Record<string, unknown>;Defined in: layers.ts:1532
Serialize common layer state for state persistence. Override in subclasses.
Returns
Record<string, unknown>
Overrides
fromStateJSON()
fromStateJSON(state): void;Defined in: layers.ts:1553
Restore mapping state, including authored custom colors without a preset lookup.
Parameters
state
Record<string, unknown>
Returns
void
dispose()
dispose(): void;Defined in: layers.ts:1562
Returns
void