{"id":17311158,"url":"https://github.com/dokato/bci-challange","last_synced_at":"2025-10-15T17:31:23.881Z","repository":{"id":72551600,"uuid":"176720364","full_name":"dokato/bci-challange","owner":"dokato","description":"Medicon 2019 BCI competition","archived":false,"fork":false,"pushed_at":"2019-09-05T18:44:08.000Z","size":47,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-05T09:24:40.299Z","etag":null,"topics":["bci","erp","lda","machine-learning"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dokato.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-20T11:38:15.000Z","updated_at":"2024-11-25T09:03:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb8fb293-4716-4132-959a-78d8bd416576","html_url":"https://github.com/dokato/bci-challange","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokato%2Fbci-challange","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokato%2Fbci-challange/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokato%2Fbci-challange/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokato%2Fbci-challange/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dokato","download_url":"https://codeload.github.com/dokato/bci-challange/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236626827,"owners_count":19179410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bci","erp","lda","machine-learning"],"created_at":"2024-10-15T12:39:40.278Z","updated_at":"2025-10-15T17:31:16.578Z","avatar_url":"https://github.com/dokato.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bci-challange\n\n## Data structure\n\nYou need to have the following file structure:\n\n```\nutils/\n   split_test_by_target.m\n   ...\ndata/\n   SBJ01/\n      SBJ01/\n        S01/\n            Train/\n              trainData.mat \n              trainEvents.txt\n            Test/\n                ...\n        S02/\n           ...\n        S03/\n           ...\n   SBJ02/\n    ...\n```\n\nThen (for given subject and session) you can simply call\n\n```matlab\nsubj = '10';\nsession = '01';\ndata_load;\n```\n(data available here: http://www.medicon2019.org/scientific-challenge/)\n\n## Dependencies\n\nYou need to add to your paths the following packages.\n\n### Riemanian approach\n\nDownload and load `lib` folder from this package:\nhttps://github.com/alexandrebarachant/covariancetoolbox\n\n### Classification\nClassification was done using ensemble implementation from the following package:\nhttps://github.com/treder/MVPA-Light\n\n## How to use it?\n\n`sketch` script consist of different modelling approaches. In general we recommend running (reading) the scripts from `make_prediction.m`, `make_mult_prediction.m`  or `createOutput.m`.\n\n## The best model\n\nOur best model consists on combined ensemble approach with Riemanian features. Simplified steps are described below. For details, look at the code.\n\n1. Make ensemble of features: different time windows size, different low-pass filters, subset of electrodes.\n2. Create prototype (template) of the ERP response, as the trimmed mean over trials from single session of a participant.\n3. Concatenate prototype with single trial signal.\n4. Compute covariances (with shrinkage) and transform them to Riemanian space.\n5. Calculate FGDA filters and perform geodesic filtering.\n6. Take upper diagonal of resulting 2D features and train ensemble of LDA classifiers.\n7. Perform cumulative probability vote per particular class (ERP or not).\n\nTo run the prediction of the best model, call simply: `createOutput.m`.\n\n## Materials\n\nhttp://www.medicon2019.org/scientific-challenge/\n\nhttp://www.medicon2019.org/wp-content/uploads/ChallengeMediconDatasetDescription.pdf\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokato%2Fbci-challange","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdokato%2Fbci-challange","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokato%2Fbci-challange/lists"}