Skip to main content

Data Acquisition and Behavioral Experiment Platform

Project description

Thalamus

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.

Overview

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:

  1. Requires minimal setup within an operating room, clinical and research environment and could be easily controlled and quickly modified by the experimenter​
  2. Operated with high reliability with few crashes​
  3. Fail-safe architecture that guarantees minimal data loss in the setting of a crash​
  4. Allows for real-time computation to support visualizations of research and clinical data streams​
  5. Closed-loop control based on research and/or clinical data streams​
  6. Acquires synchronous data from the available research and clinical sensors including relevant behavioral, physiologic, and neural sensors that could easily be scaled over time​
  7. Supports a high-bandwidth, low latency, parallel distributed architecture for modular acquisition and computation that could easily be upgraded as technology continues to advance​
  8. Open-source with source code available to support research use​
  9. Embodies best practice in software engineering using unit tests and validation checks​
  10. Supports advances in translational applications and, hence, also operates in research domains​

System Requirements

Hardware Requirements

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.

Software Requirements

Thalamus requires Python.

OS Requirements

We provide auto builds for Linux (glibc 2.35) and Windows (10).

Python Dependencies

requirements.txt includes required dependencies if installing from Github. However, all dependencies have been packaged into the auto builds.

Installation Guide

Install from Build

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

Documentaton

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.

License

If you use Thalamus in your work, please remember to cite the repository in any publications.

Issues

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

thalamus_neuro-1.0.15-py3-none-win_amd64.whl (42.8 MB view details)

Uploaded Python 3Windows x86-64

thalamus_neuro-1.0.15-py3-none-manylinux_2_39_x86_64.whl (39.4 MB view details)

Uploaded Python 3manylinux: glibc 2.39+ x86-64

thalamus_neuro-1.0.15-py3-none-macosx_12_0_arm64.whl (23.9 MB view details)

Uploaded Python 3macOS 12.0+ ARM64

File details

Details for the file thalamus_neuro-1.0.15-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for thalamus_neuro-1.0.15-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 53280d461fa899812b8f541bbe3461567615205dffde513e5e6974052161eeef
MD5 75ed0238a1b528bdab74865447c6c185
BLAKE2b-256 9da1f9ad0d8fd91f820fc39f2fb6cca611c370f7d387c1cbe5bce13c2ca8d907

See more details on using hashes here.

File details

Details for the file thalamus_neuro-1.0.15-py3-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for thalamus_neuro-1.0.15-py3-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4f5a4442d80495d066ba57b2cace98c5d8a10c0a67a0dd5dd8af95f852ee588f
MD5 4b474be9c425974570a12a883d13f025
BLAKE2b-256 bf6a7b4b5bad1de94682290cb4a3f17ee1bf7aeeb5d8e17d27a6be49fd9a5c29

See more details on using hashes here.

File details

Details for the file thalamus_neuro-1.0.15-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for thalamus_neuro-1.0.15-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 a35c30d43b4f10ce7c12390bc2bfc87a3beec0391e33c0ce81c7c7141eed7ec2
MD5 4a392454956e69208f97b044e80ed408
BLAKE2b-256 a1a0df9510d801e7c353ad7dbd1824d9c880316b5f5c9401adb36a0e8755e2aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page