eegdash 0.0.9__tar.gz → 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of eegdash might be problematic. Click here for more details.

Files changed (34) hide show
  1. {eegdash-0.0.9/src/eegdash.egg-info → eegdash-0.1.0}/PKG-INFO +22 -18
  2. {eegdash-0.0.9 → eegdash-0.1.0}/README.md +8 -2
  3. eegdash-0.1.0/eegdash/__init__.py +4 -0
  4. eegdash-0.1.0/eegdash/data_config.py +28 -0
  5. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/data_utils.py +164 -118
  6. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/__init__.py +14 -14
  7. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/datasets.py +6 -3
  8. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/decorators.py +4 -4
  9. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/extractors.py +2 -1
  10. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/feature_bank/complexity.py +2 -3
  11. eegdash-0.1.0/eegdash/features/feature_bank/connectivity.py +59 -0
  12. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/feature_bank/csp.py +2 -3
  13. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/feature_bank/dimensionality.py +1 -2
  14. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/feature_bank/spectral.py +10 -28
  15. eegdash-0.1.0/eegdash/features/feature_bank/utils.py +48 -0
  16. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/utils.py +8 -6
  17. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/main.py +189 -132
  18. {eegdash-0.0.9 → eegdash-0.1.0/eegdash.egg-info}/PKG-INFO +22 -18
  19. eegdash-0.1.0/eegdash.egg-info/SOURCES.txt +26 -0
  20. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash.egg-info/requires.txt +10 -12
  21. eegdash-0.1.0/eegdash.egg-info/top_level.txt +1 -0
  22. eegdash-0.1.0/pyproject.toml +68 -0
  23. eegdash-0.0.9/pyproject.toml +0 -41
  24. eegdash-0.0.9/src/eegdash/__init__.py +0 -1
  25. eegdash-0.0.9/src/eegdash/data_config.py +0 -28
  26. eegdash-0.0.9/src/eegdash/features/feature_bank/connectivity.py +0 -99
  27. eegdash-0.0.9/src/eegdash.egg-info/SOURCES.txt +0 -25
  28. eegdash-0.0.9/src/eegdash.egg-info/top_level.txt +0 -2
  29. {eegdash-0.0.9 → eegdash-0.1.0}/LICENSE +0 -0
  30. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/feature_bank/__init__.py +3 -3
  31. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/feature_bank/signal.py +1 -1
  32. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash/features/serialization.py +2 -2
  33. {eegdash-0.0.9/src → eegdash-0.1.0}/eegdash.egg-info/dependency_links.txt +0 -0
  34. {eegdash-0.0.9 → eegdash-0.1.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eegdash
3
- Version: 0.0.9
3
+ Version: 0.1.0
4
4
  Summary: EEG data for machine learning
5
5
  Author-email: Young Truong <dt.young112@gmail.com>, Arnaud Delorme <adelorme@gmail.com>
6
6
  License: GNU General Public License
@@ -24,29 +24,27 @@ License: GNU General Public License
24
24
  along with this program; if not, write to the Free Software
25
25
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1.07 USA
26
26
 
27
- Project-URL: Homepage, https://eegdash.org
28
- Project-URL: Issues, https://github.com/sccn/EEGDash/issues
27
+ Project-URL: Homepage, https://github.com/sccn/EEG-Dash-Data
28
+ Project-URL: Issues, https://github.com/sccn/EEG-Dash-Data/issues
29
29
  Classifier: Programming Language :: Python :: 3
30
30
  Classifier: License :: OSI Approved :: MIT License
31
31
  Classifier: Operating System :: OS Independent
32
- Requires-Python: >=3.8
32
+ Requires-Python: >3.10
33
33
  Description-Content-Type: text/markdown
34
34
  License-File: LICENSE
35
- Requires-Dist: xarray
36
- Requires-Dist: python-dotenv
37
- Requires-Dist: s3fs
38
- Requires-Dist: mne
39
- Requires-Dist: pynwb
40
- Requires-Dist: h5py
41
- Requires-Dist: pymongo
42
- Requires-Dist: joblib
43
35
  Requires-Dist: braindecode
44
- Requires-Dist: mne-bids
36
+ Requires-Dist: mne_bids
37
+ Requires-Dist: numba
38
+ Requires-Dist: numpy
39
+ Requires-Dist: pandas
45
40
  Requires-Dist: pybids
46
- Requires-Dist: pymatreader
47
- Requires-Dist: pyarrow
41
+ Requires-Dist: pymongo
42
+ Requires-Dist: python-dotenv
43
+ Requires-Dist: s3fs
44
+ Requires-Dist: scipy
48
45
  Requires-Dist: tqdm
49
- Requires-Dist: numba
46
+ Requires-Dist: xarray
47
+ Requires-Dist: pre-commit
50
48
  Dynamic: license-file
51
49
 
52
50
  # EEG-Dash
@@ -90,7 +88,10 @@ To use the data from a single subject, enter:
90
88
 
91
89
  ```python
92
90
  from eegdash import EEGDashDataset
93
- ds_NDARDB033FW5 = EEGDashDataset({'dataset': 'ds005514', 'task': 'RestingState', 'subject': 'NDARDB033FW5'})
91
+
92
+ ds_NDARDB033FW5 = EEGDashDataset(
93
+ {"dataset": "ds005514", "task": "RestingState", "subject": "NDARDB033FW5"}
94
+ )
94
95
  ```
95
96
 
96
97
  This will search and download the metadata for the task **RestingState** for subject **NDARDB033FW5** in BIDS dataset **ds005514**. The actual data will not be downloaded at this stage. Following standard practice, data is only downloaded once it is processed. The **ds_NDARDB033FW5** object is a fully functional BrainDecode dataset, which is itself a PyTorch dataset. This [tutorial](https://github.com/sccn/EEGDash/blob/develop/notebooks/tutorial_eoec.ipynb) shows how to preprocess the EEG data, extracting portions of the data containing eyes-open and eyes-closed segments, then perform eyes-open vs. eyes-closed classification using a (shallow) deep-learning model.
@@ -99,7 +100,10 @@ To use the data from multiple subjects, enter:
99
100
 
100
101
  ```python
101
102
  from eegdash import EEGDashDataset
102
- ds_ds005505rest = EEGDashDataset({'dataset': 'ds005505', 'task': 'RestingState'}, target_name='sex')
103
+
104
+ ds_ds005505rest = EEGDashDataset(
105
+ {"dataset": "ds005505", "task": "RestingState"}, target_name="sex"
106
+ )
103
107
  ```
104
108
 
105
109
  This will search and download the metadata for the task 'RestingState' for all subjects in BIDS dataset 'ds005505' (a total of 136). As above, the actual data will not be downloaded at this stage so this command is quick to execute. Also, the target class for each subject is assigned using the target_name parameter. This means that this object is ready to be directly fed to a deep learning model, although the [tutorial script](https://github.com/sccn/EEGDash/blob/develop/notebooks/tutorial_sex_classification.ipynb) performs minimal processing on it, prior to training a deep-learning model. Because 14 gigabytes of data are downloaded, this tutorial takes about 10 minutes to execute.
@@ -39,7 +39,10 @@ To use the data from a single subject, enter:
39
39
 
40
40
  ```python
41
41
  from eegdash import EEGDashDataset
42
- ds_NDARDB033FW5 = EEGDashDataset({'dataset': 'ds005514', 'task': 'RestingState', 'subject': 'NDARDB033FW5'})
42
+
43
+ ds_NDARDB033FW5 = EEGDashDataset(
44
+ {"dataset": "ds005514", "task": "RestingState", "subject": "NDARDB033FW5"}
45
+ )
43
46
  ```
44
47
 
45
48
  This will search and download the metadata for the task **RestingState** for subject **NDARDB033FW5** in BIDS dataset **ds005514**. The actual data will not be downloaded at this stage. Following standard practice, data is only downloaded once it is processed. The **ds_NDARDB033FW5** object is a fully functional BrainDecode dataset, which is itself a PyTorch dataset. This [tutorial](https://github.com/sccn/EEGDash/blob/develop/notebooks/tutorial_eoec.ipynb) shows how to preprocess the EEG data, extracting portions of the data containing eyes-open and eyes-closed segments, then perform eyes-open vs. eyes-closed classification using a (shallow) deep-learning model.
@@ -48,7 +51,10 @@ To use the data from multiple subjects, enter:
48
51
 
49
52
  ```python
50
53
  from eegdash import EEGDashDataset
51
- ds_ds005505rest = EEGDashDataset({'dataset': 'ds005505', 'task': 'RestingState'}, target_name='sex')
54
+
55
+ ds_ds005505rest = EEGDashDataset(
56
+ {"dataset": "ds005505", "task": "RestingState"}, target_name="sex"
57
+ )
52
58
  ```
53
59
 
54
60
  This will search and download the metadata for the task 'RestingState' for all subjects in BIDS dataset 'ds005505' (a total of 136). As above, the actual data will not be downloaded at this stage so this command is quick to execute. Also, the target class for each subject is assigned using the target_name parameter. This means that this object is ready to be directly fed to a deep learning model, although the [tutorial script](https://github.com/sccn/EEGDash/blob/develop/notebooks/tutorial_sex_classification.ipynb) performs minimal processing on it, prior to training a deep-learning model. Because 14 gigabytes of data are downloaded, this tutorial takes about 10 minutes to execute.
@@ -0,0 +1,4 @@
1
+ from .main import EEGDash, EEGDashDataset
2
+
3
+ __all__ = ["EEGDash", "EEGDashDataset"]
4
+ __version__ = "0.1.0"
@@ -0,0 +1,28 @@
1
+ config = {
2
+ "required_fields": ["data_name"],
3
+ "attributes": {
4
+ "data_name": "str",
5
+ "dataset": "str",
6
+ "bidspath": "str",
7
+ "subject": "str",
8
+ "task": "str",
9
+ "session": "str",
10
+ "run": "str",
11
+ "sampling_frequency": "float",
12
+ "modality": "str",
13
+ "nchans": "int",
14
+ "ntimes": "int",
15
+ },
16
+ "description_fields": ["subject", "session", "run", "task", "age", "gender", "sex"],
17
+ "bids_dependencies_files": [
18
+ "dataset_description.json",
19
+ "participants.tsv",
20
+ "events.tsv",
21
+ "events.json",
22
+ "eeg.json",
23
+ "electrodes.tsv",
24
+ "channels.tsv",
25
+ "coordsystem.json",
26
+ ],
27
+ "accepted_query_fields": ["data_name", "dataset"],
28
+ }