Skip to content
forked from admiracle/Voyeur

Neuroscientific behavioural experiment tool for acquisition, visualization and real-time experimental control. Implemented using Python and Arduino.

Notifications You must be signed in to change notification settings

olfa-lab/Voyeur

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Voeyur - A Neuroscientific behavioural experiment tool

Voeyur is a Neuroscientific behavioural experiment tool, currently implemented in Python and using the Arduino platform for the real time hardware running an experimental protocol.

The License attached to the project will be as permissible as possible, with the guiding priciple of making this tool available to any scientist for their use in trial-based experiments.

Capabilities and current uses

Here is an incomplete list of what Voyeur is used for and what it can do.

  • Data Acquisition: Analog signals and results of trials are acquired using a very simple protocol (via Serial communication). Arduino is used as the hardware platform of choice to run the experiments in real-time and stream signals and results to the Python layer.
  • Data Storage: Acquired data, along with parameters of experiments and metadata about the protocol used, is stored in the Hierarchical Data Format HDF5 format. This format is a hierarchical, filesystem-like data format that makes it easy to store numerical data and is faster then traditional SQL data schemas. For more on HDF5: http://www.hdfgroup.org/HDF5/doc/H5.intro.html
  • Data Visualization: The python backend allows protocols to use the core functions (acquisition, storage) while implementing a particular experimental protocol with any arbitrary user interface. This means that a user is free to write a GUI in Python and make this UI display the acquired data and visualize analyzed or filtered data on the fly as the experiment is running.
  • Real-time experimental control: Having a simple communication protocol, allows users to control their devices connected to the Arduino hardware (LEDs, solenoids, TTL triggers, Digital channels, Analog outputs, etc..) on the fly for experiment setup, testing and control.
  • Implemented using Python and Arduino.

Documentation

A preliminary installation document can be found here.

While we build the intial documentation and update it to the appropriate version, please checkout the initial description of the system: trunk/docs/sphinx/_build/singlehtml

Coming up!

  • Full documentation of the system
  • Example uses (Both for the Arduino and Python backend)
  • Upload of real protocols used in behavioural olfactory experiments
  • Screenshots, maybe video tutorials

Disclaimer

This project is currently provided as is with no support channels available. The hope is to describe it and provide enough examples that would enable scientists (particularly students and post-docs) to quickly deploy it and contribute to the project core and share their own protocols.

More to follow in the coming weeks...as we juggle time between experiments and sleep.

About

Neuroscientific behavioural experiment tool for acquisition, visualization and real-time experimental control. Implemented using Python and Arduino.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 35.7%
  • Python 30.5%
  • JavaScript 13.5%
  • CSS 8.2%
  • Processing 7.5%
  • Makefile 2.4%
  • Other 2.2%