Skip to content

Precise and flexible generation of stimuli for neuroscience experiments.

License

Notifications You must be signed in to change notification settings

ClandininLab/stimpack

Repository files navigation

Stimpack

Precise and flexible generation of stimuli for neuroscience experiments.

Installation

  1. Clone this repository and ensure you are on the beyond_xorg branch via:
git clone https://github.com/clandininlab/stimpack
cd stimpack
git checkout beyond_xorg
  1. Make a new virtualenvironment and enable it with
python3 -m venv ~/.stimpack_env # or desired environment directory
source ~/.stimpack_env/bin/activate

On Windows

python -m venv .stimpack_env # or desired directory

.stimpack_env\Scripts\activate
  1. Install the stimpack branch with pip install -e .

Key Concepts

  1. Client-Server Framework: stimpack uses a client-server framework with the client asynchronously requesting stimuli from the server. The server is responsible for generating the stimuli and displaying them on the specified monitors / devices.

Client-Server Framework

  1. The most common point of customization will be in stimuli.py. To create your own stimulus classes, you must make a directory with a file called stimuli.py and use the syntax found in the examples #4 to add the directory to stimpack's path. An example such directory can be found in examples.

  2. Perspective-corrected rendering: Stimpack uses a perspective-corrected rendering pipeline to ensure that stimuli are displayed accurately on the screen. This is particularly important for stimuli that are displayed at an angle or at a distance from the screen. When defining each screen, use the pa, pb, pc arguments to define the lower left, lower right, and upper left corners of the screen, respectively.

DisplayCoordinates

About

Precise and flexible generation of stimuli for neuroscience experiments.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages