Skip to content
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

2.0.0rc4 release #338

Merged
merged 404 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
404 commits
Select commit Hold shift + click to select a range
4b9ffb0
upgrades to permit use on m2 chips
Nov 1, 2023
93ad08b
updating the CHANGELOG, downgrade the numpy version for 3.8
Nov 1, 2023
fba45ed
fix option assignment
Nov 1, 2023
3f97982
Merge branch '2.0.0rc4' into multimodal
celikbasak Nov 1, 2023
2fa0e24
New visualization method added
celikbasak Nov 1, 2023
3a97da2
Merge pull request #300 from CAMBI-tech/m2_upgrades
tab-cmd Nov 2, 2023
9848765
Merge branch '2.0.0rc4' into multimodal
celikbasak Nov 5, 2023
6df9ee8
Offline analysis bug fix
celikbasak Nov 6, 2023
c2f23ae
Linting
celikbasak Nov 6, 2023
3b94689
VEP display changes for presenting a target and animating symbols int…
lawhead Nov 6, 2023
0956e74
Added code to highlight the box with the target symbol and de-emphasi…
lawhead Nov 6, 2023
5372445
Fix typing issues
lawhead Nov 14, 2023
dca547c
Fix issue with VEP stimuli generation
lawhead Nov 14, 2023
ac382b7
Add VEP calibration task
lawhead Nov 14, 2023
f902e8e
Adds test for InquiryReshaper
Carsonthemonkey Nov 7, 2023
0545cde
Adds test for trial reshaper with no channel map
Carsonthemonkey Nov 8, 2023
f91c24a
Adds test case for invalid alp shape in
Carsonthemonkey Nov 8, 2023
fa13dd6
Fixes formatting in test_stimuli.py
Carsonthemonkey Nov 13, 2023
803e904
Adds no cover to untouched branch
Carsonthemonkey Nov 14, 2023
28044b9
appease the linter
tab-cmd Nov 14, 2023
b89c4fe
improve variable name
Carsonthemonkey Nov 14, 2023
c6bce92
Merge pull request #302 from CAMBI-tech/reshaper_testing
tab-cmd Nov 14, 2023
2352c46
Refactor for clarity; fix typing issues
lawhead Nov 15, 2023
8731cf5
Logging output to file. Sampler reshaper fixes. Single data source ty…
sreekaroo Nov 16, 2023
ea5be74
Model and visualization updates
celikbasak Nov 16, 2023
03e0894
Merge branch '2.0.0rc4' into multimodal
tab-cmd Nov 16, 2023
08a4b93
remove unused import
tab-cmd Nov 16, 2023
b98cd36
add return type to model training, lint, update the integration tests
tab-cmd Nov 16, 2023
fd865d0
add symbol set as an arg to gaze reshaper, remove todo
tab-cmd Nov 16, 2023
d7a6739
update filename
tab-cmd Nov 16, 2023
17051a2
add documentation and linting
tab-cmd Nov 16, 2023
cadaa00
Merge pull request #294 from CAMBI-tech/multimodal
tab-cmd Nov 16, 2023
630481b
Refactoring
lawhead Nov 17, 2023
27d1ad0
New parameter for vep animation time
lawhead Nov 17, 2023
2423c42
New parameter for vep animation time
lawhead Nov 17, 2023
7ae1f4e
Revert "New parameter for vep animation time"
lawhead Nov 17, 2023
7f57016
Merged upstream changes
lawhead Nov 17, 2023
348f671
Added missing import
lawhead Nov 17, 2023
b03dcd2
Add mypy and various clean up (#301)
tab-cmd Nov 18, 2023
f4faea1
prettier logging
sreekaroo Nov 20, 2023
4244299
New parameter for vep animation time
lawhead Nov 17, 2023
edc17ad
Revert "New parameter for vep animation time"
lawhead Nov 17, 2023
efba06a
Merged latest upstream
lawhead Nov 20, 2023
df3673d
Added configuration for VEP codes
lawhead Nov 20, 2023
0418f64
Added configuration for VEP codes
lawhead Nov 20, 2023
6e9f344
Fixed issues with refresh rates
lawhead Nov 21, 2023
cfb4cc7
#186539510 ; added parameter for task bar padding; fixed bug in matri…
lawhead Dec 1, 2023
2e1981b
Removed debugging code
lawhead Dec 1, 2023
cad9077
Added README for matrix display
lawhead Dec 2, 2023
5713b7c
typing incorrect decisions and backspace support
sreekaroo Dec 3, 2023
224eb32
cli runnable simulator
sreekaroo Dec 3, 2023
bfb4ecc
time step sleep in sim_parameters.json
sreekaroo Dec 3, 2023
4102a83
Output stim positions, capture screenshots, more cleanup (#303)
tab-cmd Dec 5, 2023
79e73fc
Updated parameter description with correct default
lawhead Dec 6, 2023
247b37b
Merge branch '2.0.0rc4' into task-bar-bug
lawhead Dec 6, 2023
99b8f3f
Merge pull request #306 from CAMBI-tech/task-bar-bug
lawhead Dec 6, 2023
5ef2626
Bump wxpython version requirements needed for successful installation…
lawhead Dec 7, 2023
8cf0ce7
Removed parameter for VEP flicker rate configuration
lawhead Dec 8, 2023
8e58b5b
Removed option to layout VEP with 4 boxes
lawhead Dec 8, 2023
e3510b2
Add missing property
lawhead Dec 8, 2023
7381588
Added typings; fixed linting; fixed broken tests
lawhead Dec 8, 2023
a9e9ed6
Merged latest upstream
lawhead Dec 8, 2023
90aa3f2
Added debugging for frame rate
lawhead Dec 8, 2023
5a550d1
Cleanup
lawhead Dec 12, 2023
5311d97
recording metrics and storing series_results bug fix
sreekaroo Dec 12, 2023
b3371fe
Fixed bug in highlighting target box
lawhead Dec 12, 2023
9283658
Hide all letters before showing checkerboard stim
lawhead Dec 12, 2023
2abc4ee
#186539529 ; restructure lsl_client to address a data buffering issue…
lawhead Dec 14, 2023
be6b292
Fixes an issue with logging samples that was caused by the provided t…
lawhead Dec 22, 2023
928944a
Merge pull request #307 from CAMBI-tech/m2-installation
lawhead Dec 22, 2023
11010ea
Merged latest upstream
lawhead Dec 22, 2023
91f0207
Merged latest upstream
lawhead Dec 22, 2023
f7033bb
cleanup from PR suggestions
lawhead Dec 22, 2023
8ee2170
Merge pull request #308 from CAMBI-tech/data-buffering-issue
lawhead Dec 22, 2023
29268f7
Merged latest upstream
lawhead Dec 22, 2023
b92ad51
#186164071 ; added active/passive status to devices
lawhead Jan 6, 2024
272b0ee
Added documentation
lawhead Jan 6, 2024
4040285
sim README.md
sreekaroo Jan 7, 2024
dd5932c
deleting first sim draft
sreekaroo Jan 9, 2024
810b6c9
linting
sreekaroo Jan 9, 2024
f5932a6
pylint clean ups
sreekaroo Jan 9, 2024
172bedf
Refactored VEP display to take a parameter for flicker_rates, rather …
lawhead Jan 9, 2024
a8856a0
Merge pull request #304 from CAMBI-tech/vep-calib
lawhead Jan 10, 2024
937f90e
Merged latest upstream
lawhead Jan 10, 2024
afce143
Merge pull request #310 from CAMBI-tech/device-recording-status
lawhead Jan 10, 2024
b1aac71
Add tests for current query behavior
lawhead Jan 11, 2024
46c1be3
Remove redundant tests
lawhead Jan 11, 2024
937f1bd
Refactored NBestStimuliAgent to randomize symbols with the same proba…
lawhead Jan 11, 2024
14acccd
Set default lm_backspace_prob to 0
lawhead Jan 11, 2024
00b4500
Bug fix in multimodal active settings
lawhead Jan 12, 2024
ef0182d
Cleanup
lawhead Jan 12, 2024
a03ae36
model handler pickle load in constructor
sreekaroo Jan 22, 2024
9b946ae
language model support + evidence fusing bug fix
sreekaroo Jan 22, 2024
ccd1754
#186890663 ; bug fix for active/passive devices
lawhead Jan 25, 2024
189029c
Fixed linting
lawhead Jan 25, 2024
973386e
Updated macos workflow
lawhead Jan 25, 2024
bb3a60a
Merge pull request #312 from CAMBI-tech/passive-device-bug
lawhead Jan 27, 2024
abaef70
Merged latest upstream
lawhead Jan 27, 2024
0e111d2
Merge pull request #311 from CAMBI-tech/random-uniform
lawhead Jan 27, 2024
867c7d9
singular data folder wrapper
sreekaroo Jan 28, 2024
9d7f3a6
supporting trial_length param for data processing
sreekaroo Jan 29, 2024
6cc0c51
adding resource file to data_engine test
sreekaroo Jan 29, 2024
1754215
#186539584 ; modified matrix display tasks to always show the grid
lawhead Feb 1, 2024
e91f1ff
backspace prob included in lm evidence
sreekaroo Feb 5, 2024
ee7bb01
total_time_spent estimate
sreekaroo Feb 5, 2024
95c16fd
refactor logging configuration
sreekaroo Feb 5, 2024
0671627
minor log clean
sreekaroo Feb 5, 2024
2594d66
Merge pull request #313 from CAMBI-tech/matrix-always-on
lawhead Feb 5, 2024
a45dfe8
Merged upstream changes
lawhead Feb 5, 2024
77ab107
Fixed merge error
lawhead Feb 5, 2024
a4b39a1
result output artifact
sreekaroo Feb 6, 2024
bf7dc79
Merge branch 's_simple_sampler_simulator' into logging-fix
sreekaroo Feb 6, 2024
a03cad1
Merge pull request #309 from CAMBI-tech/logging-fix
sreekaroo Feb 6, 2024
8da4ecf
Add Data Source (#314)
lawhead Feb 14, 2024
dc1671c
save directory
sreekaroo Feb 14, 2024
ab950f2
.gitkeep generated directory
sreekaroo Feb 14, 2024
0973eaf
Merge branch '2.0.0rc4' into s_simple_sampler_simulator
sreekaroo Feb 14, 2024
978c4ad
#187083845 ; added Oracle Language Model
lawhead Feb 20, 2024
34a5e75
Added checks for valid property values; updated changelog
lawhead Feb 21, 2024
21aedb4
Updated OracleLanguageModel to handle the case when the evidence exce…
lawhead Feb 22, 2024
efc21bb
Merge pull request #316 from CAMBI-tech/oracle-lm
lawhead Feb 23, 2024
19d98d1
Multiple run feature for sim (#317)
sreekaroo Feb 25, 2024
38afa55
starting to make artifact look like session.json
sreekaroo Mar 7, 2024
29a5b24
changed series from list to dictionary in result.json
sreekaroo Mar 14, 2024
aa9cc7f
Usability fixes (#318)
lawhead Mar 14, 2024
fb93494
Merge branch '2.0.0rc4' into s_simple_sampler_simulator
sreekaroo Mar 14, 2024
5576589
Added new sampler to sample an Inquiry at a time
lawhead Mar 18, 2024
a93b782
cleaned up TODO comments
sreekaroo Mar 18, 2024
7614e75
#187261791 ; refactor acquisition to record using a process rather th…
lawhead Mar 23, 2024
9e9edaa
Added script to demonstrate LSL buffering issue and to test against f…
lawhead Mar 23, 2024
013fb71
Renamed variables for clarity; added documentation
lawhead Mar 25, 2024
2d31a86
Merge pull request #319 from CAMBI-tech/inquiry_sampler
lawhead Mar 25, 2024
9b909a6
starting state bug
sreekaroo Mar 25, 2024
29e1ab2
LM always on. Read lm_type from sim_parameters.json
sreekaroo Mar 25, 2024
ce302af
Merge remote-tracking branch 'origin/s_simple_sampler_simulator' into…
sreekaroo Mar 25, 2024
aa87488
incorrect decisions metric
sreekaroo Apr 4, 2024
9a2f458
ReadMe updates
sreekaroo Apr 4, 2024
b57464a
Refactoring for clarity and debugging
lawhead Apr 29, 2024
04fe4e8
Merge pull request #321 from CAMBI-tech/pause-error
lawhead Apr 29, 2024
1025609
#186522989 ; Added the ability to store task-specific data in a Sessi…
lawhead May 7, 2024
93ac89e
#186522989 ; added session.json writing to the VEP Calibration Task t…
lawhead May 7, 2024
c9aee26
Added time spent to VEP calibration session
lawhead May 16, 2024
287e87d
Fix typing issues
lawhead May 17, 2024
6ddd5d6
Merge pull request #322 from CAMBI-tech/vep-calib-triggers
lawhead May 17, 2024
6b99638
#185720052 ; updates the main GUI with the new parameter location aft…
lawhead May 20, 2024
c009980
GitHub actions MacOS build fix (#324)
Carsonthemonkey May 23, 2024
ca32569
Merged latest upstream
lawhead May 28, 2024
39e7821
Merge pull request #323 from CAMBI-tech/save-as-bug
lawhead May 28, 2024
836e284
removes randomly failing test
Carsonthemonkey May 30, 2024
0cf22ec
Add BciPy Report (#325)
tab-cmd May 30, 2024
3d99f1a
Added a base calibration class for generically representing a calibra…
lawhead Jun 4, 2024
6b0edb7
Added session data to base calibration task
lawhead Jun 4, 2024
7dd459f
adds test to see if stimuli are randomized
Carsonthemonkey Jun 4, 2024
db3a8fa
Update changelog
Carsonthemonkey Jun 4, 2024
2952f6c
Lints `test_stimuli`
Carsonthemonkey Jun 4, 2024
cc6d830
simplifies sample set insertion
Carsonthemonkey Jun 5, 2024
4a80994
Adds PR reference to changelog
Carsonthemonkey Jun 5, 2024
c7d0d17
Merge pull request #326 from CAMBI-tech/stimuli-test-fix
Carsonthemonkey Jun 5, 2024
69dfe48
Offset analysis updates (#327)
tab-cmd Jun 9, 2024
d5c79e3
Refactored base calibration to make it easier to subclass
lawhead Jun 11, 2024
a595268
Refactored RsvpCalibrationTask to subclass BaseCalibration
lawhead Jun 11, 2024
1902fe3
Refactored RSVP timing verification to subclass RsvpCalibration
lawhead Jun 11, 2024
28c95cf
Refactored Matrix calibration to subclass BaseCalibration; refactored…
lawhead Jun 11, 2024
e957f94
Refactor VEP calibration to subclass BaseCalibration task
lawhead Jun 12, 2024
10f91c4
Linting
lawhead Jun 12, 2024
477d1ee
Merged latest upstream
lawhead Jun 12, 2024
c8fa778
Refactor InquirySchedule iterator to retain expected properties of a …
lawhead Jun 26, 2024
18ebe1e
Refactor unit tests for matrix calibration
lawhead Jun 26, 2024
cca8366
Refactor RSVP calibration unit tests
lawhead Jun 26, 2024
8e32c5e
Fixed typing issues and linting
lawhead Jun 27, 2024
7c24188
Updated comments
lawhead Jun 27, 2024
4ebbb7c
Added documentation
lawhead Jul 3, 2024
e8d5186
Merge pull request #330 from CAMBI-tech/calib-task-refactor
lawhead Jul 3, 2024
1df200c
#187737714 ; refactor to configure static_offset per device
lawhead Jul 11, 2024
fc29194
Updated Tobii eyetracker device with a static offset of 0.1
lawhead Jul 16, 2024
c5204da
Reset Tobii static_offset back to 0.0
lawhead Jul 16, 2024
72dd333
Merge pull request #331 from CAMBI-tech/static-offset-refactor
lawhead Jul 16, 2024
d16e207
Merged latest upstream
lawhead Jul 16, 2024
34757cf
Fixed linting errors
lawhead Jul 29, 2024
8db8975
Refactored RawDataEngine to take a data_processor parameter; refactor…
lawhead Jul 30, 2024
18063e8
Remove duplicate code with hard-coded paths
lawhead Jul 31, 2024
c34c67a
Renamed SimulationFactory and reformatted
lawhead Jul 31, 2024
440e3a1
Fix typing issues
lawhead Jul 31, 2024
38cff8f
Merge pull request #335 from CAMBI-tech/sim-cleanup
lawhead Aug 1, 2024
65bdbbb
Refactored SimRunner to simplify to a single case (multiple runs). Re…
lawhead Aug 13, 2024
3ef8a68
Refactor to capture logging from data engine
lawhead Aug 13, 2024
29607be
Refactor sim directory creation code out of sim_runner. Refactor to o…
lawhead Aug 13, 2024
e58b662
Logged simulation config
lawhead Aug 14, 2024
18b3c95
Linting
lawhead Aug 14, 2024
0b969c0
Remove breakpoint in code
lawhead Aug 14, 2024
9440eda
Revert parameters
lawhead Aug 14, 2024
c66bcfc
Output simulation run as session.json data that can be analyzed and v…
lawhead Aug 14, 2024
586e4d1
Artifact Detection and BCI-Fit Artifact Report (#336)
tab-cmd Aug 19, 2024
18c5434
Fixed linting and typing issues
lawhead Aug 22, 2024
3f77077
Merge pull request #341 from CAMBI-tech/logging-issues
lawhead Aug 22, 2024
c254376
Fixes inquiry initialization bug for simulator
lawhead Aug 23, 2024
05859b9
Merge pull request #342 from CAMBI-tech/sim-inquiry-initialization
lawhead Aug 23, 2024
324dc1a
Created a new Copy Phrase Task for simulation to more closely utilize…
lawhead Aug 27, 2024
d20d314
Added a data_process module to the simulator. Re-structured the data …
lawhead Aug 30, 2024
c2533d8
Code cleanup
lawhead Aug 30, 2024
f91c758
Typing fixes
lawhead Aug 30, 2024
8640e8d
Created TaskFactory for constructing new simulation tasks. Separated …
lawhead Aug 31, 2024
0887d8c
Refactored TaskFactory into its own module. Cleaned up types and docu…
lawhead Sep 4, 2024
9ee8237
Refactored DataEngine process for loading and transforming data. Prov…
lawhead Sep 11, 2024
7066c35
Sim task cleanup
lawhead Sep 11, 2024
bd45e48
Fixed unit tests and linting errors
lawhead Sep 11, 2024
8d80504
Merge pull request #345 from CAMBI-tech/data-loading-refinements
lawhead Sep 12, 2024
2d2ba56
Surface btn error probability (#347)
tab-cmd Sep 16, 2024
d9950b1
Inquiry preview bugfix (#348)
tab-cmd Sep 16, 2024
96a8382
Delete unused or redundant code
lawhead Sep 21, 2024
c0fb47e
Improved documentation
lawhead Sep 23, 2024
36ebc40
Set simulator output to data folder. Re-organized modules
lawhead Sep 23, 2024
980b93a
Fix issue with gitignore
lawhead Sep 23, 2024
bd29127
Added functionality for debugging simulator output
lawhead Sep 23, 2024
d38dd66
Fixed linting issue
lawhead Sep 23, 2024
4c898c5
Merge pull request #350 from CAMBI-tech/clean-unused
lawhead Sep 23, 2024
7fc3a01
Merged upstream changes
lawhead Sep 23, 2024
226c4cc
Add missing parameters to the simulation params file
lawhead Sep 23, 2024
4af8825
Revert changes on non-simulator modules
lawhead Sep 23, 2024
c211198
Cleanup based on PR feedback
lawhead Sep 25, 2024
2aeb419
Added logging for missing parameters
lawhead Sep 25, 2024
45524bb
Updated documentation
lawhead Sep 25, 2024
edf838b
Merge pull request #315 from CAMBI-tech/s_simple_sampler_simulator
lawhead Sep 26, 2024
5ffff7d
Added stoppage criteria for max incorrect
lawhead Sep 26, 2024
a4b4d01
Reverted parameter
lawhead Sep 26, 2024
2d0929f
Set default max_incorrect value to 5
lawhead Sep 27, 2024
8f38b36
Merge pull request #351 from CAMBI-tech/stoppage-max-incorrect
lawhead Sep 27, 2024
c365be6
Added inquiry preview to matrix display and tasks.
lawhead Oct 2, 2024
2bab785
Linting
lawhead Oct 2, 2024
de697ba
Added unit tests for matrix display
lawhead Oct 2, 2024
7629ba8
Created a helper method for creating button press handlers. Refactor …
lawhead Oct 3, 2024
f78e927
Fix typing issues
lawhead Oct 4, 2024
0eff172
Refactored RSVP display to use button press handler. Fixed regression…
lawhead Oct 4, 2024
c14fccb
Modified RSVP calibration task to correctly initialize the display
lawhead Oct 4, 2024
963b6e6
Updated the base calibration to fix a trigger issue in matrix when us…
lawhead Oct 4, 2024
7508da5
Merge pull request #353 from CAMBI-tech/matrix-inquiry-preview
lawhead Oct 10, 2024
259f8ef
#188038501 ; Changed model loading behavior to prompt using a separat…
lawhead Oct 19, 2024
a635baa
Session orchestrator (#339)
tab-cmd Oct 23, 2024
a12af8e
Merged latest upstream
lawhead Oct 24, 2024
40f0770
Added model loading changes to Copy Phrase task
lawhead Oct 24, 2024
d8065ea
Preview Copy Phrase on the Matrix wait screen
lawhead Oct 24, 2024
d7a5b31
Merge pull request #356 from CAMBI-tech/matrix-preview-phrase
lawhead Oct 24, 2024
862e3e0
Merge pull request #355 from CAMBI-tech/model-loading
lawhead Oct 24, 2024
437e720
Report artifact enhancements, README, Python 3.10.6 support (#357)
tab-cmd Oct 29, 2024
be07e59
Simulator fix and orchestrator saving updates (#358)
tab-cmd Oct 30, 2024
3882e19
#188514964 ensure that button evidence is only produced when button p…
lawhead Nov 1, 2024
95a12b2
Fixed type errors
lawhead Nov 2, 2024
171c706
Merge pull request #359 from CAMBI-tech/conditional-btn-evidence
lawhead Nov 2, 2024
a56e1d8
Offline analysis updates for multimodal fusion. (#360)
celikbasak Nov 5, 2024
683dc59
final lint!
tab-cmd Nov 5, 2024
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
11 changes: 9 additions & 2 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,22 @@
[run]
omit =
*__init__*
*__main__*
*/usr/local/lib*
*tests*
*test*
*demo*
*gui/*
*exceptions.py
*/gui/experiments/*
*/gui/viewer/*
*/gui/BCInterface.py

[report]
exclude_lines =
pragma: no cover
def __repr__
def __str__
raise NotImplementedError
if __name__ == .__main__.:
@abstract
if __name__ == .__main__.:
logging.getLogger(__name__)
70 changes: 0 additions & 70 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

75 changes: 42 additions & 33 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.8, 3.9]
python-version: [3.8, 3.9, 3.10.6]

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
- name: Update OS, pip & install custom dependencies
run: |
sudo apt-get update
sudo apt-get install libgtk-3-dev
Expand All @@ -37,13 +37,9 @@ jobs:
sudo apt-get install xvfb
python -m pip install --upgrade pip
pip install attrdict3
pip install -r dev_requirements.txt
pip install -e .
pip install kenlm==0.1 --global-option="--max_order=12"
- name: Lint with flake8
- name: Install dependencies
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 bcipy
make dev-install
- name: Unit test
if: always()
run: |
Expand All @@ -59,66 +55,79 @@ jobs:
else
echo "Ubuntu test failure"
fi
- name: type-check
run: |
make type
- name: lint
run: |
make lint

build-windows:

runs-on: windows-latest
strategy:
fail-fast: false
matrix:
python-version: [3.8, 3.9]
python-version: [3.8, 3.9, 3.10.6]

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies for python3.9
if: matrix.python-version == 3.9
- name: update pip & install custom dependencies
run: |
python -m pip install --upgrade pip
pip install ./.bcipy/downloads/pyWinhook-1.6.2-cp39-cp39-win_amd64.whl
- name: Install dependencies
- name: install manually downloaded pyWinhook wheel for Python 3.9
if: matrix.python-version == 3.9
run: |
python -m pip install --upgrade pip
pip install -r dev_requirements.txt
pip install -e .
pip install kenlm==0.1 --global-option="--max_order=12"
- name: Lint with flake8
pip install ./.bcipy/downloads/pyWinhook-1.6.2-cp39-cp39-win_amd64.whl
- name: install dependencies
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 bcipy
- name: Unit test
make dev-install
- name: unittest
if: always()
run: |
coverage run --branch --source=bcipy -m pytest --mpl -k "not slow"
make coverage-report
- name: type-check
run: |
make type
- name: lint
run: |
make lint

build-macos:

runs-on: macos-latest
strategy:
fail-fast: false
matrix:
python-version: [3.8, 3.9]
python-version: [3.8, 3.9, 3.10.6]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
- name: update pip & install custom dependencies
run: |
sh scripts/shell/m2chip_install.sh
brew install labstreaminglayer/tap/lsl
python -m pip install --upgrade pip
pip install -r dev_requirements.txt
pip install -e .
pip install kenlm==0.1 --global-option="--max_order=12"
- name: Lint with flake8
- name: install dependencies
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 bcipy
- name: Unit test
make dev-install
- name: unittest
if: always()
run: |
coverage run --branch --source=bcipy -m pytest --mpl -k "not slow"
make coverage-report
- name: type-check
run: |
make type
- name: lint
run: |
make lint


21 changes: 14 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,33 +1,40 @@
# OS and Package Files
*.pyc
*~
.DS_Store
.cache/
.vscode/
.tm_properties
.mypy_cache/
data/
mypy-html.css
.coverage
index.html
htmlcov/
html/

# Virtualenv
venv/
venv*/
__pycache__/
.cache/

# BciPy files and directories
calibration.csv
rawdata.csv
*.csv
*.pdf
buffer.db
lmwrap.log
env.txt
.idea
.coverage
htmlcov/
bcipy.egg-info/
data/
build/
dist/

bcipy/parameters/parameters_*
bcipy_cache

bcipy/language/lms/lm_dec19_char_large_12gram.*
bcipy/language/lms/out_*
bcipy/language/out/


bcipy/simulator/tests/resource/
!bcipy/simulator/data
78 changes: 75 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,79 @@
# 2.0.1-rc.3
# 2.0.0-rc.4

Our final release candidate before the official 2.0 release!

## Contributions

- Bug Fixes
- Fix for missing inits and static assets #284 catch sessions with no data #284 move experiment and field assets to parameters location #284
- Multimodal Acquisition and Querying
- Support for multiple devices in online querying #286
- Support for trigger handling relative to a given device #293
- Support multiple device static offests #331
- Support for Device Status (passive or active) #310
- Session Orchestrator #339
- New task protocol for orchestrating tasks in a session. This refactors several Task and Cli functionality #339, #343
- Parameter guardrails #340
- Allow multiple phrases in a single protocol to be defined in a phrase.json and randomized #352
- BciPy Client Additions #346
- Other commands added for offline analysis, visualization and simulation.
- Artifact Module #336
- Simulator #350
- Task
- Calibration Task Refactor: pulls out common elements from RSVP and Matrix calibration tasks #330
- Registry Refactor #332
- Inquiry Preview
- Surface button error probability #347
- Add to Matrix #353
- Bugfixes/Refactor #348
- Add more stoppage criteria #351 (max_incorrect)
- Matrix
- Layout Support #349
- Grid always on #313
- Output stimuli position, screen capture and monitor information after Matrix tasks #303
- Row/Column spacing support #298
- VEP Calibration #304/#296
- session data to VEP calibration #322
- Model
- Offline analysis to support multimodal fusion. Initial release of GazeModel, GazeReshaper, and Gaze Visualization #294
- Updates to ensure seamless offline analysis for both EEG and Gaze data #305
- Offline analysis support for EEG and (multiple) gaze models. Updates to support Eye Tracker Evidence class #360
- Language Model
- Add Oracle model #316
- Random Uniform model #311
- Stimuli
- Updates to ensure stimuli are presented at the same frequency #287
- Output stimuli position, screen capture and monitor information after Matrix tasks #303
- Dynamic Selection Window
- Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291
- Report
- Functionality to generate a report in the form of a PDF #325
- Add a BciPy Calbiraiton Report Action #357
- Offset Support
- Add support for determining offsets between timing verification Tasks (Ex. RSVPTimingVerificationCalibration) and RawData with a photodiode trigger column. This is useful for setting up new systems and preventing errors before an experiment begins. #327
- Parameters
- Add a Range type parameter #285 Add editable fields #340 Update parameters.json to seperate relevant parameters by task
- Housekeeping
- Add mypy typing to the codebase #301
- Change default log level to INFO to prevent too many messages in the experiment logs #288
- Upgrade requirements for m1/2 chips #299/#300
- Fix GitHub actions build issues with macOS #324
- Tests Improvements
- Fix occasionally failing test in `test_stimuli` #326
- Reshaper tests #302
- Fix parameter save as #323
- Pause error #321
- Fix data buffer issue #308
- GUI Refactor #337
- Create new `BCIUI` class for simpler more straightforward UI creation.
- Create dedicated external stylesheet for global styling
- Rewrite Experiment Registry to use new GUI code
- Create intertask action UI
- Task Return Object #334
- Create `TaskData` dataclass to be returned from tasks
- updates task `execute` methods to return an instance of `TaskData`
- Allows for optional storage of a save path and task dictionary in `TaskData`
-Experiment Refactor #333 #329
- Refactors the Experiment Field Collection GUI to be an action
- Allows task protocol to be defined in the orchestrator

# 2.0.0-rc.3

Expand All @@ -17,9 +87,11 @@
- Set channel spec information in devices.json. Removed aliases. #266 Updated default analysis channels for Wearable Sensing devices #279
- Refactor to allow multiple devices to be configured for multimodal acquisition. #277
- Refinements to LSL server to use the device ChannelSpec information for generating metadata. #282
- Updated data consumers to explicitly set a chunk size. Refinements to LSL server to simulate different chunk sizes. #292
- Matrix
- Matrix calibration refinements #262
- Matrix Copy Phrase Task #261
- Matrix displays can be parameterized with a given number of rows and columns. #289
- RSVP
- RSVP Calibration pulls out inquiry preview parameters and calls the display with them if enabled
- RSVP Display `do_inquiry` accepts a preview_calibration argument that will present the full inquiry to come if True after the prompt and before the fixation
Expand Down
Loading
Loading