Skip to content

Class: ClusteredNeuroVol

Defined in: src/volume/ClusteredNeuroVol.ts:39

ClusteredNeuroVol represents clustered volumetric neuroimaging data.

This class stores cluster assignments for voxels within a mask, where each voxel in the mask is assigned a cluster ID. It provides methods to work with clusters, extract cluster-specific data, and convert between representations.

Direct translation of Python's ClusteredNeuroVol class.

Implements

Constructors

Constructor

ts
new ClusteredNeuroVol(
   mask, 
   clusters, 
   labelMap?): ClusteredNeuroVol;

Defined in: src/volume/ClusteredNeuroVol.ts:54

Creates a ClusteredNeuroVol instance.

Parameters

mask

LogicalNeuroVol

A LogicalNeuroVol representing the spatial domain of the clusters

clusters

number[] | Int32Array<ArrayBufferLike>

An array of cluster labels for each voxel in the mask

labelMap?

LabelMap = {}

Optional mapping from cluster names to cluster IDs

Returns

ClusteredNeuroVol

Properties

space

ts
readonly space: NeuroSpace;

Defined in: src/volume/ClusteredNeuroVol.ts:40

Implementation of

NeuroVol.space


mask

ts
readonly mask: LogicalNeuroVol;

Defined in: src/volume/ClusteredNeuroVol.ts:41


clusters

ts
readonly clusters: Int32Array;

Defined in: src/volume/ClusteredNeuroVol.ts:42


labelMap

ts
readonly labelMap: LabelMap;

Defined in: src/volume/ClusteredNeuroVol.ts:43

Accessors

length

Get Signature

ts
get length(): number;

Defined in: src/volume/ClusteredNeuroVol.ts:100

Returns

number

Implementation of

NeuroVol.length


dim

Get Signature

ts
get dim(): number[];

Defined in: src/volume/ClusteredNeuroVol.ts:104

Returns

number[]

Implementation of

NeuroVol.dim


spacing

Get Signature

ts
get spacing(): number[];

Defined in: src/volume/ClusteredNeuroVol.ts:108

Returns

number[]

Implementation of

NeuroVol.spacing


origin

Get Signature

ts
get origin(): number[];

Defined in: src/volume/ClusteredNeuroVol.ts:112

Returns

number[]

Implementation of

NeuroVol.origin

Methods

get()

ts
get(index): number;

Defined in: src/volume/ClusteredNeuroVol.ts:120

Get value at a linear index. Returns the cluster ID if the voxel is in the mask, 0 otherwise.

Parameters

index

number

Returns

number

Implementation of

NeuroVol.get


getAt()

ts
getAt(
   i, 
   j, 
   k): number;

Defined in: src/volume/ClusteredNeuroVol.ts:130

Get value at specific coordinates. Returns the cluster ID if the voxel is in the mask, 0 otherwise.

Parameters

i

number

j

number

k

number

Returns

number

Implementation of

NeuroVol.getAt


setAt()

ts
setAt(
   i, 
   j, 
   k, 
   value): void;

Defined in: src/volume/ClusteredNeuroVol.ts:138

Setting values is not supported for ClusteredNeuroVol.

Parameters

i

number

j

number

k

number

value

number

Returns

void

Implementation of

NeuroVol.setAt


getData()

ts
getData(): Int32Array;

Defined in: src/volume/ClusteredNeuroVol.ts:146

Get the underlying data as a dense array. Returns a volume where masked voxels have their cluster IDs and others are 0.

Returns

Int32Array

Implementation of

NeuroVol.getData


getRange()

ts
getRange(): [number, number];

Defined in: src/volume/ClusteredNeuroVol.ts:160

Get the range of cluster IDs.

Returns

[number, number]

Implementation of

NeuroVol.getRange


setData()

ts
setData(_newData): void;

Defined in: src/volume/ClusteredNeuroVol.ts:180

Replace data is not supported for clustered sparse volumes. Provided to satisfy NeuroVol; throws to indicate misuse.

Parameters

_newData

TypedArray

Returns

void

Implementation of

NeuroVol.setData


getLabelMap()

ts
getLabelMap(): LabelMap;

Defined in: src/volume/ClusteredNeuroVol.ts:187

Get the label map.

Returns

LabelMap


getClusterInfo()

ts
getClusterInfo(idOrLabel): ClusterInfo | undefined;

Defined in: src/volume/ClusteredNeuroVol.ts:194

Get cluster information by ID or label.

Parameters

idOrLabel

string | number

Returns

ClusterInfo | undefined


getClusterMask()

ts
getClusterMask(idOrLabel): LogicalNeuroVol;

Defined in: src/volume/ClusteredNeuroVol.ts:239

Get a binary mask for a specific cluster.

Parameters

idOrLabel

string | number

Returns

LogicalNeuroVol


getClusterData()

ts
getClusterData(data, idOrLabel): Float32Array;

Defined in: src/volume/ClusteredNeuroVol.ts:251

Extract data for a specific cluster from another volume.

Parameters

data

NeuroVol

idOrLabel

string | number

Returns

Float32Array


getClusterId()

ts
getClusterId(coord): number | undefined;

Defined in: src/volume/ClusteredNeuroVol.ts:273

Get cluster ID for a voxel at a specific coordinate. This is a convenience method for compatibility.

Parameters

coord

number[]

Returns

number | undefined


getClusterLabel()

ts
getClusterLabel(coord): string | undefined;

Defined in: src/volume/ClusteredNeuroVol.ts:292

Get cluster label for a voxel at a specific coordinate. This is a convenience method for compatibility.

Parameters

coord

number[]

Returns

string | undefined


getClusterCoords()

ts
getClusterCoords(idOrLabel): number[][];

Defined in: src/volume/ClusteredNeuroVol.ts:304

Get all coordinates for a specific cluster. This is a convenience method for compatibility.

Parameters

idOrLabel

string | number

Returns

number[][]


numClusters()

ts
numClusters(): number;

Defined in: src/volume/ClusteredNeuroVol.ts:316

Get the number of unique clusters.

Returns

number


clusterSizes()

ts
clusterSizes(): Map<number, number>;

Defined in: src/volume/ClusteredNeuroVol.ts:323

Get sizes of all clusters.

Returns

Map<number, number>


clusterCenters()

ts
clusterCenters(): Map<number, number[]>;

Defined in: src/volume/ClusteredNeuroVol.ts:334

Get centers of all clusters.

Returns

Map<number, number[]>


asSparse()

ts
asSparse(): SparseNeuroVol;

Defined in: src/volume/ClusteredNeuroVol.ts:350

Convert to SparseNeuroVol.

Returns

SparseNeuroVol


asDense()

ts
asDense(): DenseNeuroVol;

Defined in: src/volume/ClusteredNeuroVol.ts:364

Convert to DenseNeuroVol.

Returns

DenseNeuroVol


asLogical()

ts
asLogical(): LogicalNeuroVol;

Defined in: src/volume/ClusteredNeuroVol.ts:372

Convert to LogicalNeuroVol (returns the mask).

Returns

LogicalNeuroVol


getSlice()

ts
getSlice(zlevel, outAxes): NeuroSlice;

Defined in: src/volume/ClusteredNeuroVol.ts:379

Get slice - delegates to dense representation.

Parameters

zlevel

number

outAxes

AxisSet3D

Returns

NeuroSlice

Implementation of

NeuroVol.getSlice


getSliceAt()

ts
getSliceAt(
   coord, 
   outAxes, 
   interpolation): NeuroSlice;

Defined in: src/volume/ClusteredNeuroVol.ts:386

Get slice at coordinates - delegates to dense representation.

Parameters

coord

number[]

outAxes

AxisSet3D

interpolation

"nearest" | "trilinear"

Returns

NeuroSlice

Implementation of

NeuroVol.getSliceAt


getSliceTypedArrayType()

ts
getSliceTypedArrayType(): NumericType;

Defined in: src/volume/ClusteredNeuroVol.ts:390

Returns

NumericType

Implementation of

NeuroVol.getSliceTypedArrayType


getDataConstructor()

ts
getDataConstructor(): (length) => Int32Array;

Defined in: src/volume/ClusteredNeuroVol.ts:394

Returns

(length) => Int32Array

Implementation of

NeuroVol.getDataConstructor


toString()

ts
toString(): string;

Defined in: src/volume/ClusteredNeuroVol.ts:432

String representation of the volume.

Returns

string

Released under the MIT License.