Skip to content

A modular package to control stimulation and track behaviour

License

Notifications You must be signed in to change notification settings

LJPZebra/stytra

 
 

Repository files navigation

This is a fork of the stytra software from the Portugues lab.

It is the version of stytra used curently at LJP

The goal of this fork it to develop our own tools and routines on top of their incredible work. In the future, this fork might be pulled back into the original stytra, meaning that as little as possible must be changed in the original code !!

Whenever possible :

  • create new class with inheritence.
  • create new files intead of appending to existing ones (unless this clashes with the following rules).
  • respect the original coding style and naming conventions.
  • respect the original docstring style and conventions.

To use the code in this repository, use the Editable installation section of the original README bellow.

As for the rest ... have fun !!!!

bellow is the original README :

Stytra

A modular package to control stimulation and track behavior in zebrafish experiments.

Logo

https://github.com/portugueslab/stytra/actions/workflows/main.yml/badge.svg?branch=linting

If you are using Stytra for your own research, please cite us!

Stytra is divided into independent modules which can be assembled depending on the experimental requirements. For a complete description, look at the full documentation.

Instructions to create your first experiment in Stytra and usage examples can be found in the example gallery.

Quick installation guide

Stytra relies on opencv for some of its fish tracking functions. If you don't have it installed, open the Anaconda prompt and type:

pip install opencv-python

If you are using Windows, git (used for tracking software versions) might not be installed. Git can also be easily installed with conda:

conda install git

This should be everything you need to make ready before installing stytra.

> PyQt5 is not listed as an explicit requirement because it should come with the Anaconda package. If you are not using Anaconda, make sure you have it installed and updated before installing Stytra!

The simplest way to install Stytra is with pip:

pip install stytra

You can verify the installation by running one of the examples in stytra examples folder. To run a simple looming stimulus experiment, you can type:

python -m stytra.examples.looming_exp

If the GUI opens correctly and pressing the play button starts the stimulus: congratulations, installation was successful! If it crashes, check if you have all dependencies correctly installed. If it still does not work, open an issue on the Stytra github page.

Editable installation

On the other hand, if you want to modify the internals of stytra or use the unreleased features, clone or download stytra from github and install it with:

pip install path_to_stytra/stytra

If you want to be able to change the stytra code and use the changed version, install using the -e argument:

pip install -e path_to_stytra/stytra

Now you can have a look at the stytra example gallery, or you can start configuring a computer for Stytra experiments. In the second case, you might want to have a look at the camera APIs section below first.

Note

Stytra might raise an error after quitting because of a bug in the current version of pyqtgraph (a package we are using for online plotting). If you are annoyed by the error messages when closing the program you can install the develop version of pyqtgraph from their github repository. The problem will be resolved once the next pyqtgraph version is released.

For further details on the installation please consult the relative documentation page.

About

A modular package to control stimulation and track behaviour

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.0%
  • MATLAB 1.0%