diff --git a/moabb/datasets/thapa2025.py b/moabb/datasets/thapa2025.py index 0d01c7a72..3d55f86f3 100644 --- a/moabb/datasets/thapa2025.py +++ b/moabb/datasets/thapa2025.py @@ -189,7 +189,11 @@ class Thapa2025(BaseDataset): "freewill", ], ), - sessions_per_subject=3, + # Per MOABB convention, the declared count is the minimum (1): sub-02 + # and sub-17 stopped after a single session. The true per-subject + # distribution is {1 session: 2 subjects, 2 sessions: 16 subjects, + # 3 sessions: 5 subjects}, summing to 49 sessions (see docstring). + sessions_per_subject=1, runs_per_session=5, tags=Tags(pathology=["Healthy"], modality=["Motor"], type=["Research"]), paradigm_specific=ParadigmSpecificMetadata( @@ -211,7 +215,9 @@ class Thapa2025(BaseDataset): def __init__(self, subjects=None, sessions=None, *, return_all_modalities=False): super().__init__( subjects=list(range(1, 24)), - sessions_per_subject=3, + # MOABB minimum-sessions convention; actual per-subject count is + # data-borne (see `data_path` and the docstring distribution). + sessions_per_subject=1, events=dict(_EVENTS), code="Thapa2025", interval=[0, 4], diff --git a/moabb/tests/test_large_motor_regression.py b/moabb/tests/test_large_motor_regression.py index 970910130..6e96e2837 100644 --- a/moabb/tests/test_large_motor_regression.py +++ b/moabb/tests/test_large_motor_regression.py @@ -62,6 +62,10 @@ def test_thapa_transport_and_missing_sessions(tmp_path, monkeypatch): monkeypatch.setattr(thapa2025.dl, "get_dataset_path", Mock(return_value=tmp_path)) monkeypatch.setattr(thapa2025.dl, "data_dl", data_dl) dataset = Thapa2025() + # Rule (b): declared sessions_per_subject follows MOABB's minimum + # convention (1), because sub-02 and sub-17 only recorded one session; + # the true per-subject count is data-borne. + assert dataset.n_sessions == 1 paths = dataset.data_path(1, path=str(tmp_path), verbose=False) assert len(paths) == 1 assert paths[0].session == "01"