Jump to content

CortecExperience: Difference between revisions

From BCI2000 Wiki
Pbrunner (talk | contribs)
Nluczak (talk | contribs)
No edit summary
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Getting Started with BCI2000=
==Howto steps==
*[[Programming Howto:Install Prerequisites|Install Prerequisites]]
:shows you how to install TortoiseSVN, CMake, VisualStudio, and Qt.
*[[Programming Howto:Register with BCI2000 Project|Register with the BCI2000 Project]]
:explains how to obtain a BCI2000 user account.
*[[Programming Howto:Download the BCI2000 Sourcecode|Download the BCI2000 Sourcecode]]
:details the steps how to use TortoiseSVN to download the BCI2000 sourcecode.
*[[Programming Howto:Configure BCI2000 for Compilation|Configure BCI2000 for Compilation]]
:demonstrates how to use CMake to create a BCI2000 solution file.
*[[Programming Howto:Compile BCI2000|Compile BCI2000]]
:illustrates how to compile BCI2000 using VisualStudio.
*[[Programming Howto:Create a custom Signal Processing Module|Create a custom Signal Processing Module]]
:shows how to create a new BCI2000 module from a template.
*[[Programming Howto:Attach the Debugger to a BCI2000 Module|Attach the Debugger to a BCI2000 Module]]
:explains how to attach the VisualStudio debugger to a running module.
*[[Programming Howto:Programmatically wait for the Debugger in a BCI2000 Module|Programmatically wait for the Debugger in a BCI2000 Module]]
:explains how to halt execution of a BCI2000 module, and wait for the user to attach a debugger.
*[[Programming Howto:Deploy a Release version of a BCI2000 Module|Deploy a Release version of a BCI2000 Module]]
:demonstrates how to build a self-contained version of your new module.
==Video Overview==
<youtube alignment="center">https://youtu.be/3Jz527f2n5o</youtube>


=Introduction Video of CorTec Brain Interchange with BCI2000=
<youtube alignment="center" dimensions="900">https://youtu.be/TMZPQPhRnn8</youtube>


=Getting Started with Cortec BIC in BCI2000=
=Getting Started with Cortec BIC in BCI2000=


*[[CortecADC]]
#[[Programming Howto:Building and Customizing BCI2000|Install BCI2000]]
:This article shows how to configure and use the Cortec BIC in BCI2000
#*Here you will learn how to configure and compile BCI2000 on your own computer.
 


*[[Contributions|XsensMTwLogger]]
#[[CortecADC]]
#*This article steps you through all the available configuration options and information stored with using BCI2000 with the Brain Interchange.


:This article shows how to combine any BCI2000 source module the XsensMTw device to capture motion simultaneously with electrophysiological signals.
#[[Contributions:XsensMTwLogger]]
#*This article shows how to combine any BCI2000 source module the XsensMTw device to capture motion simultaneously with electrophysiological signals.


=Canine Surgical Procedure=
=Canine Surgical Procedure=
Line 40: Line 19:
Download the [https://bci2000.org/downloads/doc/Canine_Cortec_Surgical_Protocol.pdf surgical protocol here].
Download the [https://bci2000.org/downloads/doc/Canine_Cortec_Surgical_Protocol.pdf surgical protocol here].


Download the updated [https://wustl.box.com/s/hq5rgw4mnb70nd6f07jkk50u2o70n46s surgical protocol here].


=Preliminary experience with the CorTec BrainInterchange device in a canine modele=
=Preliminary experience with the CorTec BrainInterchange device in a canine modele=
Line 47: Line 27:


Download the [https://bci2000.org/downloads/doc/Preliminary_experience_with_the_CorTec_BrainInterchange_device_in_a_canine_model.pdf article here].
Download the [https://bci2000.org/downloads/doc/Preliminary_experience_with_the_CorTec_BrainInterchange_device_in_a_canine_model.pdf article here].
=Data Sharing=
This data recorded is freely available on DANDI and OpenNeuro.
Download the [https://dandiarchive.org/dandiset/000571?pos=1 canine data from DANDI].
Download the [https://openneuro.org/datasets/ds004624/versions/1.0.1 canine data from OpenNeuro].
=Closed-loop Stimulation=
With BCI2000, it is possible to stimulate with the Brain Interchange based on processed signals from Brain Interchange recordings! BCI2000's infrastructure was created for closed-loop control, as it processes the recorded activity and can directly use the results to affect the task or stimulation.
'''See the [[Closed-Loop Stimulation]] page for more information!'''
<youtube alignment="center" dimensions="900">https://youtu.be/YIM_YmoHRR8</youtube>
To start out, we can review how to conduct a closed-loop brain-computer interface task. This has a very similar pipeline to closed-loop stimulation so it is a good place to start. Review the [[User Tutorial:Mu Rhythm BCI Tutorial|Mu Rhythm tutorial]] for in-depth instructions on how to set it up.
Now that we have the closed-loop task control reviewed, we can move on to closed-loop stimulation. Since CortecADC is a source module, stimulation is conducted in the source module (review the [[User Reference:Filters|Filters]] page for BCI2000 overview). This means we have to carry-over the results from the past signal processing pipeline to the next block. This can be done with States, which stream through all the modules of BCI2000 in a closed-loop fashion. Since Cortec stimulation is controlled with Expressions, a State that was changed due to the processed signal will trigger stimulation. For example, you can use EarlyOffsetExpression available in the [[User Tutorial:StimulusPresentation|StimulusPresentation]] Application module to change stimuli due to a processed signal. You would set up the stimulation to be triggered once the new stimulus is reached, due to EarlyOffsetExpression becoming true.
=Synchronize Inertial Measurement Units with the CorTec Brain Interchange=
<youtube alignment="center" dimensions="900">https://youtu.be/-SOUX5J1vJE</youtube>
[[Category:Video]]

Latest revision as of 16:51, 15 May 2026

Introduction Video of CorTec Brain Interchange with BCI2000

Getting Started with Cortec BIC in BCI2000

  1. Install BCI2000
    • Here you will learn how to configure and compile BCI2000 on your own computer.
  1. CortecADC
    • This article steps you through all the available configuration options and information stored with using BCI2000 with the Brain Interchange.
  1. Contributions:XsensMTwLogger
    • This article shows how to combine any BCI2000 source module the XsensMTw device to capture motion simultaneously with electrophysiological signals.

Canine Surgical Procedure

This article presents a brief introduction to surgical protocols for the implantation of the CorTec Brain Interchange. The main objective is to introduce the essential surgical considerations for implanting this device in different animal models.

Download the surgical protocol here.

Download the updated surgical protocol here.

Preliminary experience with the CorTec BrainInterchange device in a canine modele

This article describes initial work toward an ecosystem for adaptive neuromodulation in humans by documenting the experience of implanting CorTec's BrainInterchange (BIC) device in a beagle canine and using the BCI2000 environment to interact with the BIC device. It begins with laying out the substantial opportunity presented by a useful, easy-to-use, and widely available hardware/software ecosystem in the current landscape of the field of adaptive neuromodulation, and then describes experience with implantation, software integration, and post-surgical validation of recording of brain signals and implant parameters. Initial experience suggests that the hardware capabilities of the BIC device are fully supported by BCI2000, and that the BIC/BCI2000 device can record and process brain signals during free behavior. With further development and validation, the BIC/BCI2000 ecosystem could become an important tool for research into new adaptive neuromodulation protocols in humans.

Schalk G, Worrell S, Mivalt F, Belsten A, Kim I, Morris JM, Hermes D, Klassen BT, Staff NP, Messina S, Kaufmann T, Rickert J, Brunner P, Worrell GA, Miller KJ. Toward a fully implantable ecosystem for adaptive neuromodulation in humans: Preliminary experience with the CorTec BrainInterchange device in a canine model. Front Neurosci. 2022 Dec 19;16:932782. doi: 10.3389/fnins.2022.932782. PMID: 36601593; PMCID: PMC9806357.

Download the article here.


Data Sharing

This data recorded is freely available on DANDI and OpenNeuro.

Download the canine data from DANDI.

Download the canine data from OpenNeuro.

Closed-loop Stimulation

With BCI2000, it is possible to stimulate with the Brain Interchange based on processed signals from Brain Interchange recordings! BCI2000's infrastructure was created for closed-loop control, as it processes the recorded activity and can directly use the results to affect the task or stimulation.

See the Closed-Loop Stimulation page for more information!

To start out, we can review how to conduct a closed-loop brain-computer interface task. This has a very similar pipeline to closed-loop stimulation so it is a good place to start. Review the Mu Rhythm tutorial for in-depth instructions on how to set it up.

Now that we have the closed-loop task control reviewed, we can move on to closed-loop stimulation. Since CortecADC is a source module, stimulation is conducted in the source module (review the Filters page for BCI2000 overview). This means we have to carry-over the results from the past signal processing pipeline to the next block. This can be done with States, which stream through all the modules of BCI2000 in a closed-loop fashion. Since Cortec stimulation is controlled with Expressions, a State that was changed due to the processed signal will trigger stimulation. For example, you can use EarlyOffsetExpression available in the StimulusPresentation Application module to change stimuli due to a processed signal. You would set up the stimulation to be triggered once the new stimulus is reached, due to EarlyOffsetExpression becoming true.

Synchronize Inertial Measurement Units with the CorTec Brain Interchange