Skip to content

Class: BigNeuroVec ​

Defined in: src/vector/BigNeuroVec.ts:287

BigNeuroVec - Memory-mapped neuroimaging vector data.

This class provides efficient handling of large 4D neuroimaging data by using memory-mapped arrays that remain on disk.

Direct translation of Python's BigNeuroVec class.

Implements ​

Constructors ​

Constructor ​

ts
new BigNeuroVec(
   dataOrFilename, 
   spaceOrShape?, 
   options?): BigNeuroVec;

Defined in: src/vector/BigNeuroVec.ts:313

Creates a BigNeuroVec instance.

Can be initialized in two ways:

  1. With data and space (creates a backing file, or keeps the data in memory when storage: 'memory')
  2. With filename and shape (opens or creates file)

volumeSpace is the 3D space of each volume, including its affine. When omitted, it is derived from the time-first space without orientation.

shareData (memory storage only) uses the memory of data directly instead of copying it, so later writes are visible through both. It applies when data already has the storage dtype on a little-endian host.

Parameters ​

dataOrFilename ​

string | TypedArray

spaceOrShape? ​

number[] | NeuroSpace

options? ​
filename? ​

string

mode? ​

string

dtype? ​

string

storage? ​

"file" | "memory"

volumeSpace? ​

NeuroSpace

shareData? ​

boolean

Returns ​

BigNeuroVec

Properties ​

filename ​

ts
readonly filename: string;

Defined in: src/vector/BigNeuroVec.ts:292


mode ​

ts
readonly mode: string;

Defined in: src/vector/BigNeuroVec.ts:293


space ​

ts
readonly space: NeuroSpace;

Defined in: src/vector/BigNeuroVec.ts:294

Implementation of ​

NeuroVec.space


storage ​

ts
readonly storage: "file" | "memory";

Defined in: src/vector/BigNeuroVec.ts:296

'memory' when there is no backing file.

Accessors ​

volumeSpace ​

Get Signature ​

ts
get volumeSpace(): NeuroSpace;

Defined in: src/vector/BigNeuroVec.ts:423

The 3D space of each volume (dims, spacing, origin and affine).

Returns ​

NeuroSpace


data ​

Get Signature ​

ts
get data(): TypedArray;

Defined in: src/vector/BigNeuroVec.ts:430

Returns ​

TypedArray


values ​

Get Signature ​

ts
get values(): TypedArray;

Defined in: src/vector/BigNeuroVec.ts:435

Returns ​

TypedArray


length ​

Get Signature ​

ts
get length(): number;

Defined in: src/vector/BigNeuroVec.ts:439

Returns ​

number

Implementation of ​

NeuroVec.length


dim ​

Get Signature ​

ts
get dim(): number[];

Defined in: src/vector/BigNeuroVec.ts:443

Returns ​

number[]

Implementation of ​

NeuroVec.dim


shape ​

Get Signature ​

ts
get shape(): number[];

Defined in: src/vector/BigNeuroVec.ts:447

Returns ​

number[]


spacing ​

Get Signature ​

ts
get spacing(): number[];

Defined in: src/vector/BigNeuroVec.ts:451

Returns ​

number[]

Implementation of ​

NeuroVec.spacing


origin ​

Get Signature ​

ts
get origin(): number[];

Defined in: src/vector/BigNeuroVec.ts:455

Returns ​

number[]

Implementation of ​

NeuroVec.origin

Methods ​

getVolume() ​

ts
getVolume(t): NeuroVol;

Defined in: src/vector/BigNeuroVec.ts:462

Get volume at time point t

Parameters ​

t ​

number

Returns ​

NeuroVol

Implementation of ​

NeuroVec.getVolume


getSeries() ​

ts
getSeries(
   i, 
   j, 
   k): number[];

Defined in: src/vector/BigNeuroVec.ts:488

Get time series at voxel (i, j, k)

Parameters ​

i ​

number

j ​

number

k ​

number

Returns ​

number[]

Implementation of ​

NeuroVec.getSeries


getData() ​

ts
getData(): TypedArray;

Defined in: src/vector/BigNeuroVec.ts:499

Get all data (loads into memory)

Returns ​

TypedArray

Implementation of ​

NeuroVec.getData


getRange() ​

ts
getRange(): [number, number];

Defined in: src/vector/BigNeuroVec.ts:506

Get data range [min, max]

Returns ​

[number, number]

Implementation of ​

NeuroVec.getRange


getAt() ​

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

Defined in: src/vector/BigNeuroVec.ts:541

Get value at 4D index (interface uses i,j,k,t order)

Parameters ​

i ​

number

j ​

number

k ​

number

t ​

number

Returns ​

number

Implementation of ​

NeuroVec.getAt


setAt() ​

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

Defined in: src/vector/BigNeuroVec.ts:548

Set value at 4D index (interface uses i,j,k,t order)

Parameters ​

i ​

number

j ​

number

k ​

number

t ​

number

value ​

number

Returns ​

void

Implementation of ​

NeuroVec.setAt


series() ​

ts
series(
   x, 
   y?, 
   z?): TypedArray;

Defined in: src/vector/BigNeuroVec.ts:555

Parameters ​

x ​

number | number[][]

y? ​

number

z? ​

number

Returns ​

TypedArray


subVector() ​

ts
subVector(indices): BigNeuroVec;

Defined in: src/vector/BigNeuroVec.ts:585

Parameters ​

indices ​

number | number[]

Returns ​

BigNeuroVec


vols() ​

ts
vols(indices?): NeuroVol[];

Defined in: src/vector/BigNeuroVec.ts:641

Parameters ​

indices? ​

number[]

Returns ​

NeuroVol[]


processChunks() ​

ts
processChunks<T>(
   func, 
   chunkSize?, 
   axis?): T[];

Defined in: src/vector/BigNeuroVec.ts:671

Process data in chunks to avoid loading entire dataset into memory

Type Parameters ​

T ​

T

Parameters ​

func ​

(chunk) => T

chunkSize? ​

number = 100

axis? ​

number = 0

Returns ​

T[]


flush() ​

ts
flush(): void;

Defined in: src/vector/BigNeuroVec.ts:714

Flush memory-mapped data to disk

Returns ​

void


close() ​

ts
close(): void;

Defined in: src/vector/BigNeuroVec.ts:721

Close the memory-mapped file

Returns ​

void


cleanup() ​

ts
cleanup(): void;

Defined in: src/vector/BigNeuroVec.ts:728

Clean up temporary files

Returns ​

void


toString() ​

ts
toString(): string;

Defined in: src/vector/BigNeuroVec.ts:735

Returns a string representation of an object.

Returns ​

string

Released under the MIT License.