Skip to content

Commit

Permalink
Merging develop to master (#261)
Browse files Browse the repository at this point in the history
* Started the name switch (#251)

* started renaming from eegnb to eegexpy

* more eegnb renaming work

* more eegnb switches

* more relabelling

* ssvep renamings

* cueing eg

* update for more misc files

* more of the same

* update

* Update and rename available_notebooks.md to available_experiments.md

* Add newlogo (#260)

* Add files via upload

* Update README.rst
  • Loading branch information
JohnGriffiths authored Mar 7, 2024
1 parent 1257c3a commit b062094
Show file tree
Hide file tree
Showing 17 changed files with 71 additions and 70 deletions.
44 changes: 22 additions & 22 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
=============
EEG-Notebooks
EEG-ExPy
=============

*Democratizing the cognitive neuroscience experiment*

|badge_test| |badge_binder|

.. |badge_test| image:: https://github.com/NeuroTechX/eeg-notebooks/workflows/Test/badge.svg
:target: https://github.com/NeuroTechX/eeg-notebooks/actions
.. |badge_test| image:: https://github.com/NeuroTechX/eeg-expy/workflows/Test/badge.svg
:target: https://github.com/NeuroTechX/eeg-expy/actions

.. |badge_binder| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/NeuroTechX/eeg-notebooks/master
:target: https://mybinder.org/v2/gh/NeuroTechX/eeg-expy/master

.. image:: https://github.com/NeuroTechX/eeg-notebooks/raw/master/doc/img/eeg-notebooks_logo.png
.. image:: doc/img/EEG-ExPy_Logo.png
:align: center

EEG-Notebooks is a collection of classic EEG experiments, implemented in Python 3 and Jupyter notebooks. The experimental protocols and analyses are quite generic, but are primarily taylored for low-budget / consumer EEG hardware such as the InteraXon MUSE and OpenBCI Cyton. The goal is to make cognitive neuroscience and neurotechnology more accessible, affordable, and scalable.
EEG-ExPy is a collection of classic EEG experiments, implemented in Python. The experimental protocols and analyses are quite generic, but are primarily taylored for low-budget / consumer EEG hardware such as the InteraXon MUSE and OpenBCI Cyton. The goal is to make cognitive neuroscience and neurotechnology more accessible, affordable, and scalable.

- **For an intro talk on the eeg-notebooks project see:** `JG's Brainhack Ontario presentation <https://www.crowdcast.io/e/brainhack-ontario/7>`_.
- **For documentation see:** `documentation site <https://neurotechx.github.io/eeg-notebooks/index.html>`_.
- **For code see:** `github site <https://github.com/neurotechx/eeg-notebooks>`_.
- **For instructions on running experiments see:** `running experiments <https://neurotechx.github.io/eeg-notebooks/getting_started/running_experiments.html>`_.
- **For instructions on initiating an EEG stream see:** `initiating an EEG stream <https://neurotechx.github.io/eeg-notebooks/getting_started/streaming.html>`_.
- **For an intro talk on the ***EEG-ExPy*** (formerly ***eeg-notebooks***) project see:** `JG's Brainhack Ontario presentation <https://www.crowdcast.io/e/brainhack-ontario/7>`_.
- **For documentation see:** `documentation site <https://neurotechx.github.io/eeg-expy/index.html>`_.
- **For code see:** `github site <https://github.com/neurotechx/eeg-expy>`_.
- **For instructions on running experiments see:** `running experiments <https://neurotechx.github.io/eeg-expy/getting_started/running_experiments.html>`_.
- **For instructions on initiating an EEG stream see:** `initiating an EEG stream <https://neurotechx.github.io/eeg-expy/getting_started/streaming.html>`_.
- **A series of tutorial videos will be coming soon!**


----

**Note:** eeg-notebooks underwent major changes to the API in v0.2. The old v0.1 is still available if you need it, in `this repo <https://github.com/neurotechx/eeg-notebooks_v0.1>`_.
**Note:** eeg-expy was previously known as eeg-notebooks. Before the renaming, eeg-notebooks also underwent major changes to the API in v0.2. The old v0.2 version, before the name change, is still available if you need it, in `this repo <https://github.com/neurotechx/eeg-notebooks_v0.2>`_. The even older v0.1 is also still available if needed `here <https://github.com/neurotechx/eeg-notebooks_v0.1>`_.

----

Expand All @@ -48,18 +48,18 @@ The core aim of the EEG-Notebooks project is to provide the critical 'glue' that

A real one-stop-shop!

For more discussion on these social/scientific/technological contexts and trajectories, a) feel free to get in touch directly (see #Contact info below) and b) keep an eye out for the forthcoming eeg-notebooks research paper.
For more discussion on these social/scientific/technological contexts and trajectories, a) feel free to get in touch directly (see #Contact info below) and b) keep an eye out for the forthcoming eeg-expy research paper.


Documentation
-------------

The current version of eeg-notebooks is the 0.2.X series. The code-base and API are under major development and subject to change.
The current version of eeg-expy is the 0.2.X series. The code-base and API are under major development and subject to change.

Check the `changelog <https://neurotechx.github.io/eeg-notebooks/changelog.html>`_ for notes on changes from previous versions.
Check the `changelog <https://neurotechx.github.io/eeg-expy/changelog.html>`_ for notes on changes from previous versions.

**Installation instructions**, steps for **getting started**, common **troubleshooting** solutions and more can be found in the documentation for eeg-notebooks, available on the
`documentation site <https://neurotechx.github.io/eeg-notebooks/index.html>`_.
**Installation instructions**, steps for **getting started**, common **troubleshooting** solutions and more can be found in the documentation for eeg-expy, available on the
`documentation site <https://neurotechx.github.io/eeg-expy/index.html>`_.

Acknowledgments
----------------
Expand All @@ -68,26 +68,26 @@ EEG-Notebooks was created by the `NeurotechX <https://neurotechx.com/>`_ hacker/

Key contributors include: Alexandre Barachant, Hubert Banville, Dano Morrison, Ben Shapiro, John Griffiths, Amanda Easson, Kyle Mathewson, Jadin Tredup, Erik Bjäreholt.

Thanks also to Andrey Parfenov for the excellent `brainflow <https://github.com/brainflow-dev/brainflow/>`_ library, which has allowed us to dramatically expand the range of supporte devices; as well as the developers of `PsychoPy <https://github.com/psychopy/psychopy/>`_ and `MNE <https://github.com/mne-tools/mne-python/>`_, which together make up the central scaffolding of eeg-notebooks.
Thanks also to Andrey Parfenov for the excellent `brainflow <https://github.com/brainflow-dev/brainflow/>`_ library, which has allowed us to dramatically expand the range of supporte devices; as well as the developers of `PsychoPy <https://github.com/psychopy/psychopy/>`_ and `MNE <https://github.com/mne-tools/mne-python/>`_, which together make up the central scaffolding of eeg-expy.


Contribute
----------

This project welcomes and encourages contributions from the community!

If you have an idea of something to add to eeg-notebooks, please start by opening an
`issue <https://github.com/NeuroTechX/eeg-notebooks/issues/new/choose>`_.
If you have an idea of something to add to eeg-expy, please start by opening an
`issue <https://github.com/NeuroTechX/eeg-expy/issues/new/choose>`_.


Contact
-------------

The best place for general discussion on eeg-notebooks functionality is the `issues page <https://github.com/NeuroTechX/eeg-notebooks/issues/new/choose>`_. For more general questions and discussions, you can e-mail `[email protected]`, or ping us on the `NeuroTechX Discord <https://discord.gg/zYCBfBf4W4>`_ or `NeuroTechX slack <https://neurotechx.herokuapp.com>`_.
The best place for general discussion on eeg-expy functionality is the `issues page <https://github.com/NeuroTechX/eeg-expy/issues/new/choose>`_. For more general questions and discussions, you can e-mail `[email protected]`, or ping us on the `NeuroTechX Discord <https://discord.gg/zYCBfBf4W4>`_ or `NeuroTechX slack <https://neurotechx.herokuapp.com>`_.



.. image:: https://github.com/NeuroTechX/eeg-notebooks/raw/master/doc/img/eeg-notebooks_democratizing_the_cogneuro_experiment.png
.. image:: ./doc/img/eeg-notebooks_democratizing_the_cogneuro_experiment.png
:align: center
:scale: 50

10 changes: 5 additions & 5 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ def setup(app):
("Examples", "auto_examples/index"),
("User guide", "user_guide/index"),
("FAQ", "faq"),
("GitHub", "https://github.com/neurotechx/eeg-notebooks", True),
("GitHub", "https://github.com/neurotechx/eeg-expy", True),
],
# Set the page width to not be restricted to hardset value
Expand Down Expand Up @@ -261,8 +261,8 @@ def setup(app):
'within_subsection_order': FileNameSortKey,
'default_thumb_file': 'img/eeg-notebooks_logo.png',
'backreferences_dir': 'generated', # Where to drop linking files between examples & API
'doc_module': ('eeg-notebooks'),
'reference_url': {'eeg-notebooks': None},
'doc_module': ('eeg-expy'),
'reference_url': {'eeg-expy': None},
'remove_config_comments': True}

"""
Expand All @@ -282,8 +282,8 @@ def setup(app):
'within_subsection_order': FileNameSortKey,
'default_thumb_file': 'img/eeg-notebooks_logo.png',
'backreferences_dir': 'generated', # Where to drop linking files between examples & API
'doc_module': ('eeg-notebooks',),
'reference_url': {'eeg-notebooksS': None},
'doc_module': ('eeg-expy',),
'reference_url': {'eeg-expy': None},
'remove_config_comments': True,
}
Expand Down
10 changes: 5 additions & 5 deletions doc/docs_notes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# EEG-Notebooks Documentation Developer Notes
# EEG-ExPy Documentation Developer Notes

The documentation page can be found at https://neurotechx.github.io/eeg-notebooks
The documentation page can be found at https://neurotechx.github.io/eeg-expy

The documentation source files are a combination of plain-text `.rst`, `.md`, and `.py` files.

Expand All @@ -9,8 +9,8 @@ It is built locally with `sphinx`, and hosted on the github repo `gh-pages` bran

There are two main locations for the documentation files:

- The various files and sub-folders in `eeg-notebooks/doc`, which contain the webpage contents
- The files and sub-folders in `eeg-notebooks/examples`, which contains `.py` scripts, grouped by experiment
- The various files and sub-folders in `eeg-expy/doc`, which contain the webpage contents
- The files and sub-folders in `eeg-expy/examples`, which contains `.py` scripts, grouped by experiment

This general organization (with `doc` and `examples` folders) is widely used by excellent python libraries such as `MNE` and `Nilearn`, and we are largely following suit in the organization here.

Expand All @@ -35,7 +35,7 @@ In terminal 1: edit the source files

In terminal 2: build and re-build the docs periodically to inspect changes

`cd eeg-notebooks/doc`
`cd eeg-expy/doc`
`make html`

In terminal 3: keep a local http server running to render the docs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Available Notebooks
# Available Experiments

### Visual P300 with Oddball paradigm
The visual P300 is a spike that occurs 300ms after perceiving a visual stimulus that has implications on decision making. This was validated in Muse by Alexandre Barachant with the Oddball paradigm, in which low-probability target items (oddballs) are interspersed with high probability non-target items. With AB's paradigm, the experiment takes about 10 minutes to run (5 x 2 minute trials). Although the Muse's sensors aren't in the ideal position for detecting the P300, AB was able to attain "good" accuracy in identifying P300 spikes.
Expand All @@ -10,7 +10,7 @@ The N170 is an ERP specifically related to the perception of faces. This was val
### SSVEP
The steady state visual evoked potential is a frequency response produced visual stimulation at specific frequencies. It was validated by Hubert in a 12 minute experiment (6 x 2 minute trials). Stimulation frequencies of 30hz and 20hz were used and an extra electrode at POz was added. Found clear peaks in the PSD at the stimulation frequencies. The peaks were most significant at the extra electrode, which is closest to the primary visual regions, but was detectable at all electrodes and found to have remarkably high accuracy when using a filter bank approach to isolate specific frequencies.

## Old Notebooks
## Old experiments
### Go/No-Go
An experiment designed to investigate the event-related potentials that can be detected during a Go-No-Go Task, which measures executive, inhibitory control and sustained attention. The subject is rapidly presented with a sequence of circles and squares and is asked to indicate, by pressing the spacebar, whether a shape is a circle.

Expand Down
Binary file added doc/img/EEG-ExPy_Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
getting_started/running_experiments
getting_started/data_zipper
getting_started/analysis
getting_started/available_notebooks
getting_started/available_experiments

.. toctree::
:caption: Experiments
Expand Down
7 changes: 4 additions & 3 deletions doc/misc/about_the_docs.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# About the EEG-notebooks Documentation Pages
# About the EEG-ExPy Documentation Pages

A few comments on how these are put together:

The documentation pages are written for the following readthedocs sphinx-based setup:

- `readthedocs` auto-generates the documentation, using various configuration files
- In particular, we use [Nbsphinx](https://github.com/spatialaudio/nbsphinx) to create `html` pages directly from a combination of jupyter notebooks, `.rst` files, and `.md` files
- Because the notebook files are not located under the docs folder, we additionally need to make use of [nbsphinx-link](https://github.com/vidartf/nbsphinx-link)
- In particular, we use [Nbsphinx](https://github.com/spatialaudio/nbsphinx) to create `html` pages directly.
from a combination of jupyter notebooks, `.rst` files, and `.md` files
- Because the files are not located under the docs folder, we additionally need to make use of [nbsphinx-link](https://github.com/vidartf/nbsphinx-link)


Loading

0 comments on commit b062094

Please sign in to comment.