From 49c5a1bbe6d8be10046f5202e8be6cc23e458edf Mon Sep 17 00:00:00 2001 From: Mainak Jas Date: Tue, 6 Aug 2019 22:35:13 -0400 Subject: [PATCH 1/8] TST for ds001971 --- .circleci/config.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c29ec7554..4bdadd365 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,13 +91,12 @@ jobs: export MNE_BIDS_STUDY_CONFIG=config_ds001810 make sensor - - run: - name: test matchingpennies + name: test ds001971 command: | - export DATASET=eeg_matchingpennies + export DATASET=ds001971 make fetch - export BIDS_ROOT=$DATA_DIR/eeg_matchingpennies - export MNE_BIDS_STUDY_CONFIG=config_matchingpennies + export BIDS_ROOT=$DATA_DIR/ds001971 + export MNE_BIDS_STUDY_CONFIG=config_ds001971 make sensor - run: From 892efd8733972c3c6c2f3bf24f741f89d052a712 Mon Sep 17 00:00:00 2001 From: Mainak Jas Date: Tue, 6 Aug 2019 22:47:27 -0400 Subject: [PATCH 2/8] FIX uniqify events --- 04-make_epochs.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/04-make_epochs.py b/04-make_epochs.py index 6c6edb17d..f49e6d0b4 100644 --- a/04-make_epochs.py +++ b/04-make_epochs.py @@ -10,8 +10,10 @@ To save space, the epoch data can be decimated. """ +import numpy as np import os.path as op import itertools +import warnings import mne from mne.parallel import parallel_func @@ -70,6 +72,12 @@ def run_epochs(subject, session=None): raw = mne.concatenate_raws(raw_list) events, event_id = mne.events_from_annotations(raw) + + if len(np.unique(events[:, 0])) != len(events): + warnings.warn('Events are unique. Uniqifying them') + _, idx = np.unique(events[:, 0], return_index=True) + events = events[idx] + if "eeg" in config.ch_types: raw.set_eeg_reference(projection=True) From b499082aab7756f78b93fa4ee59499ccf5d7e24a Mon Sep 17 00:00:00 2001 From: Mainak Jas Date: Tue, 6 Aug 2019 22:59:30 -0400 Subject: [PATCH 3/8] FIX: more fixes --- 05a-run_ica.py | 8 ++++++++ config.py | 1 - tests/configs/config_ds001971.py | 5 ----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/05a-run_ica.py b/05a-run_ica.py index 3d5e0bcfe..20233b4c4 100644 --- a/05a-run_ica.py +++ b/05a-run_ica.py @@ -11,6 +11,9 @@ import os.path as op import itertools +import warnings + +import numpy as np import mne from mne.report import Report @@ -74,6 +77,11 @@ def run_ica(subject, session=None): events, event_id = mne.events_from_annotations(raw) + if len(np.unique(events[:, 0])) != len(events): + warnings.warn('Events are unique. Uniqifying them') + _, idx = np.unique(events[:, 0], return_index=True) + events = events[idx] + if "eeg" in config.ch_types or config.kind == 'eeg': raw.set_eeg_reference(projection=True) del raw_list diff --git a/config.py b/config.py index 21bd5531a..acfcccfdd 100644 --- a/config.py +++ b/config.py @@ -36,7 +36,6 @@ # If running the scripts from a notebook or spyder # run %matplotlib qt in the command line to get the plots in extra windows -plot = True plot = False # ``crop``: tuple or None diff --git a/tests/configs/config_ds001971.py b/tests/configs/config_ds001971.py index c6bfe9935..cf13dce43 100644 --- a/tests/configs/config_ds001971.py +++ b/tests/configs/config_ds001971.py @@ -14,15 +14,10 @@ study_name = 'ds001971' task = 'AudioCueWalkingStudy' -kind = 'eeg' -plot = False reject = {'eeg': 150e-6} conditions = ['left', 'right'] decoding_conditions = [('left', 'right')] use_ssp = False -use_ica = False - subjects_list = ['001'] - runs = ['01'] From 2893b8e33a7175af130b70a03431d4d1cfef1e12 Mon Sep 17 00:00:00 2001 From: Mainak Jas Date: Wed, 7 Aug 2019 09:40:57 -0400 Subject: [PATCH 4/8] FIX for rebase --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4bdadd365..4c8378e2e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,6 +91,7 @@ jobs: export MNE_BIDS_STUDY_CONFIG=config_ds001810 make sensor + - run: name: test ds001971 command: | export DATASET=ds001971 From d98d1495d81ef5a62cc63ae7a09caf68cffd2b28 Mon Sep 17 00:00:00 2001 From: Stefan Appelhoff Date: Thu, 8 Aug 2019 17:35:49 +0200 Subject: [PATCH 5/8] apparently i dont know how to rebase --- .circleci/config.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4c8378e2e..f54f388b5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,6 +91,15 @@ jobs: export MNE_BIDS_STUDY_CONFIG=config_ds001810 make sensor + - run: + name: test matchingpennies + command: | + export DATASET=eeg_matchingpennies + make fetch + export BIDS_ROOT=$DATA_DIR/eeg_matchingpennies + export MNE_BIDS_STUDY_CONFIG=config_matchingpennies + make sensor + - run: name: test ds001971 command: | From 46852095e7cb6fa4bda949b0073df0af1c04f940 Mon Sep 17 00:00:00 2001 From: Stefan Appelhoff Date: Thu, 8 Aug 2019 17:47:52 +0200 Subject: [PATCH 6/8] make ds001917 work --- 04-make_epochs.py | 2 +- 05a-run_ica.py | 2 +- tests/configs/config_ds001971.py | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/04-make_epochs.py b/04-make_epochs.py index f49e6d0b4..e7e4ce4bd 100644 --- a/04-make_epochs.py +++ b/04-make_epochs.py @@ -74,7 +74,7 @@ def run_epochs(subject, session=None): events, event_id = mne.events_from_annotations(raw) if len(np.unique(events[:, 0])) != len(events): - warnings.warn('Events are unique. Uniqifying them') + warnings.warn('Events are not unique. Uniqifying them') _, idx = np.unique(events[:, 0], return_index=True) events = events[idx] diff --git a/05a-run_ica.py b/05a-run_ica.py index 20233b4c4..190b124c5 100644 --- a/05a-run_ica.py +++ b/05a-run_ica.py @@ -78,7 +78,7 @@ def run_ica(subject, session=None): events, event_id = mne.events_from_annotations(raw) if len(np.unique(events[:, 0])) != len(events): - warnings.warn('Events are unique. Uniqifying them') + warnings.warn('Events are not unique. Uniqifying them') _, idx = np.unique(events[:, 0], return_index=True) events = events[idx] diff --git a/tests/configs/config_ds001971.py b/tests/configs/config_ds001971.py index cf13dce43..6715976b9 100644 --- a/tests/configs/config_ds001971.py +++ b/tests/configs/config_ds001971.py @@ -14,9 +14,10 @@ study_name = 'ds001971' task = 'AudioCueWalkingStudy' -reject = {'eeg': 150e-6} -conditions = ['left', 'right'] -decoding_conditions = [('left', 'right')] +sessions = [None] +reject = {'eeg': 350e-6} +conditions = ['UncuedWalking', 'PreferredCadence', 'AdvanceTempo', 'DelayTempo'] +decoding_conditions = [['AdvanceTempo', 'DelayTempo']] use_ssp = False subjects_list = ['001'] From a4fde6a48a0a0c9ae485509d86e75243dbb3c97e Mon Sep 17 00:00:00 2001 From: Stefan Appelhoff Date: Thu, 8 Aug 2019 18:26:58 +0200 Subject: [PATCH 7/8] address review by @jasmainak --- tests/configs/config_ds001971.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/configs/config_ds001971.py b/tests/configs/config_ds001971.py index 6715976b9..9d0c4d416 100644 --- a/tests/configs/config_ds001971.py +++ b/tests/configs/config_ds001971.py @@ -14,9 +14,9 @@ study_name = 'ds001971' task = 'AudioCueWalkingStudy' -sessions = [None] reject = {'eeg': 350e-6} -conditions = ['UncuedWalking', 'PreferredCadence', 'AdvanceTempo', 'DelayTempo'] +conditions = ['UncuedWalking', 'PreferredCadence', 'AdvanceTempo', + 'DelayTempo'] decoding_conditions = [['AdvanceTempo', 'DelayTempo']] use_ssp = False From dc3e1848c3ed536ae10a6bd45388658c0b27f978 Mon Sep 17 00:00:00 2001 From: Stefan Appelhoff Date: Wed, 21 Aug 2019 17:08:29 +0200 Subject: [PATCH 8/8] try unequal runs Co-authored-by: Mainak Jas --- tests/configs/config_ds001971.py | 4 ++-- tests/download_test_data.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/tests/configs/config_ds001971.py b/tests/configs/config_ds001971.py index 9d0c4d416..e2b3e837f 100644 --- a/tests/configs/config_ds001971.py +++ b/tests/configs/config_ds001971.py @@ -20,5 +20,5 @@ decoding_conditions = [['AdvanceTempo', 'DelayTempo']] use_ssp = False -subjects_list = ['001'] -runs = ['01'] +subjects_list = ['001', '002'] +runs = ['01', '02'] diff --git a/tests/download_test_data.py b/tests/download_test_data.py index e4fb7addc..4009a83d1 100644 --- a/tests/download_test_data.py +++ b/tests/download_test_data.py @@ -52,6 +52,22 @@ def _provide_get_dict(dataset=None): 'sub-001/eeg/sub-001_task-AudioCueWalkingStudy_run-01_electrodes.tsv', # noqa: E501 'sub-001/eeg/sub-001_task-AudioCueWalkingStudy_run-01_coordsystem.json', # noqa: E501 'sub-001/eeg/sub-001_task-AudioCueWalkingStudy_run-01_channels.tsv', # noqa: E501 + + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_events.tsv', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_eeg.set', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_eeg.fdt', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_eeg.json', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_electrodes.tsv', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_coordsystem.json', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-01_channels.tsv', # noqa: E501 + + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_events.tsv', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_eeg.set', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_eeg.fdt', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_eeg.json', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_electrodes.tsv', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_coordsystem.json', # noqa: E501 + 'sub-002/eeg/sub-002_task-AudioCueWalkingStudy_run-02_channels.tsv', # noqa: E501 ], ], } if dataset is None: