Skip to content

Class: StatisticalMapLayer ​

Defined in: layers/StatisticalMapLayer.ts:129

Layer with data values and colormap (smart mode)

Extends ​

Constructors ​

Constructor ​

ts
new StatisticalMapLayer(
   id, 
   data, 
   indices, 
   colorMap, 
   config?
): StatisticalMapLayer;

Defined in: layers/StatisticalMapLayer.ts:161

Parameters ​

id ​

string

data ​

Float32Array<ArrayBufferLike> | number[]

indices ​

number[] | Uint32Array<ArrayBufferLike> | null

colorMap ​

string | ColorMap | Color[]

config? ​

StatisticalMapLayerConfig = {}

Returns ​

StatisticalMapLayer

Overrides ​

DataLayer.constructor

Properties ​

id ​

ts
id: string;

Defined in: layers.ts:294

Inherited from ​

DataLayer.id


visible ​

ts
visible: boolean;

Defined in: layers.ts:295

Inherited from ​

DataLayer.visible


opacity ​

ts
opacity: number;

Defined in: layers.ts:296

Inherited from ​

DataLayer.opacity


blendMode ​

ts
blendMode: BlendMode;

Defined in: layers.ts:297

Inherited from ​

DataLayer.blendMode


needsUpdate ​

ts
needsUpdate: boolean;

Defined in: layers.ts:298

Inherited from ​

DataLayer.needsUpdate


_onChangeCallback ​

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

Defined in: layers.ts:300

Callback set by the parent surface to propagate observable layer changes.

Inherited from ​

DataLayer._onChangeCallback

Accessors ​

order ​

Get Signature ​

ts
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 ​

ts
set order(order): void;

Defined in: layers.ts:347

Parameters ​
order ​

number

Returns ​

void

Inherited from ​

DataLayer.order

Methods ​

getOrderConstraints() ​

ts
getOrderConstraints(): LayerOrderConstraints;

Defined in: layers.ts:361

Returns ​

LayerOrderConstraints

Inherited from ​

DataLayer.getOrderConstraints


getPresentation() ​

ts
getPresentation(): LayerPresentation;

Defined in: layers.ts:365

Returns ​

LayerPresentation

Inherited from ​

DataLayer.getPresentation


setPresentation() ​

ts
setPresentation(presentation): void;

Defined in: layers.ts:369

Parameters ​

presentation ​

Partial<LayerPresentation>

Returns ​

void

Inherited from ​

DataLayer.setPresentation


setVisible() ​

ts
setVisible(visible): void;

Defined in: layers.ts:432

Parameters ​

visible ​

boolean

Returns ​

void

Inherited from ​

DataLayer.setVisible


setOpacity() ​

ts
setOpacity(opacity): void;

Defined in: layers.ts:439

Parameters ​

opacity ​

number

Returns ​

void

Inherited from ​

DataLayer.setOpacity


setBlendMode() ​

ts
setBlendMode(mode): void;

Defined in: layers.ts:447

Parameters ​

mode ​

BlendMode

Returns ​

void

Inherited from ​

DataLayer.setBlendMode


fromConfig() ​

ts
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 ​

Layer

Inherited from ​

DataLayer.fromConfig


getData() ​

ts
getData(): Float32Array<ArrayBufferLike> | null;

Defined in: layers.ts:645

Returns ​

Float32Array<ArrayBufferLike> | null

Inherited from ​

DataLayer.getData


getDataRevision() ​

ts
getDataRevision(): number;

Defined in: layers.ts:649

Returns ​

number

Inherited from ​

DataLayer.getDataRevision


sampleValueAtVertex() ​

ts
sampleValueAtVertex(vertexIndex): number | null;

Defined in: layers.ts:658

Sample the scalar mapped to one surface vertex without exposing private dense or sparse storage. Unmapped, out-of-domain, non-finite, and disposed values return null.

Parameters ​

vertexIndex ​

number

Returns ​

number | null

Inherited from ​

DataLayer.sampleValueAtVertex


getDataSummary() ​

ts
getDataSummary(options?): LayerDataSummary;

Defined in: layers.ts:684

Scalar layers override this without exposing their underlying arrays.

Parameters ​

options? ​

LayerDataSummaryOptions = {}

Returns ​

LayerDataSummary

Inherited from ​

DataLayer.getDataSummary


getRange() ​

ts
getRange(): [number, number];

Defined in: layers.ts:821

Returns ​

[number, number]

Inherited from ​

DataLayer.getRange


getThreshold() ​

ts
getThreshold(): [number, number];

Defined in: layers.ts:825

Returns ​

[number, number]

Inherited from ​

DataLayer.getThreshold


writeThresholdEdgeAttributes() ​

ts
writeThresholdEdgeAttributes(
   vertexCount, 
   colors, 
   edges
): boolean;

Defined in: layers.ts:839

Per-vertex inputs for fragment-level threshold edges.

Writes, for every vertex, the layer colour it would take just outside the masked interval (colors, straight RGBA, alpha = 1 where data exist) and a signed distance to the mask in data units (edges: > 0 outside the mask, shown; < 0 inside or without data, hidden). Interpolating the distance across triangles lets a shader draw the threshold as a smooth isoline instead of a per-vertex staircase. Returns false when no mask is active.

Parameters ​

vertexCount ​

number

colors ​

Float32Array

edges ​

Float32Array

Returns ​

boolean

Inherited from ​

DataLayer.writeThresholdEdgeAttributes


getColorMapName() ​

ts
getColorMapName(): string;

Defined in: layers.ts:873

Returns ​

string

Inherited from ​

DataLayer.getColorMapName


sampleColorMap() ​

ts
sampleColorMap(count?): ColorArray[] | null;

Defined in: layers.ts:891

Colour-key stops: count colours sampled evenly from the low to the high end of getColorKeyRange() with the layer's own colour lookup, ignoring the threshold mask. Returns null without a colormap.

Parameters ​

count? ​

number = 256

Returns ​

ColorArray[] | null

Inherited from ​

DataLayer.sampleColorMap


setMeshAdjacency() ​

Call Signature ​

ts
setMeshAdjacency(geometry): void;

Defined in: layers/StatisticalMapLayer.ts:200

Set mesh adjacency from a SurfaceGeometry or raw face data. Required before calling applyClusterThreshold().

Parameters ​
geometry ​

SurfaceGeometry

Returns ​

void

Call Signature ​

ts
setMeshAdjacency(faces, vertexCount): void;

Defined in: layers/StatisticalMapLayer.ts:201

Set mesh adjacency from a SurfaceGeometry or raw face data. Required before calling applyClusterThreshold().

Parameters ​
faces ​

number[] | Uint32Array<ArrayBufferLike>

vertexCount ​

number

Returns ​

void


applyFDR() ​

ts
applyFDR(q): void;

Defined in: layers/StatisticalMapLayer.ts:227

Apply FDR (Benjamini-Hochberg) correction. Only vertices with p <= BH-threshold will be visible.

Parameters ​

q ​

number

False discovery rate (typically 0.05)

Returns ​

void

Throws ​

If p-values were not provided at construction


applyBonferroni() ​

ts
applyBonferroni(alpha): void;

Defined in: layers/StatisticalMapLayer.ts:248

Apply Bonferroni correction. Only vertices with p <= alpha/V will be visible.

Parameters ​

alpha ​

number

Family-wise error rate (typically 0.05)

Returns ​

void

Throws ​

If p-values were not provided at construction


applyClusterThreshold() ​

ts
applyClusterThreshold(threshold, opts): void;

Defined in: layers/StatisticalMapLayer.ts:275

Apply cluster-based thresholding. Identifies connected components of supra-threshold vertices via BFS, then removes clusters smaller than minClusterSize.

Parameters ​

threshold ​

number

Absolute value threshold for activation

opts ​

Options with minClusterSize

minClusterSize ​

number

Returns ​

void

Throws ​

If mesh adjacency has not been set


clearCorrection() ​

ts
clearCorrection(): void;

Defined in: layers/StatisticalMapLayer.ts:334

Remove all statistical corrections, restoring all supra-threshold vertices.

Returns ​

void


setDualThreshold() ​

ts
setDualThreshold(config): void;

Defined in: layers/StatisticalMapLayer.ts:357

Enable dual-threshold mode with separate positive/negative colormaps.

  • Positive values use positiveColorMap within positiveRange
  • Negative values use negativeColorMap within negativeRange
  • Values between the two ranges (dead zone) are transparent

Parameters ​

config ​

DualThresholdConfig

Returns ​

void


clearDualThreshold() ​

ts
clearDualThreshold(): void;

Defined in: layers/StatisticalMapLayer.ts:393

Disable dual-threshold mode, reverting to single-colormap rendering.

Returns ​

void


getCorrectionMethod() ​

ts
getCorrectionMethod(): CorrectionMethod;

Defined in: layers/StatisticalMapLayer.ts:409

Current correction method: 'none', 'fdr', 'bonferroni', or 'cluster'

Returns ​

CorrectionMethod


getFDRQ() ​

ts
getFDRQ(): number;

Defined in: layers/StatisticalMapLayer.ts:414

Current FDR q-value (0 if FDR not active)

Returns ​

number


getBonferroniAlpha() ​

ts
getBonferroniAlpha(): number;

Defined in: layers/StatisticalMapLayer.ts:419

Current Bonferroni alpha (0 if Bonferroni not active)

Returns ​

number


getClusterMinSize() ​

ts
getClusterMinSize(): number;

Defined in: layers/StatisticalMapLayer.ts:424

Current cluster minimum size (0 if cluster not active)

Returns ​

number


getClusterThreshold() ​

ts
getClusterThreshold(): number;

Defined in: layers/StatisticalMapLayer.ts:429

Current cluster threshold value (0 if cluster not active)

Returns ​

number


getVertexStatInfo() ​

ts
getVertexStatInfo(vertexIndex): VertexStatInfo | null;

Defined in: layers/StatisticalMapLayer.ts:439

Get statistical metadata for a vertex.

Parameters ​

vertexIndex ​

number

The vertex to query

Returns ​

VertexStatInfo | null

Stat info, or null if the vertex index is out of range


setColorMap() ​

ts
setColorMap(colorMap): void;

Defined in: layers/StatisticalMapLayer.ts:481

Parameters ​

colorMap ​

string | ColorMap | Color[]

Returns ​

void

Overrides ​

DataLayer.setColorMap


setRange() ​

ts
setRange(range): void;

Defined in: layers/StatisticalMapLayer.ts:489

Parameters ​

range ​

[number, number]

Returns ​

void

Overrides ​

DataLayer.setRange


setThreshold() ​

ts
setThreshold(threshold): void;

Defined in: layers/StatisticalMapLayer.ts:497

Parameters ​

threshold ​

[number, number]

Returns ​

void

Overrides ​

DataLayer.setThreshold


setData() ​

ts
setData(data, indices?): void;

Defined in: layers/StatisticalMapLayer.ts:505

Parameters ​

data ​

Float32Array<ArrayBufferLike> | number[]

indices? ​

number[] | Uint32Array<ArrayBufferLike> | null

Returns ​

void

Overrides ​

DataLayer.setData


getColorKeyRange() ​

ts
getColorKeyRange(): [number, number];

Defined in: layers/StatisticalMapLayer.ts:524

In dual-threshold mode the key spans both scales, from the low end of the negative range to the high end of the positive range.

Returns ​

[number, number]

Overrides ​

DataLayer.getColorKeyRange


getRGBAData() ​

ts
getRGBAData(vertexCount): Float32Array;

Defined in: layers/StatisticalMapLayer.ts:542

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 ​

DataLayer.getRGBAData


update() ​

ts
update(updates): void;

Defined in: layers/StatisticalMapLayer.ts:614

Update layer data Must be implemented by subclasses

Parameters ​

updates ​

StatisticalMapLayerUpdateData

Returns ​

void

Overrides ​

DataLayer.update


toStateJSON() ​

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

Defined in: layers/StatisticalMapLayer.ts:650

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

Returns ​

Record<string, unknown>

Overrides ​

DataLayer.toStateJSON


dispose() ​

ts
dispose(): void;

Defined in: layers/StatisticalMapLayer.ts:663

Returns ​

void

Overrides ​

DataLayer.dispose

Released under the MIT License.