bci_errps_2019's People
Forkers
keepstudyingaheadbci_errps_2019's Issues
Correct the EOG correction in the preprocess
for i=1:size(dirinfo)
if contains(dirinfo(i).name, 'calibration')
path = [dirinfo(i).folder '/' dirinfo(i).name];
[calibration_signal, calibration_header] = sload([path '/' dirinfo(i).name '.gdf']);
calibration_behavior = single(dlmread([path '/' dirinfo(i).name '.txt']));
end
end
calibration_eeg = calibration_signal(:, 1:num_channels);
calibration_eog = calibration_signal(:, 17:19);
% EOG correction
if do_eog_correction
eog_b = filterEOG(calibration_eeg, calibration_eog);
eeg = eeg - eog * eog_b;
end
online decoder function
takes model and online data and outputs the posterior error probability
Offline decoder (incl. features extract) and dissucsion
Performance Metrics
Add MCC also to the model selection
LDA
create the LDA model
Train with different training set sizes
Accuracy and bias plots for each training set size (the number of trials used for the training which will be an indication of the calibration time)
(Moving from issue #6 because this is a different task)
CCA mean correction
Add mean correction to the CCA fct and return mean to be used for testing data centering
Topo plots
1- Take it at multiple time points
2- use the mean over a window
3- (optional) separate 20-40-60 degrees
Our own data loading
Create a dropbox so we all have everyone data, use Manu fct to concat them
Make beautiful plots!
plot the ErrERP and CorrERP together with their difference โ> we should see two two early + and - peaks and two broader + and - peaks
feature selection(8 channels average downsampled + PCA)
EEG corrlate (report + code)
Double-check delay with Butterworth filter
Euclidean Laplacian implementation
add an option input for the same function
Cross validation function + LDA
Contest!
evaluation for online decoding
run a cross validation to decide the threshold of error detection as hyperparameter
Common table of results
Start recording performance on a common Google sheet https://docs.google.com/spreadsheets/d/1lYXYrcpfHNmf_E0zMpSmmp3nSiI33lCMQdfRiojoxq0/edit#gid=0
This will help us keep track of our results. Should help for the presentation as well
Fix feature extraction
- PCA false but still need to do feature extraction
- Select based on Fisher score
Separate the channel selection from feature extraction
Add better performance metrics
Get other performance metrics like precision, recall, F-measure, etc
Set up reusable training and testing pipeline
- Make a function to train models with different preprocessing steps
- accuracy and bias plots for each training set size(the number of trials used for the training which will be an indication of the calibration time)
Separate 20, 40, 60 degrees (optional)
Try out different models
Cross-validation
Conclusion, reference and making code nice
Output the W matrix from the CCA function
If we decide to do CCA in the online decoding, we will need it:)
Probably it would be better to change CCA such that it only take train data and output W. Then in the model assessment we can apply W on test data. Like this we can use the same function in the online decoding too. Because for the online decoding we only need to find W on the train data and there is no test data.
Intro and online decoding
Artifact removal(optional)
LDA
create the LDA model
Get access to training sets in main.m
Move the cross-validation loop to main.m, so that we can evaluate different models with the same splits in case we want to.
Preprocess for both offline and online decoding
Review Spatial Filters
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.