Skip to content

Class: SparseNeuroVol

Defined in: src/sparse/SparseNeuroVol.ts:18

SparseNeuroVol class implements the NeuroVol interface and represents a volumetric dataset where most of the data is the default value (e.g., zero). It uses a Map to store only non-default values to save memory and improve efficiency.

Implements

Constructors

Constructor

ts
new SparseNeuroVol(
   space, 
   dataType?, 
   defaultValue?, 
   indices?, 
   values?): SparseNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:24

Parameters

space

NeuroSpace

dataType?

NumericType = 'float32'

defaultValue?

number = 0

indices?

number[]

values?

number[]

Returns

SparseNeuroVol

Properties

space

ts
readonly space: NeuroSpace;

Defined in: src/sparse/SparseNeuroVol.ts:19

Implementation of

NeuroVol.space

Accessors

length

Get Signature

ts
get length(): number;

Defined in: src/sparse/SparseNeuroVol.ts:49

Returns

number

Implementation of

NeuroVol.length


dim

Get Signature

ts
get dim(): number[];

Defined in: src/sparse/SparseNeuroVol.ts:53

Returns

number[]

Implementation of

NeuroVol.dim


spacing

Get Signature

ts
get spacing(): number[];

Defined in: src/sparse/SparseNeuroVol.ts:57

Returns

number[]

Implementation of

NeuroVol.spacing


origin

Get Signature

ts
get origin(): number[];

Defined in: src/sparse/SparseNeuroVol.ts:61

Returns

number[]

Implementation of

NeuroVol.origin


nonDefaultCount

Get Signature

ts
get nonDefaultCount(): number;

Defined in: src/sparse/SparseNeuroVol.ts:385

Returns

number


sparsityRatio

Get Signature

ts
get sparsityRatio(): number;

Defined in: src/sparse/SparseNeuroVol.ts:389

Returns

number

Methods

getData()

ts
getData(): TypedArray;

Defined in: src/sparse/SparseNeuroVol.ts:65

Returns

TypedArray

Implementation of

NeuroVol.getData


get()

ts
get(index): number;

Defined in: src/sparse/SparseNeuroVol.ts:77

Parameters

index

number

Returns

number

Implementation of

NeuroVol.get


getAt()

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

Defined in: src/sparse/SparseNeuroVol.ts:81

Parameters

i

number

j

number

k

number

Returns

number

Implementation of

NeuroVol.getAt


setAt()

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

Defined in: src/sparse/SparseNeuroVol.ts:86

Parameters

i

number

j

number

k

number

value

number

Returns

void

Implementation of

NeuroVol.setAt


getRange()

ts
getRange(): [number, number];

Defined in: src/sparse/SparseNeuroVol.ts:95

Returns

[number, number]

Implementation of

NeuroVol.getRange


setData()

ts
setData(newData): void;

Defined in: src/sparse/SparseNeuroVol.ts:117

Replace underlying data with a dense buffer. Rebuilds sparse map from non-zero entries.

Parameters

newData

TypedArray

Returns

void

Implementation of

NeuroVol.setData


asLogical()

ts
asLogical(): LogicalNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:151

Convert to a LogicalNeuroVol mask representation. Creates a boolean mask based on non-zero voxels.

Returns

LogicalNeuroVol


getSliceAt()

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

Defined in: src/sparse/SparseNeuroVol.ts:167

Parameters

coord

number[]

outAxes

AxisSet3D

interpolation?

"nearest" | "trilinear"

Returns

NeuroSlice

Implementation of

NeuroVol.getSliceAt


getSlice()

ts
getSlice(zlevel, outAxes): NeuroSlice;

Defined in: src/sparse/SparseNeuroVol.ts:275

Parameters

zlevel

number

outAxes

AxisSet3D

Returns

NeuroSlice

Implementation of

NeuroVol.getSlice


getSliceTypedArrayType()

ts
getSliceTypedArrayType(): NumericType;

Defined in: src/sparse/SparseNeuroVol.ts:348

Returns

NumericType

Implementation of

NeuroVol.getSliceTypedArrayType


getDataConstructor()

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

Defined in: src/sparse/SparseNeuroVol.ts:352

Returns

(length) => TypedArray

Implementation of

NeuroVol.getDataConstructor


fromCoords()

ts
static fromCoords(
   space, 
   coords, 
   values?, 
   dataType?, 
   defaultValue?): SparseNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:421

Creates a SparseNeuroVol from coordinate arrays.

Parameters

space

NeuroSpace

The NeuroSpace defining the coordinate system

coords

number[][]

Array of [i, j, k] voxel coordinates

values?

number[]

Array of values for each coordinate (default: all 1s)

dataType?

NumericType = 'float32'

The numeric data type (default: 'float32')

defaultValue?

number = 0

The default value for non-specified voxels (default: 0)

Returns

SparseNeuroVol

A new SparseNeuroVol instance


fromMask()

ts
static fromMask(
   mask, 
   fillValue?, 
   dataType?): SparseNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:441

Creates a SparseNeuroVol from a LogicalNeuroVol (binary mask).

Parameters

mask

LogicalNeuroVol

The LogicalNeuroVol mask

fillValue?

number = 1

The value to assign to true voxels (default: 1)

dataType?

NumericType = 'float32'

The numeric data type (default: 'float32')

Returns

SparseNeuroVol

A new SparseNeuroVol instance


fromDense()

ts
static fromDense(
   vol, 
   threshold?, 
   dataType?): SparseNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:461

Creates a SparseNeuroVol from a DenseNeuroVol by extracting non-zero values. Useful for converting a dense volume with sparse data to a memory-efficient representation.

Parameters

vol

DenseNeuroVol

The DenseNeuroVol to convert

threshold?

number = 0

Values below this threshold are treated as default (default: 0)

dataType?

NumericType = 'float32'

The numeric data type (default: 'float32')

Returns

SparseNeuroVol

A new SparseNeuroVol instance


fromPoint()

ts
static fromPoint(
   space, 
   coord, 
   value?, 
   dataType?): SparseNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:490

Creates a SparseNeuroVol with a single point. Useful for marking a single voxel location.

Parameters

space

NeuroSpace

The NeuroSpace defining the coordinate system

coord

number[]

The [i, j, k] coordinate of the point

value?

number = 1

The value at the point (default: 1)

dataType?

NumericType = 'float32'

The numeric data type (default: 'float32')

Returns

SparseNeuroVol

A new SparseNeuroVol instance with a single point


fromSphere()

ts
static fromSphere(
   space, 
   center, 
   radius, 
   fillValue?, 
   dataType?): SparseNeuroVol;

Defined in: src/sparse/SparseNeuroVol.ts:510

Creates a SparseNeuroVol representing a spherical region.

Parameters

space

NeuroSpace

The NeuroSpace defining the coordinate system

center

number[]

The center [i, j, k] coordinate

radius

number

The radius in voxel units

fillValue?

number = 1

The value to fill the sphere with (default: 1)

dataType?

NumericType = 'float32'

The numeric data type (default: 'float32')

Returns

SparseNeuroVol

A new SparseNeuroVol instance

Released under the MIT License.