Datasets#

brainmass.datasets is an extensible registry of small, bundled example datasets, so the tutorials and the gallery run with no external download. Every built-in entry is either a tiny, license-clean, deterministic file shipped under brainmass/_data/ or a fully synthetic generator. Registering a new dataset is a single register_dataset() call.

Registry API#

register_dataset(name, loader, *[, description])

Register a named dataset loader.

list_datasets()

List the registered datasets.

load_dataset(name)

Load a registered dataset by name.

Typed containers#

Connectome(weights, distances, labels)

A small structural-connectivity bundle.

Signal(signal, dt, labels, fc)

A short multi-region target time series and its functional connectivity.

Synthetic task generator#

delayed_match_task([n_samples, seq_len, ...])

Generate a synthetic delayed-match-to-sample task.

Built-in datasets#

Name

Returns

Description

example_connectome

Connectome

A small (N=8) synthetic structural connectome: symmetric, zero-diagonal weights in [0, 1] and unit-aware Euclidean distances (in brainunit.mm).

example_signal

Signal

A short multi-region target time series (with its functional connectivity and sampling dt in brainunit.ms) for the fitting tutorials.

delayed_match_task

(inputs, targets)

A synthetic delayed-match-to-sample task for the HORN training tutorial (no bundled binary; deterministic given a seed).

Examples#

Load the bundled connectome and signal:

>>> import brainmass
>>> conn = brainmass.datasets.load_dataset('example_connectome')
>>> conn.weights.shape
(8, 8)
>>> print(conn.distances.unit)
mm
>>> sig = brainmass.datasets.load_dataset('example_signal')
>>> sig.signal.shape
(500, 8)

Generate a synthetic task and register a new dataset:

>>> inputs, targets = brainmass.datasets.delayed_match_task(n_samples=16, seq_len=8)
>>> inputs.shape
(16, 8, 4)
>>> brainmass.datasets.register_dataset('my_data', lambda: 42, description='demo')
>>> brainmass.datasets.load_dataset('my_data')
42
>>> _ = brainmass.datasets._REGISTRY.pop('my_data')

See Also#