<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.0 20040830//EN" "http://dtd.nlm.nih.gov/publishing/2.0/journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.0" xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">JMIR</journal-id>
      <journal-id journal-id-type="nlm-ta">JMIR Neurotech</journal-id>
      <journal-title>JMIR Neurotechnology</journal-title>
      <issn pub-type="epub">2817-092X</issn>
      <publisher>
        <publisher-name>JMIR Publications</publisher-name>
        <publisher-loc>Toronto, Canada</publisher-loc>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="publisher-id">v2i1e47881</article-id>
      <article-id pub-id-type="pmid"/>
      <article-id pub-id-type="doi">10.2196/47881</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Original Paper</subject>
        </subj-group>
        <subj-group subj-group-type="article-type">
          <subject>Original Paper</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>The Easy and Versatile Neural Recording Platform (T-REX): Design and Development Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="editor">
          <name>
            <surname>de Azevedo Cardoso</surname>
            <given-names>Taiane</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Zhao</surname>
            <given-names>Siyuan</given-names>
          </name>
        </contrib>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Geng</surname>
            <given-names>Jinghui</given-names>
          </name>
        </contrib>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Hacking</surname>
            <given-names>Sean</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib id="contrib1" contrib-type="author" corresp="yes" equal-contrib="yes">
          <name name-style="western">
            <surname>Amigó-Vega</surname>
            <given-names>Joaquín</given-names>
          </name>
          <degrees>MSc</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <address>
            <institution>Computer Science Department</institution>
            <institution>Gran Sasso Science Institute</institution>
            <addr-line>Viale Francesco Crispi, 7</addr-line>
            <addr-line>L'Aquila, 67100</addr-line>
            <country>Italy</country>
            <fax>39 0862 4280 001</fax>
            <phone>39 0862 4280 001</phone>
            <email>joaquin.amigo@gssi.it</email>
          </address>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0001-5920-8883</ext-link>
        </contrib>
        <contrib id="contrib2" contrib-type="author" equal-contrib="yes">
          <name name-style="western">
            <surname>Ottenhoff</surname>
            <given-names>Maarten C</given-names>
          </name>
          <degrees>MSc</degrees>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0001-7676-1920</ext-link>
        </contrib>
        <contrib id="contrib3" contrib-type="author">
          <name name-style="western">
            <surname>Verwoert</surname>
            <given-names>Maxime</given-names>
          </name>
          <degrees>MSc</degrees>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-7581-2850</ext-link>
        </contrib>
        <contrib id="contrib4" contrib-type="author">
          <name name-style="western">
            <surname>Kubben</surname>
            <given-names>Pieter</given-names>
          </name>
          <degrees>MD, PhD</degrees>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-8059-523X</ext-link>
        </contrib>
        <contrib id="contrib5" contrib-type="author">
          <name name-style="western">
            <surname>Herff</surname>
            <given-names>Christian</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-5610-2618</ext-link>
        </contrib>
      </contrib-group>
      <aff id="aff1">
        <label>1</label>
        <institution>Computer Science Department</institution>
        <institution>Gran Sasso Science Institute</institution>
        <addr-line>L'Aquila</addr-line>
        <country>Italy</country>
      </aff>
      <aff id="aff2">
        <label>2</label>
        <institution>Neurosurgery</institution>
        <institution>School for Mental Health and Neuroscience</institution>
        <institution>Maastricht University</institution>
        <addr-line>Maastricht</addr-line>
        <country>Netherlands</country>
      </aff>
      <author-notes>
        <corresp>Corresponding Author: Joaquín Amigó-Vega <email>joaquin.amigo@gssi.it</email></corresp>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2023</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>24</day>
        <month>10</month>
        <year>2023</year>
      </pub-date>
      <volume>2</volume>
      <elocation-id>e47881</elocation-id>
      <history>
        <date date-type="received">
          <day>5</day>
          <month>4</month>
          <year>2023</year>
        </date>
        <date date-type="rev-request">
          <day>13</day>
          <month>7</month>
          <year>2023</year>
        </date>
        <date date-type="rev-recd">
          <day>17</day>
          <month>8</month>
          <year>2023</year>
        </date>
        <date date-type="accepted">
          <day>7</day>
          <month>9</month>
          <year>2023</year>
        </date>
      </history>
      <copyright-statement>©Joaquín Amigó-Vega, Maarten C Ottenhoff, Maxime Verwoert, Pieter Kubben, Christian Herff. Originally published in JMIR Neurotechnology (https://neuro.jmir.org), 24.10.2023.</copyright-statement>
      <copyright-year>2023</copyright-year>
      <license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
        <p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work, first published in JMIR Neurotechnology, is properly cited. The complete bibliographic information, a link to the original publication on https://neuro.jmir.org, as well as this copyright and license information must be included.</p>
      </license>
      <self-uri xlink:href="https://neuro.jmir.org/2023/1/e47881" xlink:type="simple"/>
      <abstract>
        <sec sec-type="background">
          <title>Background</title>
          <p>Recording time in invasive neuroscientific research is limited and must be used as efficiently as possible. Time is often lost due to a long setup time and errors by the researcher, driven by the number of manually performed steps. Currently, recording solutions that automate experimental overhead are either custom-made by researchers or provided as a submodule in comprehensive neuroscientific toolboxes, and there are no platforms focused explicitly on recording.</p>
        </sec>
        <sec sec-type="objective">
          <title>Objective</title>
          <p>Minimizing the number of manual actions may reduce error rates and experimental overhead. However, automation should avoid reducing the flexibility of the system. Therefore, we developed a software package named T-REX (Standalone Recorder of Experiments) that specifically simplifies the recording of experiments while focusing on retaining flexibility.</p>
        </sec>
        <sec sec-type="methods">
          <title>Methods</title>
          <p>The proposed solution is a standalone webpage that the researcher can provide without an active internet connection. It is built using Bootstrap5 for the frontend and the Python package Flask for the backend. Only Python 3.7+ and a few dependencies are required to start the different experiments. Data synchronization is implemented using Lab Streaming Layer, an open-source networked synchronization ecosystem, enabling all major programming languages and toolboxes to be used for developing and executing the experiments. Additionally, T-REX runs on Windows, Linux, and macOS.</p>
        </sec>
        <sec sec-type="results">
          <title>Results</title>
          <p>The system reduces experimental overhead during recordings to a minimum. Multiple experiments are centralized in a simple local web interface that reduces an experiment’s setup, start, and stop to a single button press. In principle, any type of experiment, regardless of the scientific field (eg, behavioral or cognitive sciences, and electrophysiology), can be executed with the platform. T-REX includes an easy-to-use interface that can be adjusted to specific recording modalities, amplifiers, and participants. Because of the automated setup, easy recording, and easy-to-use interface, participants may even start and stop experiments by themselves, thus potentially providing data without the researcher’s presence.</p>
        </sec>
        <sec sec-type="conclusions">
          <title>Conclusions</title>
          <p>We developed a new recording platform that is operating system independent, user friendly, and robust. We provide researchers with a solution that can greatly increase the time spent on recording instead of setting up (with its possible errors).</p>
        </sec>
      </abstract>
      <kwd-group>
        <kwd>recording</kwd>
        <kwd>platform</kwd>
        <kwd>flexible</kwd>
        <kwd>data recording</kwd>
        <kwd>neurotechnology</kwd>
        <kwd>experiments</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec>
      <title>NeuroTech Dialogue</title>
      <p>We propose a software package called T-REX (Standalone Recorder of Experiments) that is specifically designed for recording experiments. T-REX automates multiple manual actions, reducing the experimental overhead and error rate during recordings. With our system, researchers can centralize all their experiments into a simple local web interface, and set up, start, and stop experiments with a single button press. The user friendly interface can be used with different recording modalities, amplifiers, and participants, making it highly flexible. The software is executable on mainstream operating systems (Windows, Linux, and macOS) and does not require the use of a specific programming language for creating the experiments. It includes functionality to automatically record experimental data using a protocol frequently used in the community called Lab Streaming Layer. With T-REX, we simplify and streamline the recording of experiments for researchers while providing maximum flexibility in using different recording modalities, programming languages, operating systems, and amplifiers.</p>
    </sec>
    <sec sec-type="introduction">
      <title>Introduction</title>
      <p>Recording high-quality electrophysiological human brain activity is notoriously difficult. The best quality signal has both high spatial and temporal resolution and is recorded with invasive electrodes [<xref ref-type="bibr" rid="ref1">1</xref>,<xref ref-type="bibr" rid="ref2">2</xref>]. However, since implanting electrodes in humans for research purposes is a lengthy and challenging process with many safety and ethical concerns, scientists tend to use the clinical treatment of patients who receive implants for clinical purposes [<xref ref-type="bibr" rid="ref3">3</xref>,<xref ref-type="bibr" rid="ref4">4</xref>] as a research vehicle. Some examples are patients with medication-resistant epilepsy undergoing presurgical monitoring for resection surgery [<xref ref-type="bibr" rid="ref5">5</xref>] or patients qualified for deep brain stimulation [<xref ref-type="bibr" rid="ref6">6</xref>].</p>
      <p>Because recordings should not interfere with clinical treatment, the time to record data for neuroscientific experiments in these patient groups is severely limited. For implanted epilepsy patients, the recording windows are usually a few days to 2 weeks. In contrast, for patients with deep brain stimulation, the recording windows are during surgery using microelectrode recordings, and between surgery and when the stimulator is turned on. During these recording windows, patients need time to recover and have sufficient general well-being to participate. Moreover, time spent on clinical treatment and other assessments that require recording time can further reduce the already limited recording time.</p>
      <p>Therefore, the brief remaining time window should be used as efficiently as possible. In practice, this means that the time spent on recording should be maximized, while the time spent on setting up and solving errors should be minimized. Both the set-up time and error rate can be significantly reduced by automating as many manual actions as possible (eg, connecting to recording devices; starting experiments; selecting data streams; and starting, stopping, and synchronizing the recording). However, as experiments or recording setups change over time, it is often not worthwhile for research groups to invest in developing a more sophisticated system. It takes human resources, technical knowledge, and substantial time investment to move beyond custom-made systems, which are often only used internally and unavailable to the public. Aside from custom-made setups, there exist multiple measurement platforms, including BCI2000 [<xref ref-type="bibr" rid="ref7">7</xref>], OpenVIBE [<xref ref-type="bibr" rid="ref8">8</xref>], FieldTrip [<xref ref-type="bibr" rid="ref9">9</xref>], NFBlab [<xref ref-type="bibr" rid="ref10">10</xref>], and MEDUSA [<xref ref-type="bibr" rid="ref11">11</xref>]. These systems can record data from many different amplifiers and include modules to design, analyze, and provide feedback during or after the experiments. While all these platforms also include good recording capabilities, they are more broadly focused on experimental design and analysis.</p>
      <p>Additionally, these solutions limit the experiments that can be executed by the researcher in some way, either by targeting a specific type of experimental design or by imposing some hardware or software tool sets, such as programming language, input/output devices, or operating systems (OSs). Furthermore, not all platforms are open-source, which is not in the spirit of open science and impedes collective quality control and replicability. For example, FieldTrip requires the researcher to use the proprietary platform MATLAB, and BCI2000 and OpenVIBE impose the use of their tools and application programming interfaces. Additionally, the researcher must install a complete software package on the system, even when only the recording functionality is needed. Ashmaig et al [<xref ref-type="bibr" rid="ref12">12</xref>] developed and described a system exclusively focused on continuous data recording for neurosurgical patients. The system provides a good use case for naturalistic long-term recordings but has an extensive list of hardware requirements and limits the researcher to Linux. Furthermore, not all research groups have the opportunity to perform long-term recordings.</p>
      <p>While all these platforms provide good solutions for their use case and cover a significant part of the neural recording space, we observed that none of these platforms are specifically tailored to the setup and recording of experiments. Here, we describe the T-REX (Standalone Recorder of Experiments) platform that is specifically targeted to improve the recording of experiments. By automating the setup, start, and stop of experimental recordings, T-REX reduces the error rate and time spent between recordings. T-REX minimizes restrictions on hardware and software, is available on all major OSs, and is publicly available as an open-source project. This work presents T-REX’s system design, functionality, usage, and potential implications for the field.</p>
    </sec>
    <sec sec-type="methods">
      <title>Methods</title>
      <sec>
        <title>Requirements</title>
        <p>We determined 3 criteria that the system should meet to make T-REX applicable to as many labs as possible. First, T-REX should be as independent as possible of tools, paradigms, OSs, and programming languages. Each lab has its preferred tool set, and ensuring independence means that researchers do not need to port their existing experiments to fit T-REX. Its only requirement is for the experiments to use Lab Streaming Layer (LSL) to stream data [<xref ref-type="bibr" rid="ref13">13</xref>]. The backend of T-REX uses LSL to synchronize data across sources (see the section Details of LSL). Second, T-REX should be user friendly to both the researcher and the participant. Increasing simplicity will reduce error rates and the time spent on setting up, which can be achieved by automating multiple manual actions. Lastly, the system should be robust. This means that an experiment should only run when all requirements to run are met, and in case of technical problems, the experiment should retain the data up to that point and return to the <italic>Home</italic> screen.</p>
      </sec>
      <sec>
        <title>System Outline</title>
        <p>In brief, T-REX acts as the middleman handling the experimental overhead for the researcher (<xref rid="figure1" ref-type="fig">Figure 1</xref>). When using T-REX, the researcher can select an experiment by pressing a button on the main menu screen (<xref rid="figure2" ref-type="fig">Figure 2</xref>). T-REX will then check the availability of all required data streams and connect to the streams. Examples of data streams include a hand-tracking device sending coordinates of a person’s hands and an amplifier recording the participant’s neural activity. T-REX will then start the experiment user interface (UI) that instructs the participant on what task to perform. Upon successful start of the experiment UI, T-REX starts recording all data streams and saves them to a folder specified by the researcher. All data are saved by LSL into a single .xdf file. After the experiment is completed, the UI prompts the participant on how the experiment went and returns to the <italic>Home</italic> screen. During the full experiment loop, the actions that the researcher needs to perform are to start the required device data streams and select the experiment in the <italic>Home</italic> screen.</p>
        <fig id="figure1" position="float">
          <label>Figure 1</label>
          <caption>
            <p>A schematic overview of the experiment loop of T-REX (Standalone Recorder of Experiments). (A) Data from the participants (eg, EEG, movement, and audio) are recorded by a variety of device inputs. Each input device should create a Lab Streaming Layer StreamOutlet to make the data available to record. (B) T-REX then provides a user interface for experiment selection. The backend finds the required data streams and records them. The rounded box shows the different software components (web interface, controller, and user configuration). (C) Example outputs of the experiment. These components interact with the participant (experiment user interface and stimuli), or the recorded data are saved. EEG: electroencephalography.</p>
          </caption>
          <graphic xlink:href="neuro_v2i1e47881_fig1.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure2" position="float">
          <label>Figure 2</label>
          <caption>
            <p>Representation of the main 4 windows of the web interface. (A) The Home window contains all the experiments accessible to the researcher, represented on a grid configuration. (B) The Experiment Feedback window allows obtaining feedback from the participants about their experience with the experiment. It is achieved through the green (“All good”) and red (“Not so good”) buttons. Participants can only continue after pressing one of these buttons. (C) The Admin Login window allows access to the administration panel by entering the password. (D) The Admin Configuration window allows the administrator to create new participants and modify their access to experiments.</p>
          </caption>
          <graphic xlink:href="neuro_v2i1e47881_fig2.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Materials, Software, and Technologies</title>
        <p>T-REX has multiple components, including a local web interface, a recording backend, and a controller interface connecting these 2 components. The web interface (<xref rid="figure2" ref-type="fig">Figure 2</xref>A-D) is built using Bootstrap5 [<xref ref-type="bibr" rid="ref14">14</xref>] for the frontend and the Python package Flask [<xref ref-type="bibr" rid="ref15">15</xref>] for the backend. The recording backend uses LSL and handles data stream synchronization and recording itself (information is provided in the section Details of LSL). Lastly, the controller interface (information is provided in the section Controller) is implemented in Python 3.7+ and a few dependencies found in requirements.txt. T-REX is compatible with Windows, Linux, and macOS.</p>
      </sec>
      <sec>
        <title>Details of LSL</title>
        <p>T-REX uses LSL to synchronize the data streams from different devices, such as a variety of electroencephalography (EEG) amplifiers, audio streams, movement trackers, and cameras. The service handles “networking, time-synchronization, (near) real-time access, and optionally the centralized collection and recording of data” [<xref ref-type="bibr" rid="ref13">13</xref>]. It is lightweight and has multilanguage and multiplatform support, including Unity and Android. LSL allows the researcher to send data via a data stream to a local network server, which can be recorded.</p>
        <p>Basic usage involves defining a StreamOutlet that makes a time series data stream available on the network. The data are pushed per sample or per chunk into the outlet. By creating an outlet, the stream is made available to the local network of computers. The most basic usage (in Python) is represented in the following code block:</p>
        <disp-formula>
          <graphic xlink:href="neuro_v2i1e47881_fig7.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </disp-formula>
        <p>This code creates a StreamOutlet object with a name (“my_marker_stream”), type (“markers”), channel count (1), irregular sample rate (defined as 0.0), data type (“str”), and source ID (“my_unique_id”). Lastly, a sample containing “Experiment_start” is pushed to the outlet.</p>
        <p>Inversely, to receive data, one can instantiate a StreamInlet and use inlet.pull_sample(). For a comprehensive overview, see the official documentation [<xref ref-type="bibr" rid="ref13">13</xref>]. For T-REX to be able to record all data, the devices and the experiments themselves must all create a StreamOutlet (like the example above). If no StreamOutlet is created, T-REX will not be able to find and record the device and start the experiment. By using LSL, T-REX is able to connect to many popular experiment platforms, such as Psychopy [<xref ref-type="bibr" rid="ref16">16</xref>], OpenSesame [<xref ref-type="bibr" rid="ref17">17</xref>], and Presentation [<xref ref-type="bibr" rid="ref18">18</xref>]. In case a stream is listed in the requirements provided by the config in an experiment but is not available, T-REX will throw an error and return to the <italic>Home</italic> screen. Thus, no experiment can start while missing a data stream.</p>
      </sec>
      <sec>
        <title>Trigger</title>
        <p>In some recording setups, a trigger marks the start and end of an experiment. In these setups, participants’ clinical data are recorded continuously and stored on a server. During an experiment, the data cannot be streamed directly and need to be retrieved afterward by the responsible data steward. The data steward can locate the requested data files by identifying the trigger pattern sent by the experimenter. Depending on the manufacturer, a trigger can be delivered via the amplifier or with a separate device. If it can be delivered internally, the experimenter can directly send triggers from within the experiment, and the trigger functionality of T-REX does not need to be used. T-REX provides some basic functionality to send a trigger code if an external device is required. In short, T-REX searches for a USB device with a name set in the main configuration file. It connects to this device and sets up an LSL stream. Then, if an experiment is started and the trigger flag in the main configuration file is set to True, the trigger class sends a user-defined code. When the experiment is finished, the trigger will be sent again, flagging the start and end of the complete experiment. The data steward can then retrieve the correct data with these trigger codes. At the same time as sending a trigger, the code also sends a marker to LSL, allowing for synchronization across data streams.</p>
      </sec>
      <sec>
        <title>Software Components</title>
        <p>The software consists of 2 main components: the <italic>web interface</italic> that handles the UI and the <italic>controller</italic> that sets up, starts, and stops all experiments (<xref rid="figure1" ref-type="fig">Figure 1</xref>B).</p>
      </sec>
      <sec>
        <title>Web Interface</title>
        <p>The web interface includes 4 windows: <italic>Home</italic>, <italic>Experiment Feedback</italic>, <italic>Admin Login</italic>, and <italic>Admin Configuration</italic> (<xref rid="figure2" ref-type="fig">Figure 2</xref>).</p>
        <p>The <italic>Home</italic> window (<xref rid="figure2" ref-type="fig">Figure 2</xref>A) displays all the experiments in a grid. Experiment cards are shown on that grid with a title, description, and start button. When the button is pressed, the controller executes a command that starts the selected experiment. The command is defined by the researcher and specified on the configuration of the experiment (more details are provided in the section User Configuration). During the experiment, the web interface is on standby awaiting the completion of the experiment.</p>
        <p>After completion, the participant is redirected to the <italic>Experiment Feedback</italic> window, where the question “How did the experiment go?” is prompted (<xref rid="figure2" ref-type="fig">Figure 2</xref>). The participant or researcher is required to select a feedback option to continue. This allows the researcher to save a brief experiment evaluation to assess data quality in later analysis. In potential future applications, the participants might perform the experiments by themselves. Then, this feedback is useful to flag the researcher to be aware of potential poor data quality. The feedback is stored under the file name feedback.txt in the same folder as the most recent .xdf file (that contains the data recorded from the experiment).</p>
        <p>The <italic>Admin Configuration</italic> provides the researcher with a closed environment where the participant identifier can be selected and a selection of all available experiments is available. To access the <italic>Admin Configuration</italic>, the researcher must first log in using the password that is configured in the main configuration file (<xref rid="figure2" ref-type="fig">Figure 2</xref>C; details are provided in the section User Configuration). When logged in, the researcher can see the configuration of the active experimental session, composed of an alphanumeric participant identifier and their access to experiments. A list of all the experiments included in the platform is visible from this window, but only those with checked marks are visible to the participant. The changes in this window are only applied after pressing the “Save” button at the end of the page.</p>
        <p>The web UI has been tested with Firefox (version 105.0.1), Chrome (version 106), Safari (version 16), and Edge (version 106), although it should be compatible with higher versions and other mainstream browsers.</p>
      </sec>
      <sec>
        <title>Controller</title>
        <p>The controller handles everything related to running an experiment and has 3 main parts: setup, start, and stop (<xref rid="figure3" ref-type="fig">Figure 3</xref>). The related code can be found in the ./libs directory.</p>
        <fig id="figure3" position="float">
          <label>Figure 3</label>
          <caption>
            <p>Backend flow of running an experiment. When an experiment is started by pressing the start button on the card, the controller is called, loading the main configuration file and extracting the information received from the user interface (UI) about which experiment to run. Then, an experiment instance is created, loading the experiment-specific information and completing the setup in 3 steps. First, it checks for all devices and their Lab Streaming Layer streams. Second, it initializes a recorder instance and adds all streams to the list of streams it should record. Lastly, if a trigger is required for the selected experiment, it will set up a trigger class that searches and connects to the trigger. Once the subprocess call is returned, experiment sends the final trigger and stops the recorder. The data are saved in the ./output/ folder, and the researcher or participant is redirected to the experiment assessment screen (Figure 2B).</p>
          </caption>
          <graphic xlink:href="neuro_v2i1e47881_fig3.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <sec>
          <title>Setup</title>
          <p>When an experiment is started by pressing the start button on the card, the controller class in <italic>Controller.py</italic> (<xref rid="figure3" ref-type="fig">Figure 3</xref>) is called, and it loads the main configuration file and extracts the information received from the UI about which experiment to run. With this information, an <italic>experiment</italic> instance is created, and its loading function is called.</p>
          <p><italic>Experiment</italic> loads the experiment-specific information and completes the setup in 3 steps. First, it checks for all devices and their LSL streams as defined by the researcher in the experiment configuration under device_inputs.</p>
          <p>Subsequently, <italic>experiment</italic> initializes a <italic>recorder</italic> instance and adds all streams to the list of streams it should record. For a movement experiment [<xref ref-type="bibr" rid="ref19">19</xref>-<xref ref-type="bibr" rid="ref23">23</xref>], the streams recorded could be the neural amplifier and experimental triggers. Additionally, a movement tracker [<xref ref-type="bibr" rid="ref24">24</xref>-<xref ref-type="bibr" rid="ref26">26</xref>] or a force sensor [<xref ref-type="bibr" rid="ref27">27</xref>] could be added. For speech perception [<xref ref-type="bibr" rid="ref28">28</xref>-<xref ref-type="bibr" rid="ref30">30</xref>] or auditory perception [<xref ref-type="bibr" rid="ref31">31</xref>,<xref ref-type="bibr" rid="ref32">32</xref>], the audio stream, experiment triggers, and neural data need to be recorded. For speech production [<xref ref-type="bibr" rid="ref33">33</xref>-<xref ref-type="bibr" rid="ref36">36</xref>], the streams could be neural data, microphone, and triggers. In the Results section, we provide some example experiments.</p>
          <p>The last step is to check if a trigger is required for the selected experiment. If so, it will set up a trigger class that searches and connects to the trigger.</p>
          <p>All devices must be connected and available to LSL before the <italic>experiment</italic> instance is called. As all requested devices are essential for successful recording, T-REX will raise an error and return to the UI if not all input devices are connected successfully.</p>
        </sec>
        <sec>
          <title>Start</title>
          <p>A user-defined command is called using Python’s subprocess library to start the experiment UI. The command should be callable from the command line interface and can be set in the experiment-specific configuration. Because the experiment UI likely contains a stream that sends out experiment-related markers, <italic>experiment</italic> will start a loop on a user-defined timeout to search for the marker stream. Once found, usually almost instantly, the <italic>recorder</italic> will start recording all streams. Implementing the system this way does not restrict the research aside from using LSL. However, owing to the timeout, the experiment may start before the recording starts. This can only happen if the time between the setup of the experiment StreamOutlet and sending the first marker is shorter than the time that the <italic>recorder</italic> can find the stream and start the recording. Usually, finding the StreamOutlet and starting the recording is in the order of milliseconds. However, to entirely prevent the possibility of this happening, we recommend including a waiting screen in the experiment UI (eg, “Press button to start”) or ensuring sufficient time (longer than the timeout set in the experiment configuration) between the setup of a StreamOutlet and the start of the experiment. Once connected to the experiment StreamOutlet, the experiment UI should start, and the <italic>experiment</italic> instance will wait until the called command is terminated and returned, which usually happens when the experiment UI window is closed.</p>
        </sec>
        <sec>
          <title>Stop</title>
          <p>Once the subprocess call is returned, <italic>experiment</italic> sends the final trigger and stops the <italic>recorder</italic>. The data are saved in the ./output/ folder, defined in the main configuration file (information is provided in the section User Configuration). An example of the created directory tree is provided in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>.</p>
        </sec>
      </sec>
      <sec>
        <title>Device Inputs</title>
        <p>Each experiment can have multiple input devices, such as an amplifier measuring the neural data, a hand-tracking device, and a microphone. Any device can be included if it generates a StreamOutlet. Each device should send the data from the device to LSL, allowing it to be accessed by the other system components and to be recorded. The name, type, or source_id supplied to the StreamOutlet will be the values that T-REX will search for during experiment setup (information is provided in the section Controller). In practice, this means that either the name, type, or source_id needs to be supplied under device_inputs in the experiment configuration file (information is provided in the section Experiment Configuration). Since devices can be used for multiple experiments, we included a separate destination for all device input files (./exp_module/inputs), although input devices can be stored anywhere as long as they generate a StreamOutlet.</p>
      </sec>
      <sec>
        <title>User Configuration</title>
        <p>There are 2 types of configuration files that the researcher can set: main configuration and experiment-specific configuration. All configuration files are formatted in Yet Another Markup Language (YAML).</p>
        <sec>
          <title>Main Configuration</title>
          <p>The file config.yaml in the root folder contains the system-wide configuration. This configuration file contains information on general settings. <xref ref-type="supplementary-material" rid="app2">Multimedia Appendix 2</xref> provides a description of the different available options, and <xref ref-type="supplementary-material" rid="app3">Multimedia Appendix 3</xref> provides an example of the main configuration file. The main option under <italic>path</italic> is the path that all relative paths will be anchored to and should be set to the root folder. Most parameters are preset, but out and trigger configurations may vary between different recording setups and might need to be redefined.</p>
        </sec>
        <sec>
          <title>Experiment Configuration</title>
          <p>Each experiment included in T-REX requires a separate folder in ./exp_module/experiments/ and must include at least 2 files: config.yaml and the file to start the experiment. A full description of all the fields and different options in config.yaml can be found in <xref ref-type="supplementary-material" rid="app4">Multimedia Appendix 4</xref>. The <italic>name</italic> and <italic>description</italic> define the text shown in the UI; <italic>command</italic> sets the command line interface command made by the controller class to start the experiment; and <italic>exp_outlet</italic> sets the name, type, or source_id that the experiment class will search for. For example, if the experiment UI is a Python script that will create a StreamOutlet named markers, the <italic>command</italic> to execute would be python .\exp_module\experiments\your_experiment_file.py and <italic>exp_outlet</italic>=’markers’.</p>
        </sec>
      </sec>
    </sec>
    <sec sec-type="results">
      <title>Results</title>
      <sec>
        <title>Overview</title>
        <p>We have included 3 different example experiments to provide a practical view of how to use T-REX. The examples can also serve as a quick start for researchers to create new experiments or adapt the ones included. A step-by-step explanation of adding a new experiment is described in the section Adding New Experiments to the Platform.</p>
      </sec>
      <sec>
        <title>Case 1: Simple Experiment in Python</title>
        <p>This experiment is a simple text-based instruction for a grasping task (<xref rid="figure4" ref-type="fig">Figure 4</xref>A). The participant is prompted by text in a Python Tkinter [<xref ref-type="bibr" rid="ref37">37</xref>] window to continuously open and close either the left or right hand, as used previously [<xref ref-type="bibr" rid="ref38">38</xref>]. The experiment requires neural data as the input device and generates a StreamOutlet to send markers that inform about the start and end of the experiment and of the trials. The neural data are acquired from a stream with <italic>name</italic>=<italic>Micromed</italic>, <italic>type</italic>=<italic>EEG</italic>, and <italic>source</italic>_<italic>id</italic>=<italic>micm</italic>01. These values are all set by the researcher. As T-REX will search for all 3 options (name, type, and source_id), only 1 must be provided. Therefore, the option under device\_inputs in grasping\config.yaml is set to eeg (case insensitive). Next, the <italic>marker</italic> StreamOutlet that will be generated by the experiment has <italic>source</italic>_<italic>id</italic>=<italic>emuidw</italic>22. When the <italic>experiment</italic> class runs the experiment command (command field in grasping\config.yaml), it will search for these streams. Therefore, the exp_outlet field is set to ’emuidw22’. Finally, since the grasping experiment is Python-based, the command should use Python to call the script with the command: python .\exp_module\experiments\grasping\grasping.py. The configuration file used has been presented in <xref ref-type="supplementary-material" rid="app5">Multimedia Appendix 5</xref>.</p>
        <p>When these options are set, the experiment is ready to go and can be started by pressing the start button on the <italic>Home</italic> window. The Tkinter window opens and waits for the spacebar to be pressed. Once pressed, the experiment starts and is locked as the top viewed window until completion. When the experiment is finished and closed (ie, the command call ends and returns to the <italic>experiment</italic> class), the <italic>experiment</italic> instance stops the recording and saves the data. In-depth details on how experiments are started and stopped are described in the section Controller.</p>
        <p><xref rid="figure5" ref-type="fig">Figure 5</xref> shows a random selection of 15 channels of neural data recorded with T-REX during the grasping experiment. Two streams were used in this experiment. First a <italic>marker</italic> StreamOutlet that sends all experiment-related markers, such as the start and end of the experiments and the start and end of each trial, with the accompanying label (move or rest). Second, an EEG StreamOutlet that streams the data from our Micromed Amplifier to LSL. With T-REX, these streams were automatically identified and recorded. The start and end of the colored columns (identifying move and rest trials) were determined by the recorded markers sent through the marker StreamOutlet. The synchronization by LSL ensures that the EEG and <italic>marker</italic> stream timestamps are the same.</p>
        <fig id="figure4" position="float">
          <label>Figure 4</label>
          <caption>
            <p>User interfaces for the 3 use case experiments included. (A) Grasping: simple text-based experiment built using the Python package Tkinter. (B) Grasping web experiment: reimplementation of the grasping experiment as a single page application (SPA) to allow its execution on any device with access to a web browser. (C) 3D hand-tracking experiment: the hand-tracking is performed using the LeapMotion controller, and the experiment is implemented in Python using the package Tkinter.</p>
          </caption>
          <graphic xlink:href="neuro_v2i1e47881_fig4.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure5" position="float">
          <label>Figure 5</label>
          <caption>
            <p>Neural data were recorded with the grasping experiment using T-REX (Standalone Recorder of Experiments). Two streams were recorded during this experiment: an EEG stream and a marker stream. The data from the EEG stream are shown by the black lines, indicating the voltage over time in a selection of 15 neural electrodes. The marker stream sends the start and end of the experiment and the individual trials. These markers were used to determine the colored areas (blue and orange) shown. EEG: electroencephalography.</p>
          </caption>
          <graphic xlink:href="neuro_v2i1e47881_fig5.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Case 2: Simple Experiment in a Web UI</title>
        <p>We included the same grasping experiment as in Case 1 but implemented it in a web interface (<xref rid="figure4" ref-type="fig">Figure 4</xref>B). It uses a single page application (SPA) locally and thus can be created on any device with access to a web browser, like a laptop, tablet, and smartphone. The grasping web experiment also illustrates options other than a Tkinter window for experimenting. No internet connection is required, relieving some security concerns that could render execution on the web unsafe.</p>
        <p>We constructed the experiment using HTML, CSS (Bootstrap5 for responsiveness and other visual aspects), and JavaScript for behavior. The device input is the same as in the Tkinter implementation of the experiment and the StreamOutlet containing the markers; thus, the device_inputs and exp_outlet are the same. The difference is in the command executed to start the experiment. In this case, start .\exp_module\experiments\graspingWeb\index.html is used. The configuration file used has been presented in <xref ref-type="supplementary-material" rid="app6">Multimedia Appendix 6</xref>.</p>
        <p>Once the experiment is started on the <italic>Home</italic> window, the <italic>experiment</italic> instance opens another tab on the browser displaying the “grasping_web” experiment. The experiment starts when the participant presses the green “Start” button. When the experiment is finished, the participant or researcher is prompted to press a red button to close the experiment. The GraspingWeb command call is finished at the button press and returns to the <italic>experiment</italic> instance, stopping the recording and saving the data.</p>
      </sec>
      <sec>
        <title>Case 3: Multiple Devices</title>
        <p>Lastly, we included a 3D hand-tracking experiment, where the goal is to hold a cursor (a black circle) on a target (a red circle). The cursor can be moved in 3 dimensions, where the third dimension controls the size of the circle (<xref rid="figure4" ref-type="fig">Figure 4</xref>C). In this case, the hand tracking is performed by the LeapMotion controller [<xref ref-type="bibr" rid="ref39">39</xref>], but any other device can be used. We have provided a .exe file that reads the data from the tracker and sends it to an LSL StreamOutlet with <italic>name</italic>=<italic>LeapLSL</italic>, <italic>type</italic>=<italic>Coordinates</italic>, and <italic>source</italic>_<italic>id</italic>=<italic>LEAPLSL</italic>01. In addition to the hand-tracking information, we also need neural activity, for which we use the same StreamOutlet as described in Case 2. Lastly, the experiment is implemented in a Python Tkinter window and generates a marker stream similar to the stream described in the previous use case with <italic>Source</italic>_<italic>id</italic>=<italic>BUBBLE</italic>01. Thus, to set up the configuration for this experiment, we set the command to python .\exp_module\experiments\Bubbles\bubbles.py, exp_outlet to BUBBLE01, and device_inputs to LEAPLSL01 (the tracking information stream) and eeg (the neural data stream). To run the experiment, the researcher should start the device stream before the experiment is started in the <italic>Home</italic> screen (ie, run the .exe first). The configuration file used has been provided in <xref ref-type="supplementary-material" rid="app7">Multimedia Appendix 7</xref>. An example of data recorded with T-REX for this experiment can be appreciated in <xref rid="figure6" ref-type="fig">Figure 6</xref>.</p>
        <fig id="figure6" position="float">
          <label>Figure 6</label>
          <caption>
            <p>The combined data recorded from 3 different streams: an EEG stream, a marker stream, and a LeapMotion controller. The EEG channels are 5 channels randomly selected from 87 available channels. X, Y, and Z are the 3D coordinates of the palm of the hand, provided by a LeapMotion controller. The marker stream provides the shown trials (numbers on top with vertical dashed lines). To start and record this experiment, the LeapLSL stream has to be started, along with the EEG stream. Then, only the experiment needs to be started in T-REX (Standalone Recorder of Experiments). T-REX records all 3 streams (synchronized by Lab Streaming Layer), ultimately allowing to combine the 3 streams into this image. EEG: electroencephalography.</p>
          </caption>
          <graphic xlink:href="neuro_v2i1e47881_fig6.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Mix and Match</title>
        <p>We have presented only 3 examples showing different possibilities. Different devices can be included by adding a StreamOutlet name, type, or source_id to the list of device_outputs. The only requirement to add a device is that the data from the device can be sent to a LabStreamingLayer StreamOutlet. This code is either supplied by the manufacturer or written by the researcher. If this requirement is met, any medical device or technology can be included, as T-REX does not impose any further restrictions on technologies or types of experiments, including, but not limited to, speech production, audio or speech perception, movement, decision-making, and simple or naturalistic tasks [<xref ref-type="bibr" rid="ref40">40</xref>,<xref ref-type="bibr" rid="ref41">41</xref>]. For example, new experiments can also be built in Unity [<xref ref-type="bibr" rid="ref42">42</xref>] or PyGame [<xref ref-type="bibr" rid="ref43">43</xref>] to provide better graphical experiences.</p>
      </sec>
      <sec>
        <title>Adding New Experiments to the Platform</title>
        <p>The following steps describe how to add a new experiment from scratch to T-REX:</p>
        <list list-type="order">
          <list-item>
            <p>Create the experiment folder inside the directory ./exp_module/experiments/. An example of the directory tree for different example experiments can be found in <xref ref-type="supplementary-material" rid="app8">Multimedia Appendix 8</xref>.</p>
          </list-item>
          <list-item>
            <p>Create the experiment configuration file (config.yaml) inside the new folder. Information in <xref ref-type="supplementary-material" rid="app9">Multimedia Appendix 9</xref> can be used as the base example for creating this file, and the section Experiment Configuration contains a detailed description of each parameter.</p>
          </list-item>
          <list-item>
            <p>Adjust the fields to the specific experiment.</p>
          </list-item>
        </list>
        <p>After completing these initial steps, the experiment should be visible from the <italic>Admin Configuration</italic> panel. The researcher can set the experiment as “visible” from the admin panel by selecting its corresponding check mark. If configured as “visible,” it should appear on the <italic>Home</italic> window, and it can be executed by clicking on its respective button.</p>
        <p>It is worth mentioning that when porting an already configured version of T-REX to a different OS, some parameters might need to be revised. For example, regarding the parameter command, when used on Windows to start a Python experiment, the definition is as follows:</p>
        <disp-formula>
          <graphic xlink:href="neuro_v2i1e47881_fig8.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </disp-formula>
        <p>However, when used on Unix or Unix-like systems, the definition changes to the following:</p>
        <disp-formula>
          <graphic xlink:href="neuro_v2i1e47881_fig9.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </disp-formula>
        <p>The difference comes because “/” is the path separator on Unix and Unix-like systems, and Microsoft uses “\”.</p>
        <p>There might be other scenarios where the parameter command might differ between OSs; thus, we recommend revising each experiment configuration file when porting the platform to a different OS.</p>
      </sec>
      <sec>
        <title>Practical Experience</title>
        <p>At the time of writing, we entirely switched to recording with T-REX for our experiments at different recording sites. So far, we have recorded multiple experiments, involving speech, motor, and decision-making tasks. Furthermore, at one of the recording sites, we recorded using the trigger functionality included in T-REX. We see no indications of different data quality in our neural decoding endeavors. We can decode speech [<xref ref-type="bibr" rid="ref44">44</xref>,<xref ref-type="bibr" rid="ref45">45</xref>] and movement trajectories [<xref ref-type="bibr" rid="ref46">46</xref>] with performance equal to that using our previous setup.</p>
      </sec>
    </sec>
    <sec sec-type="discussion">
      <title>Discussion</title>
      <p>We presented T-REX, an independent, user friendly, and robust system that minimizes the setup time and error rate. T-REX provides a simple UI and reduces the experimental setup to the press of a button. The software merges the LSL recording backend with a simple UI, automating experimental overhead for the researcher. T-REX reduces the setup time and error rate, resulting in more time spent recording neural data.</p>
      <p>The simplicity of T-REX reduces the number of actions that the researcher must perform to only 2: starting the required devices and starting the experiment. The fewer manual actions the researcher needs to perform, the lower the chance that an error is made. It improves reliability and increases total data volume and time spent on recording. The LSL software package fully handles synchronization and recording. We decided on LSL as it is lightweight, is easy to use, has submillisecond timekeeping, and has a proven track record [<xref ref-type="bibr" rid="ref47">47</xref>]. The flexibility of T-REX makes the system applicable in fields other than the neuroscientific context described here.</p>
      <p>T-REX provides benefits for both the researcher and participant. A streamlined process may have multiple benefits from the perspective of the participant. It leaves more time to interact with the participant, making it more comforting and engaging. T-REX may be particularly beneficial for participants who are anxious or nervous about participating. Furthermore, a streamlined process conveys more professionalism and may improve participation satisfaction, ultimately increasing the willingness to participate in future research. Moreover, if the start and recording of experiments are simplified enough, participants may be able to run experiments themselves. The introduction of engaging and fun experiments that enable participants to run them as they like provides the participants with an opportunity to alleviate boredom and do something meaningful by contributing to scientific research. Together, both the researcher (more data) and the participant (more engagement) are benefitted. While T-REX has been developed with independent recording in mind, it is currently not being tested for that purpose.</p>
      <p>In comparison with other available software platforms, T-REX is the only solution specifically focused on recording experiments, allowing it to remain lightweight. Platforms like BCI2000 [<xref ref-type="bibr" rid="ref7">7</xref>], OpenViBE [<xref ref-type="bibr" rid="ref8">8</xref>], and MEDUSA [<xref ref-type="bibr" rid="ref11">11</xref>] offer comprehensive functionalities spanning the 3 stages of a BCI system: signal acquisition, signal processing, and feedback presentation. However, they require complete software installation even if only the recording module is needed. T-REX enhances the researcher experience by offering flexibility in the choice of programming language and technology for creating the experiments, unlike BCI2000 and OpenViBE, which mandate the use of C++; MEDUSA, which requires the use of Python; and NFBlab [<xref ref-type="bibr" rid="ref10">10</xref>], which requires the use of its graphical UI. Regarding compatibility, T-REX holds a distinct advantage, supporting all major OSs, including Windows, Linux, and macOS. This is in contrast with BCI2000’s limited functionality outside Windows and MEDUSA’s exclusive Windows availability, as well as the system presented by Ashmaig et al [<xref ref-type="bibr" rid="ref12">12</xref>], which is Linux-bound. Each of these platforms has its strengths and excels in its intended function. T-REX provides a tailored solution for a specific part of neuroscientific research that allows it to remain simple and lightweight.</p>
      <p>T-REX aims for simplicity, and setting up experiments in T-REX requires basic knowledge of command line interface usage. Moreover, experiments and devices must use LSL to make data available. Although LSL is available for all mainstream OSs and programming languages, experiments already used by researchers may require adjustments to the experiment code structure for inclusion in T-REX. Therefore, technical knowledge and usage of LSL may limit the applicability for some labs. Furthermore, T-REX is available for all mainstream OSs but may not apply to all different versions. Specifically, the command line interface version of LabRecorder, including the script that records and stores the multiple data streams, had to be built for different chipsets (M1 and M2) for macOS. These are currently included, but other architectures likely require a different build of LabRecorder. As T-REX matures, we expect more versions to become applicable.</p>
      <p>T-REX is in ongoing development, and we have identified several potential future updates targeting an improved user experience. Device streams currently need to be started manually, and this may be performed automatically at the start of an experiment. This is also a requirement to enable participants to start recordings themselves, which is a main future improvement. Aside from ensuring that there are no manual actions except starting the experiments, allowing T-REX for independent use may require improved internal logging and error handling. Combined, these updates would reduce even more actions for both the researcher and participant, and increase the robustness of T-REX.</p>
      <p>In conclusion, T-REX offers a flexible solution to record neuroscientific experiments. It streamlines setup and recording, and reduces error rates that increase the time spent on recordings. We envision T-REX to help standardize and simplify recording experiments and eventually allow recordings by participants independently. This may improve the overall satisfaction of participation and increase the amount of data collected. The open-source nature of T-REX is in the spirit of open science and increases its value through an increase in community knowledge.</p>
    </sec>
  </body>
  <back>
    <app-group>
      <supplementary-material id="app1">
        <label>Multimedia Appendix 1</label>
        <p>The directory tree illustrates the content of the ./output/ folder when saving the experimental data gathered with one experiment. The output.xdf file is created upon experiment completion. It contains the recorded data from the preconfigured Lab Streaming Layer streams. The feedback.txt file contains the feedback the participant inputted on the Experiment Feedback window, and it is saved in the same folder as the most recent .xdf file.</p>
        <media xlink:href="neuro_v2i1e47881_app1.png" xlink:title="PNG File , 36 KB"/>
      </supplementary-material>
      <supplementary-material id="app2">
        <label>Multimedia Appendix 2</label>
        <p>The system-wide configuration file that must be placed inside the root folder of the project, which allows the researcher to configure the execution of T-REX.</p>
        <media xlink:href="neuro_v2i1e47881_app2.png" xlink:title="PNG File , 154 KB"/>
      </supplementary-material>
      <supplementary-material id="app3">
        <label>Multimedia Appendix 3</label>
        <p>Example of the main configuration file. Note that all paths are relative to the main parameter.</p>
        <media xlink:href="neuro_v2i1e47881_app3.png" xlink:title="PNG File , 63 KB"/>
      </supplementary-material>
      <supplementary-material id="app4">
        <label>Multimedia Appendix 4</label>
        <p>The different options for the experiment configuration file. Each experiment must include this file. The parameter command might need to be modified when porting the platform to a different operating system (from Windows to Linux or macOS, for example). It is up to the researcher to perform the redefinition.</p>
        <media xlink:href="neuro_v2i1e47881_app4.png" xlink:title="PNG File , 211 KB"/>
      </supplementary-material>
      <supplementary-material id="app5">
        <label>Multimedia Appendix 5</label>
        <p>Experiment configuration file used for the grasping experiment. This experiment presents simple instructions to the participant indicating continuous opening and closing of either the left or right hand. The visual interface was built using the Python Tkinter library.</p>
        <media xlink:href="neuro_v2i1e47881_app5.png" xlink:title="PNG File , 79 KB"/>
      </supplementary-material>
      <supplementary-material id="app6">
        <label>Multimedia Appendix 6</label>
        <p>Experiment configuration file used for the grasping web experiment. This experiment presents simple instructions to the participant indicating continuous opening and closing of either the left or right hand. The visual interface was built using HTML, CSS (Bootstrap5 for responsiveness and other visual aspects), and JavaScript for behavior.</p>
        <media xlink:href="neuro_v2i1e47881_app6.png" xlink:title="PNG File , 89 KB"/>
      </supplementary-material>
      <supplementary-material id="app7">
        <label>Multimedia Appendix 7</label>
        <p>Experiment configuration file used for the 3D hand-tracking experiment. The goal of the experiment is to hold the cursor on the target. The cursor can be moved in 3 dimensions, where the third dimension controls the size of the circle. In this case, the hand tracking is done by the LeapMotion controller.</p>
        <media xlink:href="neuro_v2i1e47881_app7.png" xlink:title="PNG File , 72 KB"/>
      </supplementary-material>
      <supplementary-material id="app8">
        <label>Multimedia Appendix 8</label>
        <p>The directory tree illustrates a system with 3 different folders, each for a different experiment (∼/EXPERIMENT_1/, ∼/EXPERIMENT_2/, and ∼/EXPERIMENT_3/). Each experiment contains its own configuration file (config.yaml). The researcher can add any additional files to each folder.</p>
        <media xlink:href="neuro_v2i1e47881_app8.png" xlink:title="PNG File , 54 KB"/>
      </supplementary-material>
      <supplementary-material id="app9">
        <label>Multimedia Appendix 9</label>
        <p>Template that can be used for creating an experiment configuration file.</p>
        <media xlink:href="neuro_v2i1e47881_app9.png" xlink:title="PNG File , 138 KB"/>
      </supplementary-material>
    </app-group>
    <glossary>
      <title>Abbreviations</title>
      <def-list>
        <def-item>
          <term id="abb1">EEG</term>
          <def>
            <p>electroencephalography</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb2">LSL</term>
          <def>
            <p>Lab Streaming Layer</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb3">OS</term>
          <def>
            <p>operating system</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb4">T-REX</term>
          <def>
            <p>Standalone Recorder of Experiments</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb5">UI</term>
          <def>
            <p>user interface</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb6">YAML</term>
          <def>
            <p>Yet Another Markup Language</p>
          </def>
        </def-item>
      </def-list>
    </glossary>
    <ack>
      <p>CH acknowledges funding from the Dutch Research Council (Nederlandse Organisatie voor Wetenschappelijk Onderzoek) through the research project “Decoding Speech In SEEG (DESIS)” with project number VI.Veni.194.021.</p>
    </ack>
    <notes>
      <sec>
        <title>Data Availability</title>
        <p>The source code, installation guide, and example experiments can be found on GitHub [<xref ref-type="bibr" rid="ref48">48</xref>]. T-REX is available under the permissive MIT License. As T-REX will be in ongoing development, we kindly invite researchers to provide feedback or contribute to this open-source project.</p>
      </sec>
    </notes>
    <fn-group>
      <fn fn-type="con">
        <p>JAV, MCO, MV, PK, and CH conceptualized the study. JAV, MCO, and PK performed the investigation. JAV, MCO, PK, and CH participated in the methodology. JAV and MCO contributed to project administration. PK and CH managed the resources. JAV, MCO, and PK contributed to the software. PK and CH supervised the study. JAV, MCO, and MV contributed to validation. JAV and MCO contributed to visualization. JAV and MCO wrote the original draft. JAV, MCO, MV, PK, and CH reviewed and edited the manuscript.</p>
      </fn>
      <fn fn-type="conflict">
        <p>The author PK is the Editor-in-Chief of JMIR Neurotechnology. PK was not involved in any decisions made regarding this manuscript. All other authors declare no conflicts of interest.</p>
      </fn>
    </fn-group>
    <ref-list>
      <ref id="ref1">
        <label>1</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Krusienski</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>The potential of stereotactic-EEG for brain-computer interfaces: Current progress and future directions</article-title>
          <source>Front Neurosci</source>
          <year>2020</year>
          <volume>14</volume>
          <fpage>123</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/32174810"/>
          </comment>
          <pub-id pub-id-type="doi">10.3389/fnins.2020.00123</pub-id>
          <pub-id pub-id-type="medline">32174810</pub-id>
          <pub-id pub-id-type="pmcid">PMC7056827</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref2">
        <label>2</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jacobs</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kahana</surname>
              <given-names>MJ</given-names>
            </name>
          </person-group>
          <article-title>Direct brain recordings fuel advances in cognitive electrophysiology</article-title>
          <source>Trends Cogn Sci</source>
          <year>2010</year>
          <month>04</month>
          <volume>14</volume>
          <issue>4</issue>
          <fpage>162</fpage>
          <lpage>71</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/20189441"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.tics.2010.01.005</pub-id>
          <pub-id pub-id-type="medline">20189441</pub-id>
          <pub-id pub-id-type="pii">S1364-6613(10)00024-0</pub-id>
          <pub-id pub-id-type="pmcid">PMC2847661</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref3">
        <label>3</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Feinsinger</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Pouratian</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Ebadi</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Adolphs</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Andersen</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Beauchamp</surname>
              <given-names>MS</given-names>
            </name>
            <name name-style="western">
              <surname>Chang</surname>
              <given-names>EF</given-names>
            </name>
            <name name-style="western">
              <surname>Crone</surname>
              <given-names>NE</given-names>
            </name>
            <name name-style="western">
              <surname>Collinger</surname>
              <given-names>JL</given-names>
            </name>
            <name name-style="western">
              <surname>Fried</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Mamelak</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Richardson</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Rutishauser</surname>
              <given-names>U</given-names>
            </name>
            <name name-style="western">
              <surname>Sheth</surname>
              <given-names>SA</given-names>
            </name>
            <name name-style="western">
              <surname>Suthana</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Tandon</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Yoshor</surname>
              <given-names>D</given-names>
            </name>
            <collab>NIH Research Opportunities in Humans Consortium</collab>
          </person-group>
          <article-title>Ethical commitments, principles, and practices guiding intracranial neuroscientific research in humans</article-title>
          <source>Neuron</source>
          <year>2022</year>
          <month>01</month>
          <day>19</day>
          <volume>110</volume>
          <issue>2</issue>
          <fpage>188</fpage>
          <lpage>194</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S0896-6273(21)00949-1"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.neuron.2021.11.011</pub-id>
          <pub-id pub-id-type="medline">35051364</pub-id>
          <pub-id pub-id-type="pii">S0896-6273(21)00949-1</pub-id>
          <pub-id pub-id-type="pmcid">PMC9417025</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref4">
        <label>4</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mercier</surname>
              <given-names>MR</given-names>
            </name>
            <name name-style="western">
              <surname>Dubarry</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Tadel</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Avanzini</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Axmacher</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Cellier</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Vecchio</surname>
              <given-names>MD</given-names>
            </name>
            <name name-style="western">
              <surname>Hamilton</surname>
              <given-names>LS</given-names>
            </name>
            <name name-style="western">
              <surname>Hermes</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Kahana</surname>
              <given-names>MJ</given-names>
            </name>
            <name name-style="western">
              <surname>Knight</surname>
              <given-names>RT</given-names>
            </name>
            <name name-style="western">
              <surname>Llorens</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Megevand</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Melloni</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Miller</surname>
              <given-names>KJ</given-names>
            </name>
            <name name-style="western">
              <surname>Piai</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Puce</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Ramsey</surname>
              <given-names>NF</given-names>
            </name>
            <name name-style="western">
              <surname>Schwiedrzik</surname>
              <given-names>CM</given-names>
            </name>
            <name name-style="western">
              <surname>Smith</surname>
              <given-names>SE</given-names>
            </name>
            <name name-style="western">
              <surname>Stolk</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Swann</surname>
              <given-names>NC</given-names>
            </name>
            <name name-style="western">
              <surname>Vansteensel</surname>
              <given-names>MJ</given-names>
            </name>
            <name name-style="western">
              <surname>Voytek</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Lachaux</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Oostenveld</surname>
              <given-names>R</given-names>
            </name>
          </person-group>
          <article-title>Advances in human intracranial electroencephalography research, guidelines and good practices</article-title>
          <source>Neuroimage</source>
          <year>2022</year>
          <month>10</month>
          <day>15</day>
          <volume>260</volume>
          <fpage>119438</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1053-8119(22)00555-9"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.neuroimage.2022.119438</pub-id>
          <pub-id pub-id-type="medline">35792291</pub-id>
          <pub-id pub-id-type="pii">S1053-8119(22)00555-9</pub-id>
          <pub-id pub-id-type="pmcid">PMC10190110</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref5">
        <label>5</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Chauvel</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Gonzalez-Martinez</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Bulacio</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <person-group person-group-type="editor">
            <name name-style="western">
              <surname>Levin</surname>
              <given-names>KH</given-names>
            </name>
            <name name-style="western">
              <surname>Chauvel</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>Chapter 3 - Presurgical intracranial investigations in epilepsy surgery</article-title>
          <source>Handbook of Clinical Neurology</source>
          <year>2019</year>
          <publisher-loc>Amsterdam, Netherlands</publisher-loc>
          <publisher-name>Elsevier</publisher-name>
          <fpage>45</fpage>
          <lpage>71</lpage>
        </nlm-citation>
      </ref>
      <ref id="ref6">
        <label>6</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Lozano</surname>
              <given-names>AM</given-names>
            </name>
            <name name-style="western">
              <surname>Lipsman</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Bergman</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Brown</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Chabardes</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Chang</surname>
              <given-names>JW</given-names>
            </name>
            <name name-style="western">
              <surname>Matthews</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>McIntyre</surname>
              <given-names>CC</given-names>
            </name>
            <name name-style="western">
              <surname>Schlaepfer</surname>
              <given-names>TE</given-names>
            </name>
            <name name-style="western">
              <surname>Schulder</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Temel</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Volkmann</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Krauss</surname>
              <given-names>JK</given-names>
            </name>
          </person-group>
          <article-title>Deep brain stimulation: current challenges and future directions</article-title>
          <source>Nat Rev Neurol</source>
          <year>2019</year>
          <month>03</month>
          <day>25</day>
          <volume>15</volume>
          <issue>3</issue>
          <fpage>148</fpage>
          <lpage>160</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/30683913"/>
          </comment>
          <pub-id pub-id-type="doi">10.1038/s41582-018-0128-2</pub-id>
          <pub-id pub-id-type="medline">30683913</pub-id>
          <pub-id pub-id-type="pii">10.1038/s41582-018-0128-2</pub-id>
          <pub-id pub-id-type="pmcid">PMC6397644</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref7">
        <label>7</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Schalk</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>McFarland</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Hinterberger</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Birbaumer</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Wolpaw</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>BCI2000: A general-purpose brain-computer interface (BCI) system</article-title>
          <source>IEEE Trans. Biomed. Eng</source>
          <year>2004</year>
          <month>06</month>
          <volume>51</volume>
          <issue>6</issue>
          <fpage>1034</fpage>
          <lpage>1043</lpage>
          <pub-id pub-id-type="doi">10.1109/tbme.2004.827072</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref8">
        <label>8</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Renard</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Lotte</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Gibert</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Congedo</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Maby</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Delannoy</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Bertrand</surname>
              <given-names>O</given-names>
            </name>
            <name name-style="western">
              <surname>Lécuyer</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>OpenViBE: An open-source software platform to design, test, and use brain–computer interfaces in real and virtual environments</article-title>
          <source>Presence: Teleoperators and Virtual Environments</source>
          <year>2010</year>
          <month>02</month>
          <day>01</day>
          <volume>19</volume>
          <issue>1</issue>
          <fpage>35</fpage>
          <lpage>53</lpage>
          <pub-id pub-id-type="doi">10.1162/pres.19.1.35</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref9">
        <label>9</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Oostenveld</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Fries</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Maris</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Schoffelen</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>FieldTrip: Open source software for advanced analysis of MEG, EEG, and invasive electrophysiological data</article-title>
          <source>Comput Intell Neurosci</source>
          <year>2011</year>
          <volume>2011</volume>
          <fpage>156869</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://doi.org/10.1155/2011/156869"/>
          </comment>
          <pub-id pub-id-type="doi">10.1155/2011/156869</pub-id>
          <pub-id pub-id-type="medline">21253357</pub-id>
          <pub-id pub-id-type="pmcid">PMC3021840</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref10">
        <label>10</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Smetanin</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Volkova</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Zabodaev</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Lebedev</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ossadtchi</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>NFBLab-A versatile software for neurofeedback and brain-computer interface research</article-title>
          <source>Front Neuroinform</source>
          <year>2018</year>
          <volume>12</volume>
          <fpage>100</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/30618704"/>
          </comment>
          <pub-id pub-id-type="doi">10.3389/fninf.2018.00100</pub-id>
          <pub-id pub-id-type="medline">30618704</pub-id>
          <pub-id pub-id-type="pmcid">PMC6311652</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref11">
        <label>11</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Santamaría-Vázquez</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Martínez-Cagigal</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Marcos-Martínez</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Rodríguez-González</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Pérez-Velasco</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Moreno-Calderón</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Hornero</surname>
              <given-names>R</given-names>
            </name>
          </person-group>
          <article-title>MEDUSA©: A novel Python-based software ecosystem to accelerate brain-computer interface and cognitive neuroscience research</article-title>
          <source>Comput Methods Programs Biomed</source>
          <year>2023</year>
          <month>03</month>
          <volume>230</volume>
          <fpage>107357</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S0169-2607(23)00024-X"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.cmpb.2023.107357</pub-id>
          <pub-id pub-id-type="medline">36693292</pub-id>
          <pub-id pub-id-type="pii">S0169-2607(23)00024-X</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref12">
        <label>12</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ashmaig</surname>
              <given-names>O</given-names>
            </name>
            <name name-style="western">
              <surname>Hamilton</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Modur</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Buchanan</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Preston</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Watrous</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>A platform for cognitive monitoring of neurosurgical patients during hospitalization</article-title>
          <source>Front Hum Neurosci</source>
          <year>2021</year>
          <volume>15</volume>
          <fpage>726998</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/34880738"/>
          </comment>
          <pub-id pub-id-type="doi">10.3389/fnhum.2021.726998</pub-id>
          <pub-id pub-id-type="medline">34880738</pub-id>
          <pub-id pub-id-type="pmcid">PMC8645698</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref13">
        <label>13</label>
        <nlm-citation citation-type="web">
          <article-title>Swartz Center for Computational Neuroscience: Lab Streaming Layer</article-title>
          <source>GitHub, Inc</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://github.com/sccn/labstreaminglayer">https://github.com/sccn/labstream inglayer</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref14">
        <label>14</label>
        <nlm-citation citation-type="web">
          <article-title>Getting started</article-title>
          <source>Bootstrap</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://getbootstrap.com/docs/5.1/getting-started/introduction/">https://getbootstrap.com/docs/5.1/getting-started/introduction/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref15">
        <label>15</label>
        <nlm-citation citation-type="web">
          <article-title>Flask</article-title>
          <source>Pallets</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://flask.palletsprojects.com/en/2.1.x">https://flask.palletsprojects.com/en/2.1.x</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref16">
        <label>16</label>
        <nlm-citation citation-type="web">
          <source>PsychoPy</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.psychopy.org/">https://www.psychopy.org/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref17">
        <label>17</label>
        <nlm-citation citation-type="web">
          <source>OpenSesame</source>
          <access-date>2022-09-26</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://osdoc.cogsci.nl">https://osdoc.cogsci.nl</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref18">
        <label>18</label>
        <nlm-citation citation-type="web">
          <source>Neurobehavioral Systems</source>
          <access-date>2022-10-18</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.neurobs.com/">https://www.neurobs.com/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref19">
        <label>19</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Goulis</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Wagner</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Tousseyn</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Colon</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>Continuously Decoding Grasping Movements using Stereotactic Depth Electrodes</article-title>
          <year>2021</year>
          <conf-name>43rd Annual International Conference of the IEEE Engineering in Medicine &amp; Biology Society (EMBC)</conf-name>
          <conf-date>November 01-05, 2021</conf-date>
          <conf-loc>Mexico</conf-loc>
          <pub-id pub-id-type="doi">10.1109/EMBC46164.2021.9629639</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref20">
        <label>20</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Verwoert</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Goulis</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Colon</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Wagner</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Tousseyn</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>van Dijk</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Executed and imagined grasping movements can be decoded from lower dimensional representation of distributed non-motor brain areas</article-title>
          <source>BioRxiv</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.biorxiv.org/content/10.1101/2022.07.04.498676v1">https://www.biorxiv.org/content/10.1101/2022.07.04.498676v1</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref21">
        <label>21</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Li</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Jiang</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Meng</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Chai</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Wu</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Fan</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Hu</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Sheng</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Chen</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Zhu</surname>
              <given-names>X</given-names>
            </name>
          </person-group>
          <article-title>Assessing differential representation of hand movements in multiple domains using stereo-electroencephalographic recordings</article-title>
          <source>Neuroimage</source>
          <year>2022</year>
          <month>04</month>
          <day>15</day>
          <volume>250</volume>
          <fpage>118969</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1053-8119(22)00098-2"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.neuroimage.2022.118969</pub-id>
          <pub-id pub-id-type="medline">35124225</pub-id>
          <pub-id pub-id-type="pii">S1053-8119(22)00098-2</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref22">
        <label>22</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Li</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Jiang</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Paraskevopoulou</surname>
              <given-names>SE</given-names>
            </name>
            <name name-style="western">
              <surname>Chai</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Wei</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Xu</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Fan</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Wu</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Chen</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Zhu</surname>
              <given-names>X</given-names>
            </name>
          </person-group>
          <article-title>Detection of human white matter activation and evaluation of its function in movement decoding using stereo-electroencephalography (SEEG)</article-title>
          <source>J Neural Eng</source>
          <year>2021</year>
          <month>08</month>
          <day>12</day>
          <volume>18</volume>
          <issue>4</issue>
          <fpage>0460c6</fpage>
          <pub-id pub-id-type="doi">10.1088/1741-2552/ac160e</pub-id>
          <pub-id pub-id-type="medline">34284361</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref23">
        <label>23</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Merk</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Peterson</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Lipski</surname>
              <given-names>W</given-names>
            </name>
            <name name-style="western">
              <surname>Blankertz</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Turner</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Li</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Horn</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Richardson</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Neumann</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <article-title>Electrocorticography is superior to subthalamic local field potentials for movement decoding in Parkinson's disease</article-title>
          <source>Elife</source>
          <year>2022</year>
          <month>05</month>
          <day>27</day>
          <volume>11</volume>
          <fpage>11</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/35621994"/>
          </comment>
          <pub-id pub-id-type="doi">10.7554/eLife.75126</pub-id>
          <pub-id pub-id-type="medline">35621994</pub-id>
          <pub-id pub-id-type="pii">75126</pub-id>
          <pub-id pub-id-type="pmcid">PMC9142148</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref24">
        <label>24</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mondini</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Kobler</surname>
              <given-names>RJ</given-names>
            </name>
            <name name-style="western">
              <surname>Sburlea</surname>
              <given-names>AI</given-names>
            </name>
            <name name-style="western">
              <surname>Müller-Putz</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>Continuous low-frequency EEG decoding of arm movement for closed-loop, natural control of a robotic arm</article-title>
          <source>J Neural Eng</source>
          <year>2020</year>
          <month>08</month>
          <day>11</day>
          <volume>17</volume>
          <issue>4</issue>
          <fpage>046031</fpage>
          <pub-id pub-id-type="doi">10.1088/1741-2552/aba6f7</pub-id>
          <pub-id pub-id-type="medline">32679573</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref25">
        <label>25</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Coste</surname>
              <given-names>CA</given-names>
            </name>
            <name name-style="western">
              <surname>William</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Fonseca</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Hiairrassary</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Andreu</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Geffrier</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Teissier</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Fattal</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Guiraud</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Activating effective functional hand movements in individuals with complete tetraplegia through neural stimulation</article-title>
          <source>Sci Rep</source>
          <year>2022</year>
          <month>10</month>
          <day>06</day>
          <volume>12</volume>
          <issue>1</issue>
          <fpage>16189</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://doi.org/10.1038/s41598-022-19906-x"/>
          </comment>
          <pub-id pub-id-type="doi">10.1038/s41598-022-19906-x</pub-id>
          <pub-id pub-id-type="medline">36202865</pub-id>
          <pub-id pub-id-type="pii">10.1038/s41598-022-19906-x</pub-id>
          <pub-id pub-id-type="pmcid">PMC9537317</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref26">
        <label>26</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hosseini</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Shalchyan</surname>
              <given-names>V</given-names>
            </name>
          </person-group>
          <article-title>Continuous decoding of hand movement from EEG signals using phase-based connectivity features</article-title>
          <source>Front Hum Neurosci</source>
          <year>2022</year>
          <volume>16</volume>
          <fpage>901285</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/35845243"/>
          </comment>
          <pub-id pub-id-type="doi">10.3389/fnhum.2022.901285</pub-id>
          <pub-id pub-id-type="medline">35845243</pub-id>
          <pub-id pub-id-type="pmcid">PMC9279670</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref27">
        <label>27</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Shah</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Tan</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Brown</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>Continuous force decoding from deep brain local field potentials for Brain Computer Interfacing</article-title>
          <year>2017</year>
          <conf-name>8th International IEEE/EMBS Conference on Neural Engineering (NER)</conf-name>
          <conf-date>May 25-28, 2017</conf-date>
          <conf-loc>Shanghai, China</conf-loc>
          <pub-id pub-id-type="doi">10.1109/NER.2017.8008367</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref28">
        <label>28</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Patel</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>van der Heijden</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Bickel</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Herrero</surname>
              <given-names>JL</given-names>
            </name>
            <name name-style="western">
              <surname>Mehta</surname>
              <given-names>AD</given-names>
            </name>
            <name name-style="western">
              <surname>Mesgarani</surname>
              <given-names>N</given-names>
            </name>
          </person-group>
          <article-title>Interaction of bottom-up and top-down neural mechanisms in spatial multi-talker speech perception</article-title>
          <source>Curr Biol</source>
          <year>2022</year>
          <month>09</month>
          <day>26</day>
          <volume>32</volume>
          <issue>18</issue>
          <fpage>3971</fpage>
          <lpage>3986.e4</lpage>
          <pub-id pub-id-type="doi">10.1016/j.cub.2022.07.047</pub-id>
          <pub-id pub-id-type="medline">35973430</pub-id>
          <pub-id pub-id-type="pii">S0960-9822(22)01196-4</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref29">
        <label>29</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Prinsloo</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Lalor</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>General auditory and speech-specific contributions to cortical envelope tracking revealed using auditory chimeras</article-title>
          <source>J Neurosci</source>
          <year>2022</year>
          <month>10</month>
          <day>12</day>
          <volume>42</volume>
          <issue>41</issue>
          <fpage>7782</fpage>
          <lpage>7798</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="http://www.jneurosci.org/cgi/pmidlookup?view=long&amp;pmid=36041853"/>
          </comment>
          <pub-id pub-id-type="doi">10.1523/JNEUROSCI.2735-20.2022</pub-id>
          <pub-id pub-id-type="medline">36041853</pub-id>
          <pub-id pub-id-type="pii">JNEUROSCI.2735-20.2022</pub-id>
          <pub-id pub-id-type="pmcid">PMC9581567</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref30">
        <label>30</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Biau</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Schultz</surname>
              <given-names>BG</given-names>
            </name>
            <name name-style="western">
              <surname>Gunter</surname>
              <given-names>TC</given-names>
            </name>
            <name name-style="western">
              <surname>Kotz</surname>
              <given-names>SA</given-names>
            </name>
          </person-group>
          <article-title>Left motor δ oscillations reflect asynchrony detection in multisensory speech perception</article-title>
          <source>J. Neurosci</source>
          <year>2022</year>
          <month>01</month>
          <day>27</day>
          <volume>42</volume>
          <issue>11</issue>
          <fpage>2313</fpage>
          <lpage>2326</lpage>
          <pub-id pub-id-type="doi">10.1523/jneurosci.2965-20.2022</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref31">
        <label>31</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hausfeld</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Disbergen</surname>
              <given-names>NR</given-names>
            </name>
            <name name-style="western">
              <surname>Valente</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Zatorre</surname>
              <given-names>RJ</given-names>
            </name>
            <name name-style="western">
              <surname>Formisano</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Modulating cortical instrument representations during auditory stream segregation and integration with polyphonic music</article-title>
          <source>Front Neurosci</source>
          <year>2021</year>
          <month>9</month>
          <day>24</day>
          <volume>15</volume>
          <fpage>635937</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/34630007"/>
          </comment>
          <pub-id pub-id-type="doi">10.3389/fnins.2021.635937</pub-id>
          <pub-id pub-id-type="medline">34630007</pub-id>
          <pub-id pub-id-type="pmcid">PMC8498193</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref32">
        <label>32</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hausfeld</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Shiell</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Formisano</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Riecke</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Cortical processing of distracting speech in noisy auditory scenes depends on perceptual demand</article-title>
          <source>Neuroimage</source>
          <year>2021</year>
          <month>03</month>
          <volume>228</volume>
          <fpage>117670</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1053-8119(20)31155-1"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.neuroimage.2020.117670</pub-id>
          <pub-id pub-id-type="medline">33359352</pub-id>
          <pub-id pub-id-type="pii">S1053-8119(20)31155-1</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref33">
        <label>33</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Angrick</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Mugler</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Tate</surname>
              <given-names>MC</given-names>
            </name>
            <name name-style="western">
              <surname>Slutzky</surname>
              <given-names>MW</given-names>
            </name>
            <name name-style="western">
              <surname>Krusienski</surname>
              <given-names>DJ</given-names>
            </name>
            <name name-style="western">
              <surname>Schultz</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Speech synthesis from ECoG using densely connected 3D convolutional neural networks</article-title>
          <source>J Neural Eng</source>
          <year>2019</year>
          <month>06</month>
          <day>16</day>
          <volume>16</volume>
          <issue>3</issue>
          <fpage>036019</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/30831567"/>
          </comment>
          <pub-id pub-id-type="doi">10.1088/1741-2552/ab0c59</pub-id>
          <pub-id pub-id-type="medline">30831567</pub-id>
          <pub-id pub-id-type="pmcid">PMC6822609</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref34">
        <label>34</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Diener</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Angrick</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Mugler</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Tate</surname>
              <given-names>MC</given-names>
            </name>
            <name name-style="western">
              <surname>Goldrick</surname>
              <given-names>MA</given-names>
            </name>
            <name name-style="western">
              <surname>Krusienski</surname>
              <given-names>DJ</given-names>
            </name>
            <name name-style="western">
              <surname>Slutzky</surname>
              <given-names>MW</given-names>
            </name>
            <name name-style="western">
              <surname>Schultz</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Generating natural, intelligible speech from brain activity in motor, premotor, and inferior frontal cortices</article-title>
          <source>Front Neurosci</source>
          <year>2019</year>
          <month>11</month>
          <day>22</day>
          <volume>13</volume>
          <fpage>1267</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/31824257"/>
          </comment>
          <pub-id pub-id-type="doi">10.3389/fnins.2019.01267</pub-id>
          <pub-id pub-id-type="medline">31824257</pub-id>
          <pub-id pub-id-type="pmcid">PMC6882773</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref35">
        <label>35</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Angrick</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>MC</given-names>
            </name>
            <name name-style="western">
              <surname>Diener</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Ivucic</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Ivucic</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Goulis</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Saal</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Colon</surname>
              <given-names>AJ</given-names>
            </name>
            <name name-style="western">
              <surname>Wagner</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Krusienski</surname>
              <given-names>DJ</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>PL</given-names>
            </name>
            <name name-style="western">
              <surname>Schultz</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Real-time synthesis of imagined speech processes from minimally invasive recordings of neural activity</article-title>
          <source>Commun Biol</source>
          <year>2021</year>
          <month>09</month>
          <day>23</day>
          <volume>4</volume>
          <issue>1</issue>
          <fpage>1055</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://doi.org/10.1038/s42003-021-02578-0"/>
          </comment>
          <pub-id pub-id-type="doi">10.1038/s42003-021-02578-0</pub-id>
          <pub-id pub-id-type="medline">34556793</pub-id>
          <pub-id pub-id-type="pii">10.1038/s42003-021-02578-0</pub-id>
          <pub-id pub-id-type="pmcid">PMC8460739</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref36">
        <label>36</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Moses</surname>
              <given-names>DA</given-names>
            </name>
            <name name-style="western">
              <surname>Metzger</surname>
              <given-names>SL</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>JR</given-names>
            </name>
            <name name-style="western">
              <surname>Anumanchipalli</surname>
              <given-names>GK</given-names>
            </name>
            <name name-style="western">
              <surname>Makin</surname>
              <given-names>JG</given-names>
            </name>
            <name name-style="western">
              <surname>Sun</surname>
              <given-names>PF</given-names>
            </name>
            <name name-style="western">
              <surname>Chartier</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Dougherty</surname>
              <given-names>ME</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>PM</given-names>
            </name>
            <name name-style="western">
              <surname>Abrams</surname>
              <given-names>GM</given-names>
            </name>
            <name name-style="western">
              <surname>Tu-Chan</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Ganguly</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Chang</surname>
              <given-names>EF</given-names>
            </name>
          </person-group>
          <article-title>Neuroprosthesis for decoding speech in a paralyzed person with anarthria</article-title>
          <source>N Engl J Med</source>
          <year>2021</year>
          <month>07</month>
          <day>15</day>
          <volume>385</volume>
          <issue>3</issue>
          <fpage>217</fpage>
          <lpage>227</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/34260835"/>
          </comment>
          <pub-id pub-id-type="doi">10.1056/NEJMoa2027540</pub-id>
          <pub-id pub-id-type="medline">34260835</pub-id>
          <pub-id pub-id-type="pmcid">PMC8972947</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref37">
        <label>37</label>
        <nlm-citation citation-type="web">
          <article-title>tkinter</article-title>
          <source>Python</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://docs.python.org/3/library/tkinter.html">https://docs.python.org/3/library/tkinter.html</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref38">
        <label>38</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Verwoert</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Goulis</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Wagner</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>van Dijk</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Global motor dynamics - Invariant neural representations of motor behavior in distributed brain-wide recordings</article-title>
          <source>bioRxiv</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.biorxiv.org/content/10.1101/2023.07.07.548122v1">https://www.biorxiv.org/content/10.1101/2023.07.07.548122v1</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref39">
        <label>39</label>
        <nlm-citation citation-type="web">
          <article-title>Leap Motion Controller</article-title>
          <source>Ultraleap</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.ultraleap.com/product/leap-motion-controller">https://www.ultraleap.com/product/leap-motion-controller</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref40">
        <label>40</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Sonkusare</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Breakspear</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Guo</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Naturalistic stimuli in neuroscience: Critically acclaimed</article-title>
          <source>Trends Cogn Sci</source>
          <year>2019</year>
          <month>08</month>
          <volume>23</volume>
          <issue>8</issue>
          <fpage>699</fpage>
          <lpage>714</lpage>
          <pub-id pub-id-type="doi">10.1016/j.tics.2019.05.004</pub-id>
          <pub-id pub-id-type="medline">31257145</pub-id>
          <pub-id pub-id-type="pii">S1364-6613(19)30127-5</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref41">
        <label>41</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hamilton</surname>
              <given-names>LS</given-names>
            </name>
            <name name-style="western">
              <surname>Huth</surname>
              <given-names>AG</given-names>
            </name>
          </person-group>
          <article-title>The revolution will not be controlled: natural stimuli in speech neuroscience</article-title>
          <source>Lang Cogn Neurosci</source>
          <year>2020</year>
          <month>07</month>
          <day>22</day>
          <volume>35</volume>
          <issue>5</issue>
          <fpage>573</fpage>
          <lpage>582</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/32656294"/>
          </comment>
          <pub-id pub-id-type="doi">10.1080/23273798.2018.1499946</pub-id>
          <pub-id pub-id-type="medline">32656294</pub-id>
          <pub-id pub-id-type="pii">1499946</pub-id>
          <pub-id pub-id-type="pmcid">PMC7324135</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref42">
        <label>42</label>
        <nlm-citation citation-type="web">
          <source>Unity</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://unity.com">https://unity.com</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref43">
        <label>43</label>
        <nlm-citation citation-type="web">
          <source>Pygame</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.pygame.org/wiki/about">https://www.pygame.org/wiki/about</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref44">
        <label>44</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Amigó-Vega</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Verwoert</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Decoding articulatory trajectories during speech production from intracranial EEG</article-title>
          <source>Proceedings of the 10th International Brain-Computer Interface Meeting</source>
          <year>2023</year>
          <conf-name>10th International Brain-Computer Interface Meeting</conf-name>
          <conf-date>June 6-9, 2023</conf-date>
          <conf-loc>Brussels, Belgium</conf-loc>
          <fpage>Article ID: 144441</fpage>
        </nlm-citation>
      </ref>
      <ref id="ref45">
        <label>45</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Verwoert</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Amigó-Vega</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Goulis</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Wagner</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Evaluating implant locations for a minimally invasive speech BCI</article-title>
          <source>Proceedings of the 10th International Brain-Computer Interface Meeting</source>
          <year>2023</year>
          <conf-name>10th International Brain-Computer Interface Meeting</conf-name>
          <conf-date>June 6-9, 2023</conf-date>
          <conf-loc>Brussels, Belgium</conf-loc>
          <fpage>Article ID: 144185</fpage>
        </nlm-citation>
      </ref>
      <ref id="ref46">
        <label>46</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ottenhoff</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Verwoert</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Goulis</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Colon</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Kubben</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Shanechi</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Sani</surname>
              <given-names>O</given-names>
            </name>
            <name name-style="western">
              <surname>Herff</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Decoding hand kinematics from brain-wide distributed neural recordings</article-title>
          <source>Proceedings of the 10th International Brain-Computer Interface Meeting</source>
          <year>2023</year>
          <conf-name>10th International Brain-Computer Interface Meeting</conf-name>
          <conf-date>June 6-9, 2023</conf-date>
          <conf-loc>Brussels, Belgium</conf-loc>
        </nlm-citation>
      </ref>
      <ref id="ref47">
        <label>47</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>Q</given-names>
            </name>
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>Q</given-names>
            </name>
            <name name-style="western">
              <surname>Sun</surname>
              <given-names>W</given-names>
            </name>
            <name name-style="western">
              <surname>Boulay</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Kim</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Barmaki</surname>
              <given-names>RL</given-names>
            </name>
          </person-group>
          <article-title>A scoping review of the use of lab streaming layer framework in virtual and augmented reality research</article-title>
          <source>Virtual Reality</source>
          <year>2023</year>
          <month>05</month>
          <day>02</day>
          <volume>27</volume>
          <issue>3</issue>
          <fpage>2195</fpage>
          <lpage>2210</lpage>
          <pub-id pub-id-type="doi">10.1007/S10055-023-00799-8</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref48">
        <label>48</label>
        <nlm-citation citation-type="web">
          <article-title>T-Rex source code and documentation</article-title>
          <source>GitHub, Inc</source>
          <access-date>2023-09-21</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://github.com/neuralinterfacinglab/t-rex">https://github.com/neuralinterfacinglab/t-rex</ext-link>
          </comment>
        </nlm-citation>
      </ref>
    </ref-list>
  </back>
</article>
