OdohertySabesNonhuman2017#

class torch_brain.datasets.OdohertySabesNonhuman2017(root=None, recording_ids=None, transform=None, split_type='cursor_velocity', dirname='odoherty_sabes_nonhuman_2017', **kwargs)[source]#

Bases: torch_brain.datasets.mixins.SpikingDatasetMixin, torch_brain.datasets.dataset.Dataset

Motor cortex (M1 and S1) spiking activity and reaching kinematics from 2 monkeys performing random target reaching tasks with right hand.

Preprocessing

To download and prepare this dataset, run

brainsets prepare odoherty_sabes_nonhuman_2017

Tasks: Random Target

Brain Regions: M1, S1

Dataset Statistics

  • Subjects: 2

  • Total Sessions: 47

  • Total Units: 16,566

  • Events: ~105.2M spikes, ~12.4M behavioral timestamps

Links

Reference

O’Doherty, J. E., Cardoso, M. M. B., Makin, J. G., & Sabes, P. N. (2020). Nonhuman Primate Reaching with Multichannel Sensorimotor Cortex Electrophysiology. Zenodo Dataset.

Parameters:
  • root (Optional[str]) – Root directory for the dataset. Defaults to processed_dir from brainsets config.

  • recording_ids (Optional[list[str]]) – List of recording IDs to load.

  • transform (Optional[Callable]) – Data transformation to apply.

  • split_type (Optional[Literal['cursor_velocity']]) – Which split type to use. Defaults to “cursor_velocity”.

  • dirname (str) – Subdirectory for the dataset. Defaults to “odoherty_sabes_nonhuman_2017”.

get_sampling_intervals(split=None)[source]#

Returns a dictionary of sampling intervals for each recording. This represents the intervals that can be sampled from each session.

This dictionary will be used by torch_brain’s Samplers to know where to sample from.

The default method returns intervals containing the entire domain of each recording. This behavior can be overridden by subclasses to give out custom sampling intervals.

Returns:

Dictionary mapping recording IDs to their time domain intervals.

apply_namespace(data, namespace)#

Apply a namespace prefix to specified nested attributes in the data.

This method modifies the data object in-place by prepending the namespace to string attributes or string arrays specified in namespace_attributes.

Can be overridden by subclasses to apply the namespace in a custom way.

Parameters:
  • data (Data) – The Data object to modify.

  • namespace (str) – The namespace prefix to prepend (e.g., “experiment1/”).

Return type:

Data

Returns:

The modified torch_brain.data.Data object (same instance, modified in-place).

compute_average_firing_rates()#

Compute and return the average firing rates for all units in the dataset.

Returns:

DataFrame indexed by unit ID, containing a column ‘firing_rate’ (Hz)

with the average firing rate for each unit in the dataset.

Return type:

pd.DataFrame

get_recording(recording_id, _namespace='')#

Get lazy-loaded torch_brain.data.Data object for a recording.

Parameters:
  • recording_id (str) – The ID of the recording to load (same as from recording_ids()).

  • _namespace (str) – Optional namespace prefix to apply to attributes.

Return type:

Data

Returns:

Lazy torch_brain.data.Data object containing the full recording.

get_recording_hook(data)#

Hook method called after loading a recording in get_recording().

Subclasses can override this method to perform custom processing on recordings after they are loaded but before they are returned.

Parameters:

data (Data) – The Data object that was just loaded.

get_unit_ids()#

Return a sorted list of all unit IDs across all recordings in the dataset.

Return type:

list[str]

property recording_ids: list[str]#

Sorted list of recording IDs in the dataset.