Skip to content

Class: CurvatureLayer ​

Defined in: layers/CurvatureLayer.ts:66

Layer that displays mesh curvature as a grayscale underlay.

Values follow the FreeSurfer convention (positive in sulci, negative on gyral crowns) and are mapped to display (sRGB) grey with gyri light: gray = brightness − clamp(curvature / smoothness, −0.5, 0.5) · contrast invert: true flips the ramp (brightness + …), the mapping of earlier releases.

Typical usage:

  • Load FreeSurfer .curv or .sulc, or compute from the folded surface with computeMeanCurvature (crisp folds) or computeSulcalDepth (whole sulci; the usual choice for inflated and flat displays), then normalizeCurvature
  • Display as underlay (order: -2, below base layer) to show sulci/gyri
  • Works on any surface representation (folded, inflated, flat) as long as the values were computed on a folded surface with the same topology

Example ​

typescript
const curvLayer = new CurvatureLayer('curv', curvatureData, {
  brightness: 0.5,
  contrast: 0.5,
  smoothness: 0.3
});
surface.addLayer(curvLayer);

Extends ​

Constructors ​

Constructor ​

ts
new CurvatureLayer(
   id, 
   curvature, 
   config?
): CurvatureLayer;

Defined in: layers/CurvatureLayer.ts:74

Parameters ​

id ​

string

curvature ​

Float32Array<ArrayBufferLike> | number[]

config? ​

CurvatureConfig = {}

Returns ​

CurvatureLayer

Overrides ​

Layer.constructor

Properties ​

id ​

ts
id: string;

Defined in: layers.ts:294

Inherited from ​

Layer.id


visible ​

ts
visible: boolean;

Defined in: layers.ts:295

Inherited from ​

Layer.visible


opacity ​

ts
opacity: number;

Defined in: layers.ts:296

Inherited from ​

Layer.opacity


blendMode ​

ts
blendMode: BlendMode;

Defined in: layers.ts:297

Inherited from ​

Layer.blendMode


needsUpdate ​

ts
needsUpdate: boolean;

Defined in: layers.ts:298

Inherited from ​

Layer.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 ​

Layer._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 ​

ParcelConnectivityLayer.order

Methods ​

getOrderConstraints() ​

ts
getOrderConstraints(): LayerOrderConstraints;

Defined in: layers.ts:361

Returns ​

LayerOrderConstraints

Inherited from ​

Layer.getOrderConstraints


getPresentation() ​

ts
getPresentation(): LayerPresentation;

Defined in: layers.ts:365

Returns ​

LayerPresentation

Inherited from ​

Layer.getPresentation


setPresentation() ​

ts
setPresentation(presentation): void;

Defined in: layers.ts:369

Parameters ​

presentation ​

Partial<LayerPresentation>

Returns ​

void

Inherited from ​

Layer.setPresentation


getDataSummary() ​

ts
getDataSummary(_options?): LayerDataSummary | null;

Defined in: layers.ts:377

Scalar layers override this without exposing their underlying arrays.

Parameters ​

_options? ​

LayerDataSummaryOptions = {}

Returns ​

LayerDataSummary | null

Inherited from ​

Layer.getDataSummary


setVisible() ​

ts
setVisible(visible): void;

Defined in: layers.ts:432

Parameters ​

visible ​

boolean

Returns ​

void

Inherited from ​

Layer.setVisible


setOpacity() ​

ts
setOpacity(opacity): void;

Defined in: layers.ts:439

Parameters ​

opacity ​

number

Returns ​

void

Inherited from ​

Layer.setOpacity


setBlendMode() ​

ts
setBlendMode(mode): void;

Defined in: layers.ts:447

Parameters ​

mode ​

BlendMode

Returns ​

void

Inherited from ​

Layer.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 ​

Layer.fromConfig


setCurvature() ​

ts
setCurvature(curvature): void;

Defined in: layers/CurvatureLayer.ts:110

Set new curvature data

Parameters ​

curvature ​

Float32Array<ArrayBufferLike> | number[]

Returns ​

void


getCurvature() ​

ts
getCurvature(): Float32Array;

Defined in: layers/CurvatureLayer.ts:121

Get current curvature data

Returns ​

Float32Array


setBrightness() ​

ts
setBrightness(brightness): void;

Defined in: layers/CurvatureLayer.ts:128

Set brightness (base gray level)

Parameters ​

brightness ​

number

Returns ​

void


setContrast() ​

ts
setContrast(contrast): void;

Defined in: layers/CurvatureLayer.ts:137

Set contrast (curvature influence on brightness)

Parameters ​

contrast ​

number

Returns ​

void


setSmoothness() ​

ts
setSmoothness(smoothness): void;

Defined in: layers/CurvatureLayer.ts:146

Set smoothness (curvature scaling factor)

Parameters ​

smoothness ​

number

Returns ​

void


setInvert() ​

ts
setInvert(invert): void;

Defined in: layers/CurvatureLayer.ts:158

Reverse the grey ramp (true: positive values lighter).

Parameters ​

invert ​

boolean

Returns ​

void


getDisplayParams() ​

ts
getDisplayParams(): object;

Defined in: layers/CurvatureLayer.ts:167

Get current display parameters

Returns ​

object

brightness ​
ts
brightness: number;
contrast ​
ts
contrast: number;
smoothness ​
ts
smoothness: number;
invert ​
ts
invert: boolean;

getRGBAData() ​

ts
getRGBAData(vertexCount): Float32Array;

Defined in: layers/CurvatureLayer.ts:179

Generate RGBA data for compositing

Parameters ​

vertexCount ​

number

Returns ​

Float32Array

Overrides ​

Layer.getRGBAData


update() ​

ts
update(data): void;

Defined in: layers/CurvatureLayer.ts:214

Update layer properties

Parameters ​

data ​

CurvatureLayerUpdateData

Returns ​

void

Overrides ​

Layer.update


toStateJSON() ​

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

Defined in: layers/CurvatureLayer.ts:255

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

Returns ​

Record<string, unknown>

Overrides ​

Layer.toStateJSON


fromStateJSON() ​

ts
fromStateJSON(state): void;

Defined in: layers/CurvatureLayer.ts:272

Restore display parameters saved by toStateJSON. invert is omitted from saved state at its default, so a missing value means false. Values are validated before any is applied.

Parameters ​

state ​

Record<string, unknown>

Returns ​

void


dispose() ​

ts
dispose(): void;

Defined in: layers/CurvatureLayer.ts:283

Clean up resources

Returns ​

void

Overrides ​

Layer.dispose

Released under the MIT License.