physioex.data.MultiDataset#
- class physioex.data.MultiDataset(datasets, memmap_cache_size=1000)[source]#
Bases:
DatasetWraps multiple BasePhysioDataset instances into a single unified dataset.
Provides ConcatDataset-like flat indexing across all datasets, with: - Unified __getitem__ returning the same dict format as BasePhysioDataset - Cross-dataset split coordination via split(fold) - dataset_idx tracking in the returned dict’s subject metadata - Proportional memmap cache distribution across constituent datasets
- Parameters:
datasets (List[BasePhysioDataset])
memmap_cache_size (int)
- __init__(datasets, memmap_cache_size=1000)[source]#
- Parameters:
datasets (List[BasePhysioDataset])
memmap_cache_size (int)
- Return type:
None
Methods
__init__(datasets[, memmap_cache_size])Return union of available channels across all datasets.
close()Close all memmap caches in constituent datasets.
Return total number of subjects across all datasets.
Return all subject IDs across all datasets.
Return
(dataset_idx, subject_id)pairs for every subject.Aggregate memmap cache statistics across all constituent datasets.
split([fold])Return train/valid/test indices coordinated across all datasets.
Attributes
Return the wrapped dataset list (read-only reference).
- property datasets: List[BasePhysioDataset]#
Return the wrapped dataset list (read-only reference).
- get_subjects()[source]#
Return all subject IDs across all datasets.
Note: IDs are not guaranteed to be unique across datasets. If disambiguation is needed, use
get_subjects_with_dataset_idx.
- split(fold=0)[source]#
Return train/valid/test indices coordinated across all datasets.
Training: flat integer indices into this MultiDataset’s
__getitem__. Valid/Test: list of(dataset_idx, subject_id)tuples, wheredataset_idxis the position of the originating dataset in thedatasetslist passed to the constructor.