eegdash 0.3.9.dev182388821__tar.gz → 0.4.0.dev144__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.
- {eegdash-0.3.9.dev182388821/eegdash.egg-info → eegdash-0.4.0.dev144}/PKG-INFO +6 -56
- eegdash-0.4.0.dev144/README.md +45 -0
- eegdash-0.4.0.dev144/docs/Makefile +69 -0
- eegdash-0.4.0.dev144/docs/source/api/api.rst +37 -0
- eegdash-0.4.0.dev144/docs/source/api/api_core.rst +18 -0
- eegdash-0.4.0.dev144/docs/source/api/api_features.rst +16 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/conf.py +10 -12
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/dataset_summary.rst +2 -2
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/index.rst +3 -3
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/install/install.rst +1 -1
- eegdash-0.4.0.dev144/eegdash/__init__.py +21 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/api.py +128 -155
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/bids_eeg_metadata.py +160 -27
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/const.py +18 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/data_utils.py +74 -254
- eegdash-0.4.0.dev144/eegdash/dataset/__init__.py +22 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/dataset/dataset.py +27 -21
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/dataset/dataset_summary.csv +0 -1
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/dataset/registry.py +96 -9
- eegdash-0.4.0.dev144/eegdash/downloader.py +187 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/datasets.py +4 -3
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/serialization.py +8 -4
- eegdash-0.4.0.dev144/eegdash/hbn/__init__.py +28 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/hbn/preprocessing.py +11 -2
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/hbn/windows.py +12 -2
- eegdash-0.4.0.dev144/eegdash/logging.py +33 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/mongodb.py +11 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/paths.py +11 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/utils.py +10 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144/eegdash.egg-info}/PKG-INFO +6 -56
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash.egg-info/SOURCES.txt +7 -1
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash.egg-info/requires.txt +3 -1
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/pyproject.toml +3 -1
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_api.py +28 -1
- eegdash-0.4.0.dev144/tests/test_bids_dependencies.py +67 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_cache_folder_suffix.py +10 -10
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_challenge_kwargs.py +12 -10
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_correctness.py +6 -18
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_dataset.py +16 -59
- eegdash-0.4.0.dev144/tests/test_downloader.py +132 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_init.py +2 -5
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_minirelease.py +11 -27
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_offline.py +4 -13
- eegdash-0.3.9.dev182388821/README.md +0 -97
- eegdash-0.3.9.dev182388821/docs/Makefile +0 -31
- eegdash-0.3.9.dev182388821/eegdash/__init__.py +0 -10
- eegdash-0.3.9.dev182388821/eegdash/dataset/__init__.py +0 -4
- eegdash-0.3.9.dev182388821/eegdash/hbn/__init__.py +0 -17
- eegdash-0.3.9.dev182388821/tests/test_functional.py +0 -28
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/LICENSE +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/MANIFEST.in +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/install/install_pip.rst +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/install/install_source.rst +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/docs/source/overview.rst +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/__init__.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/decorators.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/extractors.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/__init__.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/complexity.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/connectivity.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/csp.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/dimensionality.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/signal.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/spectral.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/feature_bank/utils.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/inspect.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash/features/utils.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash.egg-info/dependency_links.txt +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/eegdash.egg-info/top_level.txt +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/setup.cfg +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_dataset_registration.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_eegdash.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_mongo_connection.py +0 -0
- {eegdash-0.3.9.dev182388821 → eegdash-0.4.0.dev144}/tests/test_query.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eegdash
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0.dev144
|
|
4
4
|
Summary: EEG data for machine learning
|
|
5
5
|
Author-email: Young Truong <dt.young112@gmail.com>, Arnaud Delorme <adelorme@gmail.com>, Aviv Dotan <avivd220@gmail.com>, Oren Shriki <oren70@gmail.com>, Bruno Aristimunha <b.aristimunha@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-only
|
|
@@ -25,7 +25,7 @@ Requires-Python: >=3.10
|
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
26
26
|
License-File: LICENSE
|
|
27
27
|
Requires-Dist: braindecode>=1.0
|
|
28
|
-
Requires-Dist: mne_bids>=0.
|
|
28
|
+
Requires-Dist: mne_bids>=0.17.0
|
|
29
29
|
Requires-Dist: numba
|
|
30
30
|
Requires-Dist: numpy
|
|
31
31
|
Requires-Dist: pandas
|
|
@@ -41,6 +41,7 @@ Requires-Dist: pymatreader
|
|
|
41
41
|
Requires-Dist: eeglabio
|
|
42
42
|
Requires-Dist: tabulate
|
|
43
43
|
Requires-Dist: docstring_inheritance
|
|
44
|
+
Requires-Dist: rich
|
|
44
45
|
Provides-Extra: tests
|
|
45
46
|
Requires-Dist: pytest; extra == "tests"
|
|
46
47
|
Requires-Dist: pytest-cov; extra == "tests"
|
|
@@ -64,6 +65,7 @@ Requires-Dist: ipython; extra == "docs"
|
|
|
64
65
|
Requires-Dist: lightgbm; extra == "docs"
|
|
65
66
|
Requires-Dist: plotly; extra == "docs"
|
|
66
67
|
Requires-Dist: nbformat; extra == "docs"
|
|
68
|
+
Requires-Dist: graphviz; extra == "docs"
|
|
67
69
|
Provides-Extra: all
|
|
68
70
|
Requires-Dist: eegdash[docs]; extra == "all"
|
|
69
71
|
Requires-Dist: eegdash[dev]; extra == "all"
|
|
@@ -86,22 +88,6 @@ To leverage recent and ongoing advancements in large-scale computational methods
|
|
|
86
88
|
|
|
87
89
|
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.
|
|
88
90
|
|
|
89
|
-
## Featured data
|
|
90
|
-
|
|
91
|
-
The following HBN datasets are currently featured on EEGDash. Documentation about these datasets is available [here](https://neuromechanist.github.io/data/hbn/).
|
|
92
|
-
|
|
93
|
-
| DatasetID | Participants | Files | Sessions | Population | Channels | Is 10-20? | Modality | Size |
|
|
94
|
-
|---|---|---|---|---|---|---|---|---|
|
|
95
|
-
| [ds005505](https://nemar.org/dataexplorer/detail?dataset_id=ds005505) | 136 | 5393 | 1 | Healthy | 129 | other | Visual | 103 GB |
|
|
96
|
-
| [ds005506](https://nemar.org/dataexplorer/detail?dataset_id=ds005506) | 150 | 5645 | 1 | Healthy | 129 | other | Visual | 112 GB |
|
|
97
|
-
| [ds005507](https://nemar.org/dataexplorer/detail?dataset_id=ds005507) | 184 | 7273 | 1 | Healthy | 129 | other | Visual | 140 GB |
|
|
98
|
-
| [ds005508](https://nemar.org/dataexplorer/detail?dataset_id=ds005508) | 324 | 13393 | 1 | Healthy | 129 | other | Visual | 230 GB |
|
|
99
|
-
| [ds005510](https://nemar.org/dataexplorer/detail?dataset_id=ds005510) | 135 | 4933 | 1 | Healthy | 129 | other | Visual | 91 GB |
|
|
100
|
-
| [ds005512](https://nemar.org/dataexplorer/detail?dataset_id=ds005512) | 257 | 9305 | 1 | Healthy | 129 | other | Visual | 157 GB |
|
|
101
|
-
| [ds005514](https://nemar.org/dataexplorer/detail?dataset_id=ds005514) | 295 | 11565 | 1 | Healthy | 129 | other | Visual | 185 GB |
|
|
102
|
-
|
|
103
|
-
A total of [246 other datasets](datasets.md) are also available through EEGDash.
|
|
104
|
-
|
|
105
91
|
## Data format
|
|
106
92
|
|
|
107
93
|
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.
|
|
@@ -113,47 +99,11 @@ EEGDash datasets are processed using the popular [braindecode](https://braindeco
|
|
|
113
99
|
## EEG-Dash usage
|
|
114
100
|
|
|
115
101
|
### Install
|
|
116
|
-
Use your preferred Python environment manager with Python > 3.
|
|
102
|
+
Use your preferred Python environment manager with Python > 3.10 to install the package.
|
|
117
103
|
* To install the eegdash package, use the following command: `pip install eegdash`
|
|
118
104
|
* To verify the installation, start a Python session and type: `from eegdash import EEGDash`
|
|
119
105
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
To use the data from a single subject, enter:
|
|
123
|
-
|
|
124
|
-
```python
|
|
125
|
-
from eegdash import EEGDashDataset
|
|
126
|
-
|
|
127
|
-
ds_NDARDB033FW5 = EEGDashDataset(
|
|
128
|
-
{"dataset": "ds005514", "task":
|
|
129
|
-
"RestingState", "subject": "NDARDB033FW5"},
|
|
130
|
-
cache_dir="."
|
|
131
|
-
)
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
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.
|
|
135
|
-
|
|
136
|
-
To use the data from multiple subjects, enter:
|
|
137
|
-
|
|
138
|
-
```python
|
|
139
|
-
from eegdash import EEGDashDataset
|
|
140
|
-
|
|
141
|
-
ds_ds005505rest = EEGDashDataset(
|
|
142
|
-
{"dataset": "ds005505", "task": "RestingState"}, target_name="sex", cache_dir=".
|
|
143
|
-
)
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
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.
|
|
147
|
-
|
|
148
|
-
### Automatic caching
|
|
149
|
-
|
|
150
|
-
By default, EEGDash caches downloaded data under a single, consistent folder:
|
|
151
|
-
|
|
152
|
-
- If ``EEGDASH_CACHE_DIR`` is set in your environment, that path is used.
|
|
153
|
-
- Else, if MNE’s ``MNE_DATA`` config is set, that path is used to align with other EEG tooling.
|
|
154
|
-
- Otherwise, ``.eegdash_cache`` in the current working directory is used.
|
|
155
|
-
|
|
156
|
-
This means that if you run the tutorial [scripts](https://github.com/sccn/EEGDash/tree/develop/notebooks), the data will only be downloaded the first time the script is executed and reused thereafter.
|
|
106
|
+
Please check our tutorial webpages to explore what you can do with [eegdash](https://eegdash.org/)!
|
|
157
107
|
|
|
158
108
|
## Education -- Coming soon...
|
|
159
109
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# EEG-Dash
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/eegdash/)
|
|
4
|
+
[](https://sccn.github.io/eegdash)
|
|
5
|
+
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://pypi.org/project/eegdash/)
|
|
8
|
+
[](https://pepy.tech/project/eegdash)
|
|
9
|
+
<!-- [](https://codecov.io/gh/sccn/eegdash) -->
|
|
10
|
+
|
|
11
|
+
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.
|
|
12
|
+
|
|
13
|
+
## Data source
|
|
14
|
+
|
|
15
|
+
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.
|
|
16
|
+
|
|
17
|
+
## Data format
|
|
18
|
+
|
|
19
|
+
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.
|
|
20
|
+
|
|
21
|
+
## Data preprocessing
|
|
22
|
+
|
|
23
|
+
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.
|
|
24
|
+
|
|
25
|
+
## EEG-Dash usage
|
|
26
|
+
|
|
27
|
+
### Install
|
|
28
|
+
Use your preferred Python environment manager with Python > 3.10 to install the package.
|
|
29
|
+
* To install the eegdash package, use the following command: `pip install eegdash`
|
|
30
|
+
* To verify the installation, start a Python session and type: `from eegdash import EEGDash`
|
|
31
|
+
|
|
32
|
+
Please check our tutorial webpages to explore what you can do with [eegdash](https://eegdash.org/)!
|
|
33
|
+
|
|
34
|
+
## Education -- Coming soon...
|
|
35
|
+
|
|
36
|
+
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).
|
|
37
|
+
|
|
38
|
+
## About EEG-DaSh
|
|
39
|
+
|
|
40
|
+
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.
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
SPHINXOPTS ?=
|
|
3
|
+
SPHINXBUILD ?= sphinx-build
|
|
4
|
+
SOURCEDIR = source
|
|
5
|
+
BUILDDIR = build
|
|
6
|
+
PKG ?= eegdash
|
|
7
|
+
APIDIR := $(SOURCEDIR)/api
|
|
8
|
+
|
|
9
|
+
help:
|
|
10
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
11
|
+
|
|
12
|
+
.PHONY: apidoc
|
|
13
|
+
apidoc:
|
|
14
|
+
# Generate full API docs, then prune duplicates covered by autosummary
|
|
15
|
+
@python -m sphinx.ext.apidoc -f -e -M -o "$(APIDIR)/dataset" "../$(PKG)"
|
|
16
|
+
# Remove top-level package page and modules covered elsewhere
|
|
17
|
+
@rm -f "$(APIDIR)/dataset/eegdash.rst"
|
|
18
|
+
@rm -f "$(APIDIR)/dataset/eegdash.api.rst"
|
|
19
|
+
@rm -f "$(APIDIR)/dataset/eegdash.bids_eeg_metadata.rst"
|
|
20
|
+
@rm -f "$(APIDIR)/dataset/eegdash.const.rst"
|
|
21
|
+
@rm -f "$(APIDIR)/dataset/eegdash.data_utils.rst"
|
|
22
|
+
@rm -f "$(APIDIR)/dataset/eegdash.logging.rst"
|
|
23
|
+
@rm -f "$(APIDIR)/dataset/eegdash.mongodb.rst"
|
|
24
|
+
@rm -f "$(APIDIR)/dataset/eegdash.paths.rst"
|
|
25
|
+
@rm -f "$(APIDIR)/dataset/eegdash.utils.rst"
|
|
26
|
+
@rm -f "$(APIDIR)/dataset/eegdash.features.rst"
|
|
27
|
+
@rm -f $(APIDIR)/dataset/eegdash.features.*.rst
|
|
28
|
+
@rm -f "$(APIDIR)/dataset/eegdash.hbn.rst"
|
|
29
|
+
@rm -f $(APIDIR)/dataset/eegdash.hbn.*.rst
|
|
30
|
+
@rm -f "$(APIDIR)/dataset/modules.rst"
|
|
31
|
+
|
|
32
|
+
.PHONY: dataset-pages
|
|
33
|
+
dataset-pages:
|
|
34
|
+
# Generate individual dataset documentation pages
|
|
35
|
+
@python generate_dataset_pages.py
|
|
36
|
+
|
|
37
|
+
# Standard build runs examples
|
|
38
|
+
html: apidoc dataset-pages
|
|
39
|
+
|
|
40
|
+
# Fast build: do NOT execute examples (sphinx-gallery)
|
|
41
|
+
.PHONY: html-noplot
|
|
42
|
+
html-noplot: apidoc dataset-pages
|
|
43
|
+
@python prepare_summary_tables.py ../eegdash/ $(BUILDDIR)
|
|
44
|
+
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" \
|
|
45
|
+
$(SPHINXOPTS) -D sphinx_gallery_conf.plot_gallery=0 $(O)
|
|
46
|
+
|
|
47
|
+
# Custom clean target to remove generated API docs and build files
|
|
48
|
+
.PHONY: clean
|
|
49
|
+
clean:
|
|
50
|
+
@echo "Removing generated API documentation..."
|
|
51
|
+
@rm -rf "$(APIDIR)/dataset"
|
|
52
|
+
@rm -rf "$(APIDIR)/generated"
|
|
53
|
+
@echo "Removing generated dataset pages..."
|
|
54
|
+
@rm -rf "$(APIDIR)/datasets"
|
|
55
|
+
@rm -f "$(APIDIR)/api_dataset.rst"
|
|
56
|
+
@echo "Removing other generated directories..."
|
|
57
|
+
@rm -rf "$(SOURCEDIR)/generated"
|
|
58
|
+
@rm -rf "$(SOURCEDIR)/gen_modules"
|
|
59
|
+
@echo "Removing build directory..."
|
|
60
|
+
@rm -rf "$(BUILDDIR)"
|
|
61
|
+
@echo "Clean completed."
|
|
62
|
+
|
|
63
|
+
.PHONY: help apidoc
|
|
64
|
+
Makefile: ;
|
|
65
|
+
|
|
66
|
+
%: Makefile
|
|
67
|
+
@python prepare_summary_tables.py ../eegdash/ $(BUILDDIR)
|
|
68
|
+
@python generate_dataset_pages.py
|
|
69
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
:html_theme.sidebar_primary.remove: true
|
|
2
|
+
|
|
3
|
+
.. _api:
|
|
4
|
+
|
|
5
|
+
API Reference
|
|
6
|
+
=============
|
|
7
|
+
|
|
8
|
+
.. grid:: 1
|
|
9
|
+
:gutter: 3
|
|
10
|
+
|
|
11
|
+
.. grid-item-card:: Core
|
|
12
|
+
:class-header: sd-bg-primary sd-text-white sd-font-weight-bold
|
|
13
|
+
:link: api_core
|
|
14
|
+
:link-type: doc
|
|
15
|
+
|
|
16
|
+
Core utilities for EEGDash.
|
|
17
|
+
|
|
18
|
+
.. grid-item-card:: Features
|
|
19
|
+
:class-header: sd-bg-primary sd-text-white sd-font-weight-bold
|
|
20
|
+
:link: api_features
|
|
21
|
+
:link-type: doc
|
|
22
|
+
|
|
23
|
+
Feature extraction and processing routines.
|
|
24
|
+
|
|
25
|
+
.. grid-item-card:: Dataset
|
|
26
|
+
:class-header: sd-bg-primary sd-text-white sd-font-weight-bold
|
|
27
|
+
:link: api_dataset
|
|
28
|
+
:link-type: doc
|
|
29
|
+
|
|
30
|
+
Datasets available at EEGDash.
|
|
31
|
+
|
|
32
|
+
.. toctree::
|
|
33
|
+
:hidden:
|
|
34
|
+
|
|
35
|
+
api_core
|
|
36
|
+
api_features
|
|
37
|
+
api_dataset
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Feature API
|
|
2
|
+
===========
|
|
3
|
+
|
|
4
|
+
.. autosummary::
|
|
5
|
+
:toctree: generated/api-features
|
|
6
|
+
:recursive:
|
|
7
|
+
|
|
8
|
+
eegdash.features
|
|
9
|
+
eegdash.features.datasets
|
|
10
|
+
eegdash.features.decorators
|
|
11
|
+
eegdash.features.extractors
|
|
12
|
+
eegdash.features.inspect
|
|
13
|
+
eegdash.features.serialization
|
|
14
|
+
eegdash.features.utils
|
|
15
|
+
eegdash.features.feature_bank
|
|
16
|
+
|
|
@@ -32,16 +32,20 @@ extensions = [
|
|
|
32
32
|
"sphinx.ext.linkcode",
|
|
33
33
|
"sphinx.ext.napoleon",
|
|
34
34
|
"sphinx_design",
|
|
35
|
-
# "autoapi.extension",
|
|
36
35
|
"numpydoc",
|
|
37
36
|
"sphinx_gallery.gen_gallery",
|
|
38
|
-
# Generate sitemap.xml for search engines
|
|
39
37
|
"sphinx_sitemap",
|
|
40
38
|
]
|
|
41
39
|
|
|
42
40
|
templates_path = ["_templates"]
|
|
43
41
|
exclude_patterns = ["build", "Thumbs.db", ".DS_Store"]
|
|
44
42
|
|
|
43
|
+
# Suppress benign warnings
|
|
44
|
+
suppress_warnings = [
|
|
45
|
+
# Sphinx-Gallery uses functions/classes in config which are not picklable
|
|
46
|
+
"config.cache",
|
|
47
|
+
]
|
|
48
|
+
|
|
45
49
|
# -- Options for HTML output -------------------------------------------------
|
|
46
50
|
|
|
47
51
|
html_theme = "pydata_sphinx_theme"
|
|
@@ -55,7 +59,7 @@ html_js_files = []
|
|
|
55
59
|
|
|
56
60
|
# Required for sphinx-sitemap: set the canonical base URL of the site
|
|
57
61
|
# Make sure this matches the actual published docs URL and ends with '/'
|
|
58
|
-
html_baseurl = "https://
|
|
62
|
+
html_baseurl = "https://eegdash.org/"
|
|
59
63
|
|
|
60
64
|
html_theme_options = {
|
|
61
65
|
"icon_links_label": "External Links", # for screen reader
|
|
@@ -91,7 +95,7 @@ html_theme_options = {
|
|
|
91
95
|
},
|
|
92
96
|
{
|
|
93
97
|
"name": "Docs (Stable)",
|
|
94
|
-
"url": "https://
|
|
98
|
+
"url": "https://eegdash.org/EEGDash",
|
|
95
99
|
"icon": "fa-solid fa-book",
|
|
96
100
|
"type": "fontawesome",
|
|
97
101
|
},
|
|
@@ -182,7 +186,7 @@ numpydoc_show_class_members = False
|
|
|
182
186
|
# Sphinx Gallery
|
|
183
187
|
EX_DIR = "../../examples" # relative to docs/source
|
|
184
188
|
sphinx_gallery_conf = {
|
|
185
|
-
"examples_dirs": [EX_DIR],
|
|
189
|
+
"examples_dirs": [f"{EX_DIR}"],
|
|
186
190
|
"gallery_dirs": ["generated/auto_examples"],
|
|
187
191
|
"nested_sections": False,
|
|
188
192
|
"backreferences_dir": "gen_modules/backreferences",
|
|
@@ -198,13 +202,7 @@ sphinx_gallery_conf = {
|
|
|
198
202
|
"# `pip install eegdash`\n"
|
|
199
203
|
"%matplotlib inline"
|
|
200
204
|
),
|
|
201
|
-
"subsection_order": ExplicitOrder(
|
|
202
|
-
[
|
|
203
|
-
f"{EX_DIR}/core",
|
|
204
|
-
# f"{EX_DIR}/eeg2025",
|
|
205
|
-
"*",
|
|
206
|
-
]
|
|
207
|
-
),
|
|
205
|
+
"subsection_order": ExplicitOrder([f"{EX_DIR}/core", "*"]),
|
|
208
206
|
"within_subsection_order": FileNameSortKey,
|
|
209
207
|
}
|
|
210
208
|
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
.. _data_summary:
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Dataset Summary
|
|
8
|
+
===============
|
|
9
9
|
|
|
10
10
|
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.
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:html_theme.sidebar_secondary.remove: true
|
|
2
2
|
|
|
3
|
-
EEGDASH
|
|
4
|
-
|
|
3
|
+
EEGDASH Homepage
|
|
4
|
+
=================
|
|
5
5
|
|
|
6
6
|
.. title:: EEG Dash
|
|
7
7
|
|
|
@@ -55,6 +55,6 @@ The archive is currently still in :bdg-danger:`beta testing` mode, so be kind.
|
|
|
55
55
|
|
|
56
56
|
Overview <overview>
|
|
57
57
|
Install <install/install>
|
|
58
|
-
API <api/
|
|
58
|
+
API <api/api>
|
|
59
59
|
Dataset Summary <dataset_summary>
|
|
60
60
|
Examples <generated/auto_examples/index>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Installation
|
|
7
7
|
================
|
|
8
8
|
|
|
9
|
-
EEGDash is written in Python 3, specifically for version 3.
|
|
9
|
+
EEGDash is written in Python 3, specifically for version 3.10 or above.
|
|
10
10
|
|
|
11
11
|
The package is distributed via Python package index (`PyPI <eegdash-pypi_>`_), and you can access the
|
|
12
12
|
source code via `Github <eegdash-github_>`_ repository.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Authors: The EEGDash contributors.
|
|
2
|
+
# License: GNU General Public License
|
|
3
|
+
# Copyright the EEGDash contributors.
|
|
4
|
+
|
|
5
|
+
"""EEGDash: A comprehensive platform for EEG data management and analysis.
|
|
6
|
+
|
|
7
|
+
EEGDash provides a unified interface for accessing, querying, and analyzing large-scale
|
|
8
|
+
EEG datasets. It integrates with cloud storage, MongoDB databases, and machine learning
|
|
9
|
+
frameworks to streamline EEG research workflows.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from .api import EEGDash, EEGDashDataset
|
|
13
|
+
from .dataset import EEGChallengeDataset
|
|
14
|
+
from .hbn import preprocessing
|
|
15
|
+
from .utils import _init_mongo_client
|
|
16
|
+
|
|
17
|
+
_init_mongo_client()
|
|
18
|
+
|
|
19
|
+
__all__ = ["EEGDash", "EEGDashDataset", "EEGChallengeDataset", "preprocessing"]
|
|
20
|
+
|
|
21
|
+
__version__ = "0.4.0.dev144"
|