Jump to content

User Tutorial:BCI2000PresentationLink: Difference between revisions

From BCI2000 Wiki
Nluczak (talk | contribs)
No edit summary
 
(11 intermediate revisions by 2 users not shown)
Line 2: Line 2:
BCI2000PresentationLink contains two plug-ins for the [http://www.nbs.com/ NBS Presentation] stimulus delivery software, a so-called ''DataPort Extension'' which allows to record Presentation events into BCI2000 state variables, and a ''PCL Language Extension'' that allows to control BCI2000 from Presentation scripts written in the PCL language.
BCI2000PresentationLink contains two plug-ins for the [http://www.nbs.com/ NBS Presentation] stimulus delivery software, a so-called ''DataPort Extension'' which allows to record Presentation events into BCI2000 state variables, and a ''PCL Language Extension'' that allows to control BCI2000 from Presentation scripts written in the PCL language.
==Tutorial==
==Tutorial==
First we will go over how to establish the connection between BCI2000 and Presentation
<ol>
<ol>
<li>Download the Psychopy standalone version from the Psychopy [https://www.psychopy.org/download.html downloads page].<br/>
<li>Download Presentation from their [https://www.neurobs.com/menu_presentation/menu_download/current downloads page] and install.<br/>
<br />
[[File:PresentationLinkUserTutorial1.png|1000px]]
<br />
<br />
</li>
</li>
<li>Copy the folders '''BCIStart''' and '''BCIUpdateState''' from ''src/contrib/PsychoPy Components'' directory of your BCI2000 repository into the folder {$PsychoPyHome}\Lib\site-packages\psychopy\experiment\components folder.
 
<li>Find and run "InstallPresentationLink.cmd" which is located in BCI2000/prog
<br />
[[File:PresentationLinkUserTutorial2.png|1000px]]
<br />
<br />
</li>
</li>
<li>Open Presentation's main window and choose "Extension Manager" from the "Tools" menu
<br />
[[File:PresentationLinkUserTutorial3.png|1000px]]
<br />
<br />
</li>
<li>
<li>
Open PsychoPy and then open your experiment file (StroopExtended is what we use in the demo)
Find and click on "Select Extension File" and select your BCI2000 installation's BCI2000PresentationLink.dll file which is located in BCI2000/prog
<br />
[[File:PresentationLinkUserTutorial4.png|1000px]]
<br />
<br />
</li>
</li>
<li>
<li>
Open the part of the experiment where you want to start BCI2000
under "Available Extensions" you will see two extensions: "PCL Extension" and "Data Port." Select one of the available extensions and enter its name into the "Register as:" field.
<br />
</li>
</li>
<li>
<li>
Look at the custom section under components
Make sure that you select "don't register server with Windows" and then click "Register Extension"
<br />
</li>
</li>
<li>
<li>
Add BCI2000 Start Component
Do this same process for the other available extension.
<br />
[[File:PresentationLinkUserTutorial5.png|1000px]]
<br />
<br />
</li>
</li>
<li>
<li>
Enter the path to the prog folder in the BCI2000 directory where your BCI2000Remote.py file exists
Both BCI2000DataPortExtension and BCI2000PCLLibrary should now be entries in the "Registered Extensions"
<br />
</li>
</li>
<li>
<li>
Add the states that you want to record separated by commas (the first value will always be the default value and the second value will always be the maximum value)
Now go to the Settings tab in Presentation and click on "Port."
<br />
</li>
</li>
<li>
Click "Add" under "Data Ports" to the right
<br />
</li>
<li>
<li>
Add the BCIUpdateState component to where you want to update state values. You can either choose to simply pass a variable through BCIUpdateState, or you can specify that it execute a specific Python script by choosing the "Use Expression" ticker.
From the "Type" drop-down menu, choose "BCI2000PresentationLink Data Port"
<br />
[[File:PresentationLinkUserTutorial6.png|1000px]]
<br />
<br />
</li>
</li>
<li>
<li>
Run the experiment
Click "OK".
<br />
</li>
</li>
</ol>
</ol>
Now you are ready to integrate BCI2000 with your Presentation Experiments using the supplied Constructors. For more information on the commands you can issue BCI2000 and examples for both stimulus presentation and feedback you can visit [[Contributions:BCI2000PresentationLink#Examples]].
==Video==
==Video==
<youtube alignment="center">https://youtu.be/uLK3yl5MNu0</youtube>
<youtube alignment="center">https://youtu.be/nEjFQrAb4u4</youtube>
Also see the [https://bci2000.org/mediawiki/index.php/BCPy2000 BCPy2000] page for more details on the installation process, APIs, and hooks.
Also see the [https://www.bci2000.org/mediawiki/index.php/Contributions:BCI2000PresentationLink PresentationLink] page for more details on the installation process, APIs, and hooks.
 


==See also==
==See also==
[[Contributions:BCPy2000]]
[[Contributions:BCI2000PresentationLink]]


[[Category:Tutorial]]
[[Category:Tutorial]][[Category:Video]]

Latest revision as of 17:54, 3 September 2024

Description

BCI2000PresentationLink contains two plug-ins for the NBS Presentation stimulus delivery software, a so-called DataPort Extension which allows to record Presentation events into BCI2000 state variables, and a PCL Language Extension that allows to control BCI2000 from Presentation scripts written in the PCL language.

Tutorial

First we will go over how to establish the connection between BCI2000 and Presentation

  1. Download Presentation from their downloads page and install.



  2. Find and run "InstallPresentationLink.cmd" which is located in BCI2000/prog


  3. Open Presentation's main window and choose "Extension Manager" from the "Tools" menu


  4. Find and click on "Select Extension File" and select your BCI2000 installation's BCI2000PresentationLink.dll file which is located in BCI2000/prog


  5. under "Available Extensions" you will see two extensions: "PCL Extension" and "Data Port." Select one of the available extensions and enter its name into the "Register as:" field.
  6. Make sure that you select "don't register server with Windows" and then click "Register Extension"
  7. Do this same process for the other available extension.


  8. Both BCI2000DataPortExtension and BCI2000PCLLibrary should now be entries in the "Registered Extensions"
  9. Now go to the Settings tab in Presentation and click on "Port."
  10. Click "Add" under "Data Ports" to the right
  11. From the "Type" drop-down menu, choose "BCI2000PresentationLink Data Port"


  12. Click "OK".

Now you are ready to integrate BCI2000 with your Presentation Experiments using the supplied Constructors. For more information on the commands you can issue BCI2000 and examples for both stimulus presentation and feedback you can visit Contributions:BCI2000PresentationLink#Examples.

Video

Also see the PresentationLink page for more details on the installation process, APIs, and hooks.

See also

Contributions:BCI2000PresentationLink