Thalamus is an open-source Python program designed for real-time, synchronized, closed-loop multimodal data capture, specifically tailored to meet the stringent demands of neurosurgical environments.
Thalamus facilitates the advancement of clinical applications of Brain-Computer Interface (BCI) technology by integrating behavioral and electrophysiological data streams. Thalamus prioritizes the following design requirements:
- Requires minimal setup within an operating room, clinical and research environment and could be easily controlled and quickly modified by the experimenter
- Operated with high reliability with few crashes
- Fail-safe architecture that guarantees minimal data loss in the setting of a crash
- Allows for real-time computation to support visualizations of research and clinical data streams
- Closed-loop control based on research and/or clinical data streams
- Acquires synchronous data from the available research and clinical sensors including relevant behavioral, physiologic, and neural sensors that could easily be scaled over time
- Supports a high-bandwidth, low latency, parallel distributed architecture for modular acquisition and computation that could easily be upgraded as technology continues to advance
- Open-source with source code available to support research use
- Embodies best practice in software engineering using unit tests and validation checks
- Supports advances in translational applications and, hence, also operates in research domains
Thalamus requires only a standard computer with enough RAM to support the in-memory operations. External hardware devices for data aquisition are dependent on the goals of individual projects.
Thalamus requires Python.
We provide auto builds for Linux (glibc 2.35) and Windows (10).
requirements.txt includes required dependencies if installing from Github. However, all dependencies have been packaged into the auto builds.
Download appropriate (Windows or Linux) build directly from actions tab or under Releases.
For Windows:
python -m pip install thalamus-0.3.0-py3-none-win_amd64.whl
For Linux:
python -m pip install thalamus-0.3.0-py3-none-manylunux_2_27.whl
You should now be able to run any of the Thalamus tools
python -m thalamus.pipeline # Data pipeline, no task controller
python -m thalamus.task_controller # Data pipeline and task controller
python -m thalamus.hydrate # Convert capture files to sharable formats
Approximately 1 hour set-up time
The code respository for Thalamus is hosted on GitHub at https://github.com/cajigaslab/thalamus. For detailed documentation of Thalamus visit https://cajigaslab.github.io/Thalamus/. For additional examples and generation of figures in our paper, refer to the SimpleUseCase folder in the repo.
If you use Thalamus in your work, please remember to cite the repository in any publications.
Like all open-source projects, Thalamus will benefit from your involvement, suggestions and contributions. This platform is intended as a repository for extensions to the program based on your code contributions as well as for flagging and tracking open issues. Please use the Issues tab as fit.