-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding pipelines for cli analysis #202
Conversation
…into enh_pipelines
Follows the work done by @JohnGriffiths in https://github.com/NeuroTechX/eeg-notebooks/blob/enh_pipelines/eegnb/analysis/pipelines.py |
The results are reproducible for N170 (in line with the tutorial for load and visualize data) but NOT for P300 due to differences in tmax value and reject={'eeg': } values along with differences in plotting values. I believe we need to make CLI plots in line with those in tutorials, right? |
yeah you're right, I'll have a look and fixing it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good!
Didn't do a super-thorough review, but had a few comments :)
prompt_time = time() | ||
print(f"Starting next cycle in 5 seconds, press C and enter to cancel") | ||
while time() < prompt_time + 5: | ||
if keyboard.is_pressed('c'): | ||
print("\nStopping signal quality checks!") | ||
flag = True | ||
break | ||
if flag: | ||
break |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This loop is hot and will lead to 100% CPU until c is pressed. Enter is also no longer needed, contrary to instructions.
I suggest something like this instead:
print("Starting next cycle in 5 seconds, press Ctrl+C to cancel")
try:
sleep(5)
except KeyboardInterrupt:
break
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good suggestion, but let's implement it on another dev branch PR to this one, as it's not directly related to the new code from this contribution.
{ | ||
"cells": [], | ||
"metadata": {}, | ||
"nbformat": 4, | ||
"nbformat_minor": 5 | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't commit this file.
You can add .ipynb_checkpoints
to .gitignore
to prevent this from happening again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Parvfect re: this - IMHO it is best to name files individually when committing.
i.e. do
git commit file1.py file2.py file3.py file4.py file5.py -m"my commit description"
rather than
git commit * -m"my commit description"
or
git commit -a -m"my commit description"
because the latter, even though syntactically simpler, will frequently lead to unintended files being committed, even when one is not being particularly sloppy.
Co-authored-by: Erik Bjäreholt <[email protected]>
device changes again to muse_2016. I'd prefer you use the example_analysis_report() function so it can handle the device issues |
Things to complete on this (as discussed 1/9/22)(TBC starting 20 September finishing and deploying by the end of the month)
@oreHGA, @retiutut, @ErikBjare, @JohnGriffiths - I would really appreciate a solid PR review with some feedback for this because I feel this is quite a cool feature that we can simply add to EEG Notebooks and can expand the user base as well as improve general functionality. Additionally, I do think that I have assumed a lot of things while writing this code because it was rushed, which might be ignored because everything works so could really appreciate some feedback. General instructions for running it eegnb create-analysis-report -ip Specifically using pipeline functions Usage: from eegnb.analysis.pipelines import create_analysis_report()
create_analysis_report(experiment, eegdevice, subject, session, filepath)s For Example Datasets: from eegnb.analysis.pipelines import example_analysis_report()
example_analysis_report() |
|
||
return report_path | ||
|
||
def create_analysis_report_(experiment, eegdevice, subject=None, session=None, data_path=None, bluemuse_file_fix=False): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: remove trailing _
Things completed
Big change of switiching from pdf to generating html for stylistic purposes following comments left by John. Linking to different sections done, and image stretching etc has been resolved - here's what the template looks like The text is rudimentary and the taskbar links to different sections for easy navigation. TestingThe way of testing this remains the same as before and is the previous comment in this thread that this one replies to but in simple terms, eegnb create-analysis-report -ip Things left to do
Would really appreciate some quick feedback so we can get the ball rolling and get this done soon. |
Why are the checks still failing? It looks like all but one PR fails the tests 🤷♂️ |
I'm not completely sure but my thinking is that these things could be responsible,
|
It's the requirements change. If you look at the task list the red cross appears at install dependencies. |
@ErikBjare I'm trying to figure out why there is a docs build error, shown as follows, I see that you have updated something in the main branch about wxpython's wheels to PyPi with reference to #190 Although it seems to say that the module attrdict is not found, do you know what is actually happening because I am pretty confused. There aren't major changes in the cli that have to do with building wxpython so it's hard to understand why it's creating an issue. Would love some assistance. |
Finished with basic functionality testing. Merging now. I have some improvements to the report generation functionality and some of the function options, will add those as a new PR rather than over-complicating this one. ( Note, the doc build issue here is unrelated to the content of this PR, seems due to a wxpython issue that came up whilst this PR was made. So will address that separately and not on this PR. ) Good job @Parvfect ! |
* example test commit (#182) * example test commit * example edit * ci: run test workflow on develop branch * ci: add develop branch to job triggers * ci: fix syntax issue in workflow * fix: fixed import (brainflow updated API) * build(deps): locked pylsl==1.10.5 (#187) * Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184) * First commit * Second commit * Modifications * Lol * Lol * Incorporated N170 and p300, looking good for a PR * ssvep update * Implementing subclasses instead of loose functions * fix: fixed import (brainflow updated API) * Playing around still * Fixing import errors * Adding abstractmethod decorators * Still working on the import error * Guess what's finally working * Comments and naming ticks * More comments * Live coding demonstration * ssvep adapted * Adapting Auditory Oddball * changing save_fn to self.save_fun * This maybe the last big change * utils file changed, changes work through cli Co-authored-by: Erik Bjäreholt <[email protected]> * Submodule added for gsoc * Adding pipelines for cli analysis (#202) * started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]> * added more options for site args; improved function names; removed some redundant lines (#209) * fix subject num parsing bug * analysis report function improvements for openbci cyton and gtec unicorn devices * run exp fix * Update requirements.txt * fixes to get docs building by github action (#210) * fixes to get docs building by github action * reverted some changes * Update 01r__ssvep_viz.py Co-authored-by: John Griffiths <[email protected]> * Update README.rst small commit to test doc build workflow on this branch * removing gsoc submodule Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]>
* major update: merging develop to master (#217) * example test commit (#182) * example test commit * example edit * ci: run test workflow on develop branch * ci: add develop branch to job triggers * ci: fix syntax issue in workflow * fix: fixed import (brainflow updated API) * build(deps): locked pylsl==1.10.5 (#187) * Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184) * First commit * Second commit * Modifications * Lol * Lol * Incorporated N170 and p300, looking good for a PR * ssvep update * Implementing subclasses instead of loose functions * fix: fixed import (brainflow updated API) * Playing around still * Fixing import errors * Adding abstractmethod decorators * Still working on the import error * Guess what's finally working * Comments and naming ticks * More comments * Live coding demonstration * ssvep adapted * Adapting Auditory Oddball * changing save_fn to self.save_fun * This maybe the last big change * utils file changed, changes work through cli Co-authored-by: Erik Bjäreholt <[email protected]> * Submodule added for gsoc * Adding pipelines for cli analysis (#202) * started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]> * added more options for site args; improved function names; removed some redundant lines (#209) * fix subject num parsing bug * analysis report function improvements for openbci cyton and gtec unicorn devices * run exp fix * Update requirements.txt * fixes to get docs building by github action (#210) * fixes to get docs building by github action * reverted some changes * Update 01r__ssvep_viz.py Co-authored-by: John Griffiths <[email protected]> * Update README.rst small commit to test doc build workflow on this branch * removing gsoc submodule Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> * update dependencies - seaborn * docs/perf: reduced the imports: `cueing` example * bug: update deprecated `plot_psd()` method - feature of new `mne` version. - instead of doing plot_psd() from the `mne.io.Raw` object, must do this: - `raw.compute_psd().plot()` - i.e., has to pass through a `spectrum` object * updated deprec. `mne` function * perf: removed importage of unused packages from example - One of them, i.e., `collections.Iterable` is even deprecated. - Must use `collections.abc.Iterable` instead now. - Resulting in faster build/user run * bugfix: `plot_conditions` - due to `sns` deprecation * bugfix: resolved `psd_welch()` deprecation (`mne`) --------- Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> Co-authored-by: Taha Morshedzadeh <[email protected]>
…Refactor (#218) * major update: merging develop to master (#217) * example test commit (#182) * example test commit * example edit * ci: run test workflow on develop branch * ci: add develop branch to job triggers * ci: fix syntax issue in workflow * fix: fixed import (brainflow updated API) * build(deps): locked pylsl==1.10.5 (#187) * Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184) * First commit * Second commit * Modifications * Lol * Lol * Incorporated N170 and p300, looking good for a PR * ssvep update * Implementing subclasses instead of loose functions * fix: fixed import (brainflow updated API) * Playing around still * Fixing import errors * Adding abstractmethod decorators * Still working on the import error * Guess what's finally working * Comments and naming ticks * More comments * Live coding demonstration * ssvep adapted * Adapting Auditory Oddball * changing save_fn to self.save_fun * This maybe the last big change * utils file changed, changes work through cli Co-authored-by: Erik Bjäreholt <[email protected]> * Submodule added for gsoc * Adding pipelines for cli analysis (#202) * started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]> * added more options for site args; improved function names; removed some redundant lines (#209) * fix subject num parsing bug * analysis report function improvements for openbci cyton and gtec unicorn devices * run exp fix * Update requirements.txt * fixes to get docs building by github action (#210) * fixes to get docs building by github action * reverted some changes * Update 01r__ssvep_viz.py Co-authored-by: John Griffiths <[email protected]> * Update README.rst small commit to test doc build workflow on this branch * removing gsoc submodule Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> * Updated doc examples * Update 00x__n170_run_experiment.py fix: typo in func param --------- Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Ben Pettit <[email protected]> Co-authored-by: Ore O <[email protected]>
* example test commit (#182) * example test commit * example edit * ci: run test workflow on develop branch * ci: add develop branch to job triggers * ci: fix syntax issue in workflow * fix: fixed import (brainflow updated API) * build(deps): locked pylsl==1.10.5 (#187) * Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184) * First commit * Second commit * Modifications * Lol * Lol * Incorporated N170 and p300, looking good for a PR * ssvep update * Implementing subclasses instead of loose functions * fix: fixed import (brainflow updated API) * Playing around still * Fixing import errors * Adding abstractmethod decorators * Still working on the import error * Guess what's finally working * Comments and naming ticks * More comments * Live coding demonstration * ssvep adapted * Adapting Auditory Oddball * changing save_fn to self.save_fun * This maybe the last big change * utils file changed, changes work through cli Co-authored-by: Erik Bjäreholt <[email protected]> * Submodule added for gsoc * Adding pipelines for cli analysis (#202) * started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]> * added more options for site args; improved function names; removed some redundant lines (#209) * fix subject num parsing bug * analysis report function improvements for openbci cyton and gtec unicorn devices * run exp fix * Update requirements.txt * fixes to get docs building by github action (#210) * fixes to get docs building by github action * reverted some changes * Update 01r__ssvep_viz.py Co-authored-by: John Griffiths <[email protected]> * Update README.rst small commit to test doc build workflow on this branch * removing gsoc submodule * ci: update python to 3.8, update wxPython, update setup-python action * ci: pin ubuntu versions to 22.04, updated wxPython urls * ci: bumped psychopy to 2023.1.0 * build(deps): set upper supported numpy version to 1.23.x * chore: applied no_implicit_optional * update dependencies - for build (#220) * major update: merging develop to master (#217) * example test commit (#182) * example test commit * example edit * ci: run test workflow on develop branch * ci: add develop branch to job triggers * ci: fix syntax issue in workflow * fix: fixed import (brainflow updated API) * build(deps): locked pylsl==1.10.5 (#187) * Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184) * First commit * Second commit * Modifications * Lol * Lol * Incorporated N170 and p300, looking good for a PR * ssvep update * Implementing subclasses instead of loose functions * fix: fixed import (brainflow updated API) * Playing around still * Fixing import errors * Adding abstractmethod decorators * Still working on the import error * Guess what's finally working * Comments and naming ticks * More comments * Live coding demonstration * ssvep adapted * Adapting Auditory Oddball * changing save_fn to self.save_fun * This maybe the last big change * utils file changed, changes work through cli Co-authored-by: Erik Bjäreholt <[email protected]> * Submodule added for gsoc * Adding pipelines for cli analysis (#202) * started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]> * added more options for site args; improved function names; removed some redundant lines (#209) * fix subject num parsing bug * analysis report function improvements for openbci cyton and gtec unicorn devices * run exp fix * Update requirements.txt * fixes to get docs building by github action (#210) * fixes to get docs building by github action * reverted some changes * Update 01r__ssvep_viz.py Co-authored-by: John Griffiths <[email protected]> * Update README.rst small commit to test doc build workflow on this branch * removing gsoc submodule Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> * update dependencies - seaborn * docs/perf: reduced the imports: `cueing` example * bug: update deprecated `plot_psd()` method - feature of new `mne` version. - instead of doing plot_psd() from the `mne.io.Raw` object, must do this: - `raw.compute_psd().plot()` - i.e., has to pass through a `spectrum` object * updated deprec. `mne` function * perf: removed importage of unused packages from example - One of them, i.e., `collections.Iterable` is even deprecated. - Must use `collections.abc.Iterable` instead now. - Resulting in faster build/user run * bugfix: `plot_conditions` - due to `sns` deprecation * bugfix: resolved `psd_welch()` deprecation (`mne`) --------- Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> Co-authored-by: Taha Morshedzadeh <[email protected]> * Updated psychopy (#215) * update psychopy for psychxr compatibility * updated n170 example to run again. * Updated doc examples for N170, P300 and SSVEP after Experiment Class Refactor (#218) * major update: merging develop to master (#217) * example test commit (#182) * example test commit * example edit * ci: run test workflow on develop branch * ci: add develop branch to job triggers * ci: fix syntax issue in workflow * fix: fixed import (brainflow updated API) * build(deps): locked pylsl==1.10.5 (#187) * Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184) * First commit * Second commit * Modifications * Lol * Lol * Incorporated N170 and p300, looking good for a PR * ssvep update * Implementing subclasses instead of loose functions * fix: fixed import (brainflow updated API) * Playing around still * Fixing import errors * Adding abstractmethod decorators * Still working on the import error * Guess what's finally working * Comments and naming ticks * More comments * Live coding demonstration * ssvep adapted * Adapting Auditory Oddball * changing save_fn to self.save_fun * This maybe the last big change * utils file changed, changes work through cli Co-authored-by: Erik Bjäreholt <[email protected]> * Submodule added for gsoc * Adding pipelines for cli analysis (#202) * started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]> * added more options for site args; improved function names; removed some redundant lines (#209) * fix subject num parsing bug * analysis report function improvements for openbci cyton and gtec unicorn devices * run exp fix * Update requirements.txt * fixes to get docs building by github action (#210) * fixes to get docs building by github action * reverted some changes * Update 01r__ssvep_viz.py Co-authored-by: John Griffiths <[email protected]> * Update README.rst small commit to test doc build workflow on this branch * removing gsoc submodule Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> * Updated doc examples * Update 00x__n170_run_experiment.py fix: typo in func param --------- Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Ben Pettit <[email protected]> Co-authored-by: Ore O <[email protected]> * fix error breaking n170 test (#223) * fixed requirements.txt so 'pip install -e .' would work on windows. (#229) * Get CI test builds working again! (#170) * Revert "Revert PR #167: "ci: fix broken CI" (#169)" This reverts commit 2d74871. * Update Makefile * fix: Update vep.py import * Update Makefile * Update vep.py * fix: typo in makefile * fix: update BaseExperiment class reference * Update Makefile * Update vep.py * Update 01r__n170_viz.py * makefile: install libnotify4 --------- Co-authored-by: Ore O <[email protected]> * fix macos build (#245) * Add devcontainer configuration for CPU environment * Fixed the python version needed * Fix plot conditions (#257) * fixed plot_conditions functoni issues * small change to viz n170 plotting example * small change to viz p300 plotting example * fixed to plotting issue * modify plot command * update example files * fix condition label bug * fix: set layout engine to fix colorbar error --------- Co-authored-by: Ore O <[email protected]> * 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 * added to enable eegexpy commands (#265) * started alias of main package for imports (#266) * Add multiple installation options (#263) * added newly separated analysis and streaming utils files * modified setup and requirements to allow for optional install types * updated imports in experiment examples * fixed some typos * Update requirements.txt moved click library to stim pres requirements section * Update requirements.txt Co-authored-by: Taha Morshedzadeh <[email protected]> * Update Makefile * Update docs.yml * Update Makefile this does a full build with all dependencies for EEG-ExPy --------- Co-authored-by: Ore O <[email protected]> Co-authored-by: Taha Morshedzadeh <[email protected]> * Add support for /develop in docs site (#259) * feat: update action to build doc page in a folder * test: see if it works without if clause * test: change source for docs * Initial support for VR headsets (#241) * fixed requirements.txt so 'pip install -e .' would work on windows. * added support for n170 to run on rift * altered logic to add back in jitter * simplified logic * made fullscreen again * further simplified logic * decreased font size of instructions for vr * fixed instructions display, further simplified logic, removed logs * made code easier to read * reverted board back to muse * Enable headlocking to fix jittering - cancel out any rotation and translation coming from the headset. * fixed use_vr parameter to be set to False by default for existing experiments. * fix macos build * reverted unnecessary changes and made p300 experiment display correctly * added vr support for p300 and ssvep * fix psychxr version * adding vr doc * updated vr doco --------- Co-authored-by: John Griffiths <[email protected]> * ssaep volumefadingfixes (#81) * fixed duration on instructions screen * put sound object instantiation inside trials loop. fixes sound fading issue --------- Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: Parv Agarwal <[email protected]> Co-authored-by: Parvfect <[email protected]> Co-authored-by: Ben Pettit <[email protected]> Co-authored-by: Ore Ogundipe <[email protected]> Co-authored-by: Taha Morshedzadeh <[email protected]> Co-authored-by: Ben Pettit <[email protected]> Co-authored-by: Taha Morshedzadeh <[email protected]>
* started pipelines function * almost working simple function equivalents of nb scripts * fix: fixed import (brainflow updated API) * sqc fixes for unicorn (#176) * Ignore pushes * Trying to create a cli * Stepping through the problem * First commit * Fixing pause in signal quality check * Fixing Signal quality check problem * fix the technical debt * Save path done for automated saving pdf * I feel amazing * Almost through * Update eegnb/cli/__main__.py Co-authored-by: Erik Bjäreholt <[email protected]> * Trying to create cli but it's being really painful * Extra word cli error * Changed example handling * Pain * Adding whole datapath * Finally fixed cli * hmm * Looking good * added hyperlink * Having some issues with detecting css and image deltetion * Just the css now * Fixed the css linking problem though it's a weird soln * Automated running, still fnames problem * Hahahah embedded images in html * Improving code * Okay now * Look at that * Almost there just the two figures now * Now * Added attrdict to do with cli error Co-authored-by: John Griffiths <[email protected]> Co-authored-by: Erik Bjäreholt <[email protected]> Co-authored-by: John Griffiths <[email protected]>
As discussed, it makes sense to transition from the notebooks for analysis of eegnb experiments to a cli that can provide the user an opportunity to do the analysis without getting his hands messy with the code. This is what is being implemented in this PR.
As of now, automating the two experiments VisualN170 and VisualP300 analysis by callable functions whose use is specified in the code and repeated here,
Some discussion to be had on implementing all experiments and where this can go, but a start to make sure that there is something to talk about.
Implemented as a part of the GSOC period for EEG - Notebooks under the mentorship of John Griffiths.