https://github.com/neurobooth/neurobooth-os
Python package for digital phenotyping data synchronization and acquisition
https://github.com/neurobooth/neurobooth-os
computer-vision neurology neuroscience python wearables
Last synced: 3 months ago
JSON representation
Python package for digital phenotyping data synchronization and acquisition
- Host: GitHub
- URL: https://github.com/neurobooth/neurobooth-os
- Owner: neurobooth
- License: bsd-3-clause
- Created: 2020-11-13T00:12:22.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2026-01-16T14:19:25.000Z (6 months ago)
- Last Synced: 2026-01-17T04:37:45.662Z (6 months ago)
- Topics: computer-vision, neurology, neuroscience, python, wearables
- Language: Python
- Homepage: http://neurobooth.github.io
- Size: 181 MB
- Stars: 10
- Watchers: 3
- Forks: 7
- Open Issues: 21
-
Metadata Files:
- Readme: README.rst
- Contributing: contributing.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Neurobooth-os
-------------
Neurobooth-os is a python package to initialize, synchronize and record
behavioral and physiological data streams from wearables, D-/RGB cameras, eye tracker,
ECG, mouse and microphone in a booth.
Installations
-------------
We recommend the Anaconda Python distribution. To install neurobooth-os, simply do:
$ pip install -e git+https://github.com/neurobooth/neurobooth-os.git#egg=neurobooth_os
and it will install neurobooth-os along with the dependencies which are not already installed.
To check if everything worked fine, you can do::
$ python -c 'import neurobooth_os'
and it should not give any error messages.
Install Pylink running on the STM::
$ pip install --index-url=https://pypi.sr-support.com sr-research-pylink
If pip install from sr-research doesn't work, please follow the following steps:
* Create an sr-research support account
* Download the `EyeLink Developers Kit v2.1.1 (32 and 64 bit)` installer from the SR Research
Support forum.
* Install the Eyelink Developers Kit
* Run: `$ cd C:'\\Program Files (x86)\\SR Research\\EyeLink\\SampleExperiments\\Python\\'`
* Run: `$ python install_pylink.py`
For pyspin FLIR installation on the ACQ:
Download SDK from https://www.flir.com/products/spinnaker-sdk/?vertical=machine+vision&segment=iis
direct link to wheel file: https://flir.app.boxcn.net/v/SpinnakerSDK/file/982785545712
then unzip the file, cd to the folder and run:
`$ pip install spinnaker_python-2.x.x.x-cp3x-cp3x-win_amd64.whl`
Setup
-----
As described below, Neurobooth is designed to run on multiple Windows server machines. To do this, it requires that
you setup your servers to communicate via WMI. Please see the documentation (https://github.com/neurobooth/neurobooth-os/blob/master/docs/enable_WMI_instuctions.txt), which explains how to configure WMI for more information.
Neurobooth requires a postgreSQL database running on a server. Connection is established with the function
`neurobooth_os.iout.metadator.get_conn()`. Currently, as specified in
`~/.neurobooth_os_secrets` the local IP is 192.168.100.1, and remotely it connects to
`neurodoor.nmr.mgh.harvard.edu` using the private key in '~/.ssh/id_rsa'.
To setup a private key, first activate the VPN (partner's virtual private network), then run in
the terminal::
$ ssh-keygen
$ ssh-copy-id userID@neurodoor.nmr.mgh.harvard.edu
Next, set up the configuration data. Please see the instructions at:
https://github.com/neurobooth/neurobooth-os/blob/master/docs/system_configuration.md
Run
----
As mentioned above, Neurobooth runs on 3 different computers and the starting point is
``gui.py``. The computers are:
* CTR (control) computer: This computer hosts the GUI and relays commands
to the other computers to start recording from the Neurobooth devices
and presenting stimuli. The lab recorder software is on this computer.
* STM (stimulus) computer: This computer runs the tasks using ``psychopy``.
* ACQ (acquisition) computer: This computer acquires data.
Each computer has a server that listens for communication from the other
computers in the form of string messages. CTR and STM computer communicate
with the database.