Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
d1fb1c5
Added new Visual Pattern Reversal VEP experiment implementation, impr…
pellet Jul 16, 2025
91311dd
Merge branch 'master' into dev/prvep_experiment
pellet Jul 22, 2025
5f7cbbd
cleanup
pellet Aug 1, 2025
a4f2e0b
set up params and trial dataframe
pellet Aug 1, 2025
cbb3899
created BlockExperiment.py
pellet Aug 3, 2025
39147a5
fixed psychxr on 3.9
pellet Aug 3, 2025
f758b26
refactored experiment instructions
pellet Aug 3, 2025
43f6e58
fix
pellet Aug 3, 2025
7654574
fixed blocks and event markers
pellet Aug 4, 2025
d786e47
only 4 blocks
pellet Aug 6, 2025
4202631
block example
pellet Aug 13, 2025
456555f
fixed vr display
pellet Aug 15, 2025
4bcf3cf
dont bother with specifying python version in yml
pellet Aug 17, 2025
c1ac2fd
fixed numpy pin
pellet Aug 17, 2025
669a24e
remove the name field so it doesnt hardcode the environment name
pellet Aug 17, 2025
5dea45d
try individual eyes
pellet Aug 17, 2025
1619e3d
try drawing instructions for both eyes
pellet Aug 17, 2025
f698d67
draw block instructions correctly on monitor
pellet Aug 17, 2025
63cdfe2
draw iti for monitor and vr eyes
pellet Aug 17, 2025
ba485ef
try simplifying instructions per block for vr
pellet Aug 18, 2025
70febad
added refresh frame rate check
pellet Aug 18, 2025
342c683
fixed display on monitor which was crashing
pellet Aug 18, 2025
37d3252
fixed iti presentation to not occur mid-experiment
pellet Aug 18, 2025
f63569b
showing double vision
pellet Aug 18, 2025
fe79d11
fixed stereoscopic positioning
pellet Aug 19, 2025
f8cc28d
fixed monitor positioning
pellet Aug 19, 2025
647be89
fixed instructions
pellet Aug 19, 2025
2915061
try drawing block instructions to single eye
pellet Aug 20, 2025
1fede30
fix for globbing multiple sessions/subjects
pellet Aug 20, 2025
755be8c
try using consistent luminance in headset
pellet Aug 20, 2025
78f965d
use black background for other eye during instructions
pellet Aug 20, 2025
2e8522c
refactored to improve performance
pellet Aug 28, 2025
19349a9
allow early exit from instructions
pellet Aug 28, 2025
74a587c
clean up
pellet Aug 28, 2025
7e085c7
made more performant, no loading animation now
pellet Aug 28, 2025
3b2fedc
optimize again
pellet Aug 28, 2025
464f3a5
improved focus
pellet Aug 31, 2025
5227ced
fixed instructions
pellet Aug 31, 2025
d2e47c9
use conda
pellet Sep 18, 2025
fc9d1e3
revert change
pellet Oct 2, 2025
47c7311
Merge branch 'master' into dev/prvep_experiment
pellet Dec 4, 2025
9c0ff61
revert some unneeded changes
pellet Dec 4, 2025
49914d3
clean up
pellet Dec 4, 2025
07b6ef6
Refactor environment configuration and switch CI to Conda
google-labs-jules[bot] Dec 14, 2025
76409d7
Fix CI workflow: correct python version and shell for conda
google-labs-jules[bot] Dec 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@ on:
jobs:
build:
runs-on: ubuntu-22.04
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v4
- name: Install conda
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environments/eeg-expy-docsbuild.yml
auto-activate-base: false
python-version: 3.8

- name: Install dependencies
run: |
make install-deps-apt
python -m pip install --upgrade pip wheel
python -m pip install attrdict

make install-deps-wxpython
activate-environment: eeg-expy-full
channels: conda-forge
miniconda-version: "latest"

- name: Build project
run: |
Expand Down
6 changes: 4 additions & 2 deletions environments/eeg-expy-docsbuild.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: eeg-expy-docsbuild
channels:
- conda-forge
dependencies:
# System-level dependencies
- python>=3.8,<=3.13

# conda overrides current environment python version when not using --freeze-installed, and installs a random version of python...
# - python>=3.8,<=3.13

- pytables # install pytables for macOS arm64, so do not need to build from source.
- rust # used by docsbuild
- pip
Expand Down
6 changes: 4 additions & 2 deletions environments/eeg-expy-full.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: eeg-expy-full
channels:
- conda-forge
dependencies:
# System-level dependencies
- python>=3.8,<=3.10 # psychopy <= 3.10

# conda overrides current environment python version when not using --freeze-installed, and installs a random version of python...
# - python>=3.8,<=3.10 # psychopy <= 3.10

- dukpy==0.2.3 # psychopy dependency, avoid failing due to building wheel on win 3.9.
- numpy # fix PsychXR numpy dependency DLL issues on Windows
- pytables # install pytables for macOS arm64, so do not need to build from source.
Expand Down
6 changes: 4 additions & 2 deletions environments/eeg-expy-stimpres.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: eeg-expy-stimpres
channels:
- conda-forge
dependencies:
# System-level dependencies
- python>=3.8,<=3.10 # psychopy <= 3.10

# conda overrides current environment python version when not using --freeze-installed, and installs a random version of python...
#- python>=3.8,<=3.10 # psychopy <= 3.10

- dukpy==0.2.3 # psychopy dependency, avoid failing due to building wheel on win 3.9.
- wxpython>=4.0 # install wxpython to prevent error on macOS arm64: "site-packages/wx/_core.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN10wxBoxSizer20InformFirstDirectionEiii'"
- cffi # Fix sound ffi.callback() issue with sounddevice on macOS: https://github.com/spatialaudio/python-sounddevice/issues/397
Expand Down
6 changes: 4 additions & 2 deletions environments/eeg-expy-streaming.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: eeg-expy-streaming
channels:
- conda-forge
dependencies:
# System-level dependencies
- python>=3.8,<=3.13

# conda overrides current environment python version when not using --freeze-installed, and installs a random version of python...
#- python>=3.8,<=3.13

- liblsl # install liblsl to prevent error on macOS and Ubuntu: "RuntimeError: LSL binary library file was not found."
- pip
- pip:
Expand Down
6 changes: 4 additions & 2 deletions environments/eeg-expy-streamstim.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
name: eeg-expy-streamstim
channels:
- conda-forge
- defaults
dependencies:
# System-level dependencies
- python>=3.8,<=3.10 # psychopy <= 3.10

# conda overrides current environment python version when not using --freeze-installed, and installs a random version of python...
#- python>=3.8,<=3.10 # psychopy <= 3.10

- dukpy==0.2.3 # psychopy dependency, avoid failing due to building wheel on win 3.9.
- liblsl # install liblsl to prevent error on macOS and Ubuntu: "RuntimeError: LSL binary library file was not found."
- wxpython>=4.0 # install wxpython to prevent error on macOS arm64: "site-packages/wx/_core.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN10wxBoxSizer20InformFirstDirectionEiii'"
Expand Down
9 changes: 6 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

scikit-learn>=0.23.2
pandas>=1.1.4
numpy>=1.26.0; python_version >= "3.9"
# psychxr build pinned to this version of numpy.
numpy>=1.26,<1.27; python_version >= "3.9"
numpy<=1.24.4; python_version == "3.8"
mne>=0.20.8
seaborn>=0.11.0
Expand Down Expand Up @@ -60,7 +61,8 @@ ffpyplayer==4.5.2 # 4.5.3 fails to build as wheel.
psychtoolbox
scikit-learn>=0.23.2
pandas>=1.1.4
numpy>=1.26.0; python_version >= "3.9"
# psychxr build pinned to this version of numpy.
numpy>=1.26,<1.27; python_version >= "3.9"
numpy==1.24.4; python_version == "3.8"
mne>=0.20.8
seaborn>=0.11.0
Expand All @@ -87,7 +89,8 @@ pyglet==1.4.11 ; platform_system == "Windows"
psychxr>=0.2.4rc2; platform_system == "Windows" and python_version <= "3.9"



# Used for generating checkerboard in pattern reversal experiment
stimupy

## ~~ Docsbuild Requirements ~~
recommonmark
Expand Down
Loading