用于pygame的LSL Wrapper

时间:2016-08-05 10:48:43

标签: python-3.x pygame

Python和游戏的新手。是否存在用于pygame的LSL(实验室流层)包装器?我想用EEG信号创建一个游戏来创建一个大脑计算机界面应用程序。任何帮助将深表感谢。谢谢! :)

2 个答案:

答案 0 :(得分:0)

Python有一个名为pylsl的LSL模块。你应该能够将它融入你的游戏循环中。

以下代码改编自this example

from pylsl import StreamInlet, resolve_stream
import pygame

# first resolve an EEG stream on the lab network
streams = resolve_stream('type', 'EEG')

# create a new inlet to read from the stream
inlet = StreamInlet(streams[0])


# Pygame setup
pygame.init()
size = width, height = 320, 240

screen = pygame.display.set_mode(size)

samples = []
while True:
    # get a new sample (you can also omit the timestamp part if you're not
    # interested in it)

    # Get a sample from the inlet stream
    sample, timestamp = inlet.pull_sample()
    samples.push(sample)

    #TODO: interperate stream and update game objects accordingly. 
    # You'll probably need to keep a few samples to interpret this data.


    #TODO: draw game
    ...
    pygame.display.flip()

答案 1 :(得分:0)

添加另一种可能性:来自日内瓦大学生物技术基金会的工程师使用 LSL 创建了一个使用 EEG 的在线范例库,称为 NeuroDecode。 它依赖于 pylsl 并提供更高级别的实现。

在我的 fork 版本中,我放弃了(旧的)解码功能,转而改进低级功能,例如信号采集/可视化。

https://github.com/mscheltienne/NeuroDecode