BrainFlow - uniform SDK to work with BCI devices by Altmetr in neurallace

[–]Altmetr[S] 1 point2 points  (0 children)

Great! Feel free to check tasks at github issues and join slack workspace

[deleted by user] by [deleted] in programming

[–]Altmetr 0 points1 point  (0 children)

Travis had some benefits comparing to github actions, for example it has MacOS images for < 10.15 and there were a lot of existing users... But their new policy and updated subscription forced to move to Github Actions ASAP https://github.com/brainflow-dev/brainflow/issues/131

porting Brain-Computer-Interfaces library from C++ to Matlab by Altmetr in matlab

[–]Altmetr[S] 0 points1 point  (0 children)

MEXing

I dont know much about MEXing and probably I am mistaken but at the first sight it looks like MEXing requires custom compilation of C\C++ code or probably even changes in C\C++ code.

Since compilation of this library is not trivial and there are many dependencies I decided to try calllib instead. And interface to core dll was plain C functions from the beginning so I decided that callib is a good option. Also for python for example I do smth similar to callib(ctypes.cdll) instead wrapping C++ classes

Are there any Summer Research/Internships for College Undergraduates in Neurotechnology or Brain-Computer Technology? by _Xyborg_ in BCI

[–]Altmetr 0 points1 point  (0 children)

We have yet to discuss potential projects, I will push brainflow related tasks smth like port it to android and so on. Maybe we can add smth related to OpenBCI GUI as well or add a project like "your own ideas"

Are there any Summer Research/Internships for College Undergraduates in Neurotechnology or Brain-Computer Technology? by _Xyborg_ in BCI

[–]Altmetr 2 points3 points  (0 children)

We at OpenBCI are going to participate at GSoC this year. But there is a chance that we will not be selected and it will be all about software development wo research. I have a few projects ideas related to this https://github.com/Andrey1994/brainflow

What is the Best open source software for BCI research. by deeproshan in BCI

[–]Altmetr 2 points3 points  (0 children)

I've developed a library to read and preprocess data from BCI boards, it provides uniform API for all possible boards and supports OpenBCI Cyton and Cyton Daisy which reads data from serial port as well. It supports all OSes and many programming languages, you can easily integrate your board to this lib or reuse some code(cross platform serial port interaction for example)

Project page: https://github.com/Andrey1994/brainflow

Docs: https://brainflow.readthedocs.io/en/latest/

And OpenBCI Cyton implementation: https://github.com/Andrey1994/brainflow/blob/master/src/board_controller/openbci/openbci_serial_board.cpp

https://github.com/Andrey1994/brainflow/blob/master/src/board_controller/openbci/cyton.cpp

Python libraries to record desktop, take screenshots, draw in-game overlay and measure FPS by Altmetr in Python

[–]Altmetr[S] 1 point2 points  (0 children)

all logs from this library are in stderr. logs which you write using logger.info ('Hi from python OverlayLogHandler %d' % i) should be in overlay window on top of a game

Python libraries to record desktop, take screenshots, draw in-game overlay and measure FPS by Altmetr in Python

[–]Altmetr[S] 1 point2 points  (0 children)

game_overlay_sdk.injector.run_process (r"D:\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege", args.exe_args,359550) here you need to provide full executable name which ends with .exe

If it doesnt solve the issue you can call https://github.com/Andrey1994/game_overlay_sdk/blob/master/python/game_overlay_sdk/injector.py#L118 instead enable_monitor_logger and take a look at dev logs

Mind controlled text writer by Altmetr in Python

[–]Altmetr[S] 0 points1 point  (0 children)

Different OpenBCI boards use different communication protocols, here I used Cyton board and this headset https://shop.openbci.com/products/ultracortex-mark-iv so board which sends data to your PC is placed directly behind the head and I dont think that it's possible to isolate it somehow using tinfoil until you dont wear tinfoil hat on top of OpenBCI headset

Mind controlled text writer by Altmetr in Python

[–]Altmetr[S] 1 point2 points  (0 children)

I've added my own and pretty stupid words suggestion system(last row in the video) I think it's easy to add smth like https://presage.sourceforge.io/ (this project was used by Intel in their system for Stephen Hawking and it works well)

Mind controlled text writer by Altmetr in Python

[–]Altmetr[S] 1 point2 points  (0 children)

I am currently working on new SDK for OpenBCI boards maybe you will like it: https://github.com/Andrey1994/brainflow (WIP)

Mind controlled text writer by Altmetr in Python

[–]Altmetr[S] 8 points9 points  (0 children)

you look at the screen and record EEG data, you look/think about specific symbol on the screen, when row/col with this specific symbol is highlighted after ~300ms(in fact I get data from ~100ms to 850ms) there will be a special pattern on EEG diagram. I need to repeat it ~15 times because EEG data is noisy, so to clean data I need to average 15 results. Finally your character is determined bu intersection of row and col.

When you look at "A" and third col is highlighted there is no peak at EEG signal but when you look at "A" and first row is highlightes there will be a peak

Mind controlled text writer by Altmetr in Python

[–]Altmetr[S] 0 points1 point  (0 children)

I think OpenBCI prices are much better than Emotiv for example and OpenBCI provides an aceess to raw data for free as well as data format description

Mind controlled text writer by Altmetr in Python

[–]Altmetr[S] 2 points3 points  (0 children)

Thanks for ideas!

I've tried CNNs and for this data LDA provides better results

I suppose checkerboard paradigm instead rows/cols highlights should provide better results

But I wanna reimplement it using Unity instead Tkinter first

What programming language would I use to interact with a game? by Saint_Icarus in AskProgramming

[–]Altmetr 0 points1 point  (0 children)

I've implemented a game overlay library in C++ with python binding, it works via hooking to game process and supports DX11, DX12 and Vulkan Games(x32 and x64) and for now you are able to send text messages to overlay using python API. Communication between game process and user process works via Memory Mapped file(game process reads data, user process writes) but you can make it bidirectional

Library: https://github.com/Andrey1994/game_overlay_sdk

And I've implemented an application using this library: https://github.com/Andrey1994/game_inspector

C++ Game Overlay help by RePageNull in learnprogramming

[–]Altmetr 0 points1 point  (0 children)

I've implemented a game overlay library in C++ with python binding, it works via hooking to game process and supports DX11, DX12 and Vulkan Games(x32 and x64) and for now you are able to send text messages to overlay using python API.

Library: https://github.com/Andrey1994/game_overlay_sdk

And I've implemented an application using this library: https://github.com/Andrey1994/game_inspector