Questions about developing new applications for BCI2000

Forum for software developers to discuss BCI2000 software development
Post Reply
Posts: 8
Joined: 28 Apr 2014, 12:37

Questions about developing new applications for BCI2000

Post by Jianjunmeng » 06 Nov 2014, 17:10


Based on CursorTask, We can develop new application. What I want to do is that processing the EEG signals during the stage of PreFeedback (when the task bar appear) and then show a picture according to the results of data processing. The Feedback might be similar to the standard CursorTask. After reading the source code of CursorTask. I have some difficulty to understand the Trial sequencing management for CursorTask (The Wiki said that the Trial sequencing and target sequences are managed by other module?) and how does the BCI2000 change the state from like Prefeedback to Feedback, how does BCI2000 control the time accurately? I can not find the description about this systematically. Thank you for your time.


Posts: 344
Joined: 17 Sep 2010, 12:43

Re: Questions about developing new applications for BCI2000

Post by pbrunner » 27 Jan 2015, 20:44


what you want to do can be best accomplished by a combination of a filter and an application. The filter for the signal processing magic and the application for the implementation of the state machine and the task interface. As the CursorTask has litte to offer for you, I would recommend that you create a new application and a new filter. After compiling BCI2000 you find NewBCI2000Filter.exe and NewBCI2000Module.exe in the BCI2000/build directory. With these you can create new filter, signal processing and application templates as explained in the wiki [1]. Next, you need to implement your signal processing in the new filter. Then you need to add the filter to your new custom signal processing module. If you like you can have your filter at the end of a filter chain, e.g., spectral processing and then some magic in your filter. Your filter sets a state that then gets evaluated in your custom application. This state change trigger the application to progress in a state machine. Implement this state machine in the process function.

Let me know if you have any more questions.

Regards, Peter

[1] ... a_template

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests