Skip to content

Class: CurvatureLayer

Defined in: src/layers/CurvatureLayer.ts:47

Layer that displays mesh curvature as a grayscale underlay.

Curvature values are mapped to grayscale using: gray = clamp(curvature / smoothness, -0.5, 0.5) * contrast + brightness

Typical usage:

  • Load curvature from FreeSurfer .curv file or compute from pial surface
  • Display as underlay (order: -2, below base layer) to show sulci/gyri
  • Works on any surface representation (folded, inflated, flat)

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: src/layers/CurvatureLayer.ts:54

Parameters

id

string

curvature

Float32Array<ArrayBufferLike> | number[]

config?

CurvatureConfig = {}

Returns

CurvatureLayer

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


setCurvature()

ts
setCurvature(curvature): void;

Defined in: src/layers/CurvatureLayer.ts:76

Set new curvature data

Parameters

curvature

Float32Array<ArrayBufferLike> | number[]

Returns

void


getCurvature()

ts
getCurvature(): Float32Array;

Defined in: src/layers/CurvatureLayer.ts:87

Get current curvature data

Returns

Float32Array


setBrightness()

ts
setBrightness(brightness): void;

Defined in: src/layers/CurvatureLayer.ts:94

Set brightness (base gray level)

Parameters

brightness

number

Returns

void


setContrast()

ts
setContrast(contrast): void;

Defined in: src/layers/CurvatureLayer.ts:103

Set contrast (curvature influence on brightness)

Parameters

contrast

number

Returns

void


setSmoothness()

ts
setSmoothness(smoothness): void;

Defined in: src/layers/CurvatureLayer.ts:112

Set smoothness (curvature scaling factor)

Parameters

smoothness

number

Returns

void


getDisplayParams()

ts
getDisplayParams(): object;

Defined in: src/layers/CurvatureLayer.ts:121

Get current display parameters

Returns

object

brightness
ts
brightness: number;
contrast
ts
contrast: number;
smoothness
ts
smoothness: number;

getRGBAData()

ts
getRGBAData(vertexCount): Float32Array;

Defined in: src/layers/CurvatureLayer.ts:132

Generate RGBA data for compositing

Parameters

vertexCount

number

Returns

Float32Array

Overrides

Layer.getRGBAData


update()

ts
update(data): void;

Defined in: src/layers/CurvatureLayer.ts:168

Update layer properties

Parameters

data

CurvatureLayerUpdateData

Returns

void

Overrides

Layer.update


toStateJSON()

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

Defined in: src/layers/CurvatureLayer.ts:192

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/CurvatureLayer.ts:205

Clean up resources

Returns

void

Overrides

Layer.dispose

Released under the MIT License.