eegdash 0.3.3.dev61__py3-none-any.whl → 0.5.0.dev180784713__py3-none-any.whl

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.
Files changed (45) hide show
  1. eegdash/__init__.py +19 -6
  2. eegdash/api.py +336 -539
  3. eegdash/bids_eeg_metadata.py +495 -0
  4. eegdash/const.py +349 -0
  5. eegdash/dataset/__init__.py +28 -0
  6. eegdash/dataset/base.py +311 -0
  7. eegdash/dataset/bids_dataset.py +641 -0
  8. eegdash/dataset/dataset.py +692 -0
  9. eegdash/dataset/dataset_summary.csv +255 -0
  10. eegdash/dataset/registry.py +287 -0
  11. eegdash/downloader.py +197 -0
  12. eegdash/features/__init__.py +15 -13
  13. eegdash/features/datasets.py +329 -138
  14. eegdash/features/decorators.py +105 -13
  15. eegdash/features/extractors.py +233 -63
  16. eegdash/features/feature_bank/__init__.py +12 -12
  17. eegdash/features/feature_bank/complexity.py +22 -20
  18. eegdash/features/feature_bank/connectivity.py +27 -28
  19. eegdash/features/feature_bank/csp.py +3 -1
  20. eegdash/features/feature_bank/dimensionality.py +6 -6
  21. eegdash/features/feature_bank/signal.py +29 -30
  22. eegdash/features/feature_bank/spectral.py +40 -44
  23. eegdash/features/feature_bank/utils.py +8 -0
  24. eegdash/features/inspect.py +126 -15
  25. eegdash/features/serialization.py +58 -17
  26. eegdash/features/utils.py +90 -16
  27. eegdash/hbn/__init__.py +28 -0
  28. eegdash/hbn/preprocessing.py +105 -0
  29. eegdash/hbn/windows.py +428 -0
  30. eegdash/logging.py +54 -0
  31. eegdash/mongodb.py +55 -24
  32. eegdash/paths.py +52 -0
  33. eegdash/utils.py +29 -1
  34. eegdash-0.5.0.dev180784713.dist-info/METADATA +121 -0
  35. eegdash-0.5.0.dev180784713.dist-info/RECORD +38 -0
  36. eegdash-0.5.0.dev180784713.dist-info/licenses/LICENSE +29 -0
  37. eegdash/data_config.py +0 -34
  38. eegdash/data_utils.py +0 -687
  39. eegdash/dataset.py +0 -69
  40. eegdash/preprocessing.py +0 -63
  41. eegdash-0.3.3.dev61.dist-info/METADATA +0 -192
  42. eegdash-0.3.3.dev61.dist-info/RECORD +0 -28
  43. eegdash-0.3.3.dev61.dist-info/licenses/LICENSE +0 -23
  44. {eegdash-0.3.3.dev61.dist-info → eegdash-0.5.0.dev180784713.dist-info}/WHEEL +0 -0
  45. {eegdash-0.3.3.dev61.dist-info → eegdash-0.5.0.dev180784713.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.4
2
+ Name: eegdash
3
+ Version: 0.5.0.dev180784713
4
+ Summary: EEG data for machine learning
5
+ Author-email: Young Truong <dt.young112@gmail.com>, Arnaud Delorme <adelorme@ucsd.edu>, Aviv Dotan <avivdot@bgu.post.ac.il>, Oren Shriki <shrikio@bgu.ac.il>, Bruno Aristimunha <b.aristimunha@gmail.com>
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: Homepage, https://github.com/sccn/EEG-Dash-Data
8
+ Project-URL: Issues, https://github.com/sccn/EEG-Dash-Data/issues
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Topic :: Software Development
14
+ Classifier: Topic :: Scientific/Engineering
15
+ Classifier: Development Status :: 3 - Alpha
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: POSIX
18
+ Classifier: Operating System :: Unix
19
+ Classifier: Operating System :: MacOS
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: braindecode>=1.0
28
+ Requires-Dist: mne_bids>=0.17.0
29
+ Requires-Dist: numba
30
+ Requires-Dist: pymongo
31
+ Requires-Dist: s3fs
32
+ Requires-Dist: tqdm
33
+ Requires-Dist: pymatreader
34
+ Requires-Dist: eeglabio
35
+ Requires-Dist: tabulate
36
+ Requires-Dist: rich
37
+ Requires-Dist: pyarrow
38
+ Provides-Extra: tests
39
+ Requires-Dist: pytest; extra == "tests"
40
+ Requires-Dist: pytest-cov; extra == "tests"
41
+ Requires-Dist: pytest-sugar; extra == "tests"
42
+ Requires-Dist: codecov; extra == "tests"
43
+ Requires-Dist: pytest_cases; extra == "tests"
44
+ Requires-Dist: pytest-benchmark; extra == "tests"
45
+ Provides-Extra: dev
46
+ Requires-Dist: pre-commit; extra == "dev"
47
+ Requires-Dist: ipykernel; extra == "dev"
48
+ Provides-Extra: docs
49
+ Requires-Dist: sphinx; extra == "docs"
50
+ Requires-Dist: sphinx_design; extra == "docs"
51
+ Requires-Dist: sphinx_gallery; extra == "docs"
52
+ Requires-Dist: sphinx_rtd_theme; extra == "docs"
53
+ Requires-Dist: pydata-sphinx-theme; extra == "docs"
54
+ Requires-Dist: sphinx-autobuild; extra == "docs"
55
+ Requires-Dist: sphinx-copybutton; extra == "docs"
56
+ Requires-Dist: sphinx-sitemap; extra == "docs"
57
+ Requires-Dist: numpydoc; extra == "docs"
58
+ Requires-Dist: memory_profiler; extra == "docs"
59
+ Requires-Dist: ipython; extra == "docs"
60
+ Requires-Dist: lightgbm; extra == "docs"
61
+ Requires-Dist: plotly; extra == "docs"
62
+ Requires-Dist: nbformat; extra == "docs"
63
+ Requires-Dist: graphviz; extra == "docs"
64
+ Requires-Dist: neato; extra == "docs"
65
+ Provides-Extra: digestion
66
+ Requires-Dist: pybids; extra == "digestion"
67
+ Requires-Dist: gql[requests]; extra == "digestion"
68
+ Requires-Dist: requests_toolbelt; extra == "digestion"
69
+ Requires-Dist: beautifulsoup4; extra == "digestion"
70
+ Provides-Extra: all
71
+ Requires-Dist: eegdash[docs]; extra == "all"
72
+ Requires-Dist: eegdash[dev]; extra == "all"
73
+ Requires-Dist: eegdash[tests]; extra == "all"
74
+ Requires-Dist: eegdash[digestion]; extra == "all"
75
+ Dynamic: license-file
76
+
77
+ # EEG-Dash
78
+
79
+ [![PyPI version](https://img.shields.io/pypi/v/eegdash)](https://pypi.org/project/eegdash/)
80
+ [![Docs](https://img.shields.io/badge/docs-stable-brightgreen.svg)](https://sccn.github.io/eegdash)
81
+
82
+ [![License: BSD-3-Clause](https://img.shields.io/badge/License-BSD--3--Clause-blue.svg)](LICENSE)
83
+ [![Python versions](https://img.shields.io/pypi/pyversions/eegdash.svg)](https://pypi.org/project/eegdash/)
84
+ [![Downloads](https://pepy.tech/badge/eegdash)](https://pepy.tech/project/eegdash)
85
+ <!-- [![Coverage](https://img.shields.io/codecov/c/github/eegdash/eegdash)](https://codecov.io/gh/eegdash/eegdash) -->
86
+
87
+ To leverage recent and ongoing advancements in large-scale computational methods and to ensure the preservation of scientific data generated from publicly funded research, the EEG-DaSh data archive will create a data-sharing resource for MEEG (EEG, MEG) data contributed by collaborators for machine learning (ML) and deep learning (DL) applications.
88
+
89
+ ## Data source
90
+
91
+ The data in EEG-DaSh originates from a collaboration involving 25 laboratories, encompassing 27,053 participants. This extensive collection includes MEEG data, which is a combination of EEG and MEG signals. The data is sourced from various studies conducted by these labs, involving both healthy subjects and clinical populations with conditions such as ADHD, depression, schizophrenia, dementia, autism, and psychosis. Additionally, data spans different mental states like sleep, meditation, and cognitive tasks. In addition, EEG-DaSh will incorporate a subset of the data converted from NEMAR, which includes 330 MEEG BIDS-formatted datasets, further expanding the archive with well-curated, standardized neuroelectromagnetic data.
92
+
93
+ ## Data format
94
+
95
+ EEGDash queries return a **Pytorch Dataset** formatted to facilitate machine learning (ML) and deep learning (DL) applications. PyTorch Datasets are the best format for EEGDash queries because they provide an efficient, scalable, and flexible structure for machine learning (ML) and deep learning (DL) applications. They allow seamless integration with PyTorch’s DataLoader, enabling efficient batching, shuffling, and parallel data loading, which is essential for training deep learning models on large EEG datasets.
96
+
97
+ ## Data preprocessing
98
+
99
+ EEGDash datasets are processed using the popular [braindecode](https://braindecode.org/stable/index.html) library. In fact, EEGDash datasets are braindecode datasets, which are themselves PyTorch datasets. This means that any preprocessing possible on braindecode datasets is also possible on EEGDash datasets. Refer to [braindecode](https://braindecode.org/stable/index.html) tutorials for guidance on preprocessing EEG data.
100
+
101
+ ## EEG-Dash usage
102
+
103
+ ### Install
104
+ Use your preferred Python environment manager with Python > 3.10 to install the package.
105
+ * To install the eegdash package, use the following command: `pip install eegdash`
106
+ * To verify the installation, start a Python session and type: `from eegdash import EEGDash`
107
+
108
+ Please check our tutorial webpages to explore what you can do with [eegdash](https://eegdash.org/)!
109
+
110
+ ## Education -- Coming soon...
111
+
112
+ We organize workshops and educational events to foster cross-cultural education and student training, offering both online and in-person opportunities in collaboration with US and Israeli partners. Events for 2025 will be announced via the EEGLABNEWS mailing list. Be sure to [subscribe](https://sccn.ucsd.edu/mailman/listinfo/eeglabnews).
113
+
114
+ ## About EEG-DaSh
115
+
116
+ EEG-DaSh is a collaborative initiative between the United States and Israel, supported by the National Science Foundation (NSF). The partnership brings together experts from the Swartz Center for Computational Neuroscience (SCCN) at the University of California San Diego (UCSD) and Ben-Gurion University (BGU) in Israel.
117
+
118
+ ![Screenshot 2024-10-03 at 09 14 06](https://github.com/user-attachments/assets/327639d3-c3b4-46b1-9335-37803209b0d3)
119
+
120
+
121
+
@@ -0,0 +1,38 @@
1
+ eegdash/__init__.py,sha256=XIfT0jQ7YupLYXzSnpUCgpXdvzfKDjQ4BH7WFWTqNKc,696
2
+ eegdash/api.py,sha256=3ym00j1UGd0jANqe2XkSiPpzgaqwy5nTM4gVkMYIuBI,18218
3
+ eegdash/bids_eeg_metadata.py,sha256=8s6cWT9CDfx8IINmWapqY3HUce3M6IX_ulcxpuPaOV4,16668
4
+ eegdash/const.py,sha256=N5uANk96QOHsgP6e3LExtth3CZsXaS9Vhbz0P9Ynm94,9052
5
+ eegdash/downloader.py,sha256=05eoM-ESpxVWLEN1rWZOjE60kXIWXIvjtz724gUEks0,6016
6
+ eegdash/logging.py,sha256=HMyvuF5CFF4q1RJQvpFvW9aTUGUwb9wHdInxu9JIHfA,1453
7
+ eegdash/mongodb.py,sha256=RWCWfyGQL6-6umInTA_mWHKaZujz5QDeS4FG6wvOpq8,3455
8
+ eegdash/paths.py,sha256=w08sWTXMdXmXV4V9mB2vWymLybayviM3eEuMRKb4piY,1493
9
+ eegdash/utils.py,sha256=S7YXsH4biQ7HOR03l6TP1H-AAnNVmVlTDwng6r3p5Xs,1268
10
+ eegdash/dataset/__init__.py,sha256=EXmCtcIWz2_iq7-04AzOPmOxfv1hvUGnrSRgu_Je800,975
11
+ eegdash/dataset/base.py,sha256=52n9YEYuXxWpDZT54qf-gXzVkjpdHsceABR_cEvLJl0,11709
12
+ eegdash/dataset/bids_dataset.py,sha256=ZnU3rIRHNB8G0WBmr7VKXn4Q54oTiGT1qzvl8zC__80,22223
13
+ eegdash/dataset/dataset.py,sha256=-PZL1E6RUMm-aIbl9ihu50BhvEwDDmRF0Aeb1hz_5b4,27596
14
+ eegdash/dataset/dataset_summary.csv,sha256=YJX-BitOyo-5nsHBd3ECIY1u7lFBjMQAFfCUPLYEgpo,25289
15
+ eegdash/dataset/registry.py,sha256=5TOCWalA0RV7omRoYS0OzdcSaOTvXvqos74_Vj2jv0M,9127
16
+ eegdash/features/__init__.py,sha256=q_3AzqDyn4hrMMxoqGMBylcoQWj_5hqTT8QZ5hitcGU,4180
17
+ eegdash/features/datasets.py,sha256=79Xey6SouPHMKybF78madVl5i7P0f03jnostBV6Dr7M,24880
18
+ eegdash/features/decorators.py,sha256=eKAkTmKdi-0eQQhznIj1Q6oQHZpeQdmLOAbFwu8t0Mo,4040
19
+ eegdash/features/extractors.py,sha256=pjP2IRkBKrg_111XmXd6YHN15NmdVWASEHHsXeI3CLc,12286
20
+ eegdash/features/inspect.py,sha256=DTiCihpkVpoG1bXclSA4dRMZFz1tXO--aRRh9TzrICE,5040
21
+ eegdash/features/serialization.py,sha256=f981K8DcfaLZ0q98IBrXeAbMHnPmKBbp7cFiXZnjezw,4194
22
+ eegdash/features/utils.py,sha256=SuvPE6N_ccm-Ar4g-1dgVj1qaW2bV9hNQivtz946hlY,6487
23
+ eegdash/features/feature_bank/__init__.py,sha256=jHATIeSWbGY9myaEjociG_JyuWueeOT2v0pTzN8sV9Y,3021
24
+ eegdash/features/feature_bank/complexity.py,sha256=W7spJCN8ZlWXyNJeJrBj4faEWXSI6pZU-NQKPVAW0PE,3281
25
+ eegdash/features/feature_bank/connectivity.py,sha256=BqreMOuHrYdRYJ-wg2NcyM29mugwlzLM9_HTSgcFfE0,2161
26
+ eegdash/features/feature_bank/csp.py,sha256=RBNfnkpIRaLoijICFNA3bbb8qUAF3ym4AsB0ODof0n0,3405
27
+ eegdash/features/feature_bank/dimensionality.py,sha256=vTSh_lSWGKM4C4dkf2Myvg0JyXJcO6Xkfw1IijO-FhM,3995
28
+ eegdash/features/feature_bank/signal.py,sha256=BnpJrAf-OT8UAM7Xkzuo-ZfEFz3Qf1ncGwMj02HbhvQ,3365
29
+ eegdash/features/feature_bank/spectral.py,sha256=NrQcsQOHqzOiyTi_ZctpCF2-VNluvrr-soPtc0dHrco,3126
30
+ eegdash/features/feature_bank/utils.py,sha256=zCdkfDMLWJhPjBqb5Xz0jLKg8gm3qQDY1G1rZTLuCaM,1354
31
+ eegdash/hbn/__init__.py,sha256=14PHuYa2A2jHwsQ96UjDXbSU5kXfcTbyKrcnO-wRtxM,780
32
+ eegdash/hbn/preprocessing.py,sha256=psB1KY_6XKWpmUh2_S127_9vi0zujpK3LDyOD7qZ0S0,3786
33
+ eegdash/hbn/windows.py,sha256=uZ22961nX6kD441137Vl1uZVd2DkVdb6ajtqIjk2084,14394
34
+ eegdash-0.5.0.dev180784713.dist-info/licenses/LICENSE,sha256=KTCi0XpjBV4oLW1Gun_VhkllNBAIodRYy3oqwcRaLbs,1533
35
+ eegdash-0.5.0.dev180784713.dist-info/METADATA,sha256=pZR8WmwjIxfeg-dBjR7icVn4EVpj6skgsTooQEbeKk0,7017
36
+ eegdash-0.5.0.dev180784713.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
+ eegdash-0.5.0.dev180784713.dist-info/top_level.txt,sha256=zavO69HQ6MyZM0aQMR2zUS6TAFc7bnN5GEpDpOpFZzU,8
38
+ eegdash-0.5.0.dev180784713.dist-info/RECORD,,
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2024-2025, EEGDash contributors
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
eegdash/data_config.py DELETED
@@ -1,34 +0,0 @@
1
- config = {
2
- "required_fields": ["data_name"],
3
- # Default set of user-facing primary record attributes expected in the database. Records
4
- # where any of these are missing will be loaded with the respective attribute set to None.
5
- # Additional fields may be returned if they are present in the database, notably bidsdependencies.
6
- "attributes": {
7
- "data_name": "str",
8
- "dataset": "str",
9
- "bidspath": "str",
10
- "subject": "str",
11
- "task": "str",
12
- "session": "str",
13
- "run": "str",
14
- "sampling_frequency": "float",
15
- "modality": "str",
16
- "nchans": "int",
17
- "ntimes": "int", # note: this is really the number of seconds in the data, rounded down
18
- },
19
- # queryable descriptive fields for a given recording
20
- "description_fields": ["subject", "session", "run", "task", "age", "gender", "sex"],
21
- # list of filenames that may be present in the BIDS dataset directory that are used
22
- # to load and interpret a given BIDS recording.
23
- "bids_dependencies_files": [
24
- "dataset_description.json",
25
- "participants.tsv",
26
- "events.tsv",
27
- "events.json",
28
- "eeg.json",
29
- "electrodes.tsv",
30
- "channels.tsv",
31
- "coordsystem.json",
32
- ],
33
- "accepted_query_fields": ["data_name", "dataset"],
34
- }