Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added video tracking gsoc project

...

Description: The Open Ephys system allows users to record responses from up to hundreds of neurons at the same time. This can yield high-dimensional data with a rich and dynamically changing statistical structure that reflect how an animal processes sensory input, creates perception, or guides behaviour. Decoding and dimensionality reduction techniques are powerful tools to extract and visualize information carried by all recorded neurons. However, these methods are computationally expensive, often requiring more processing power than available on a typical recording computer. The goal of this project is to develop a plugin for the Open Ephys software that can send data over Ethernet to be processed in real-time on another computer (e.g., multi-processor workstation or GPU cluster). This will involve efficient transmission of user-selected data and retrieving of the data on the client side. The successful applicant will gain expertise in recent network communication architectures that form the basis for many distributed computing systems.

 Skills required: Proficiency in C++, basic knowledge of network protocols, optional: basic knowledge of one or more scripting languages, e.g., Python, Matlab, or Julia (to develop example clients)

...

Potential mentors: Arne Meyer (UCL Gatsby Unit, London), Gonçalo Lopes (@glopes)


11. Video tracking integration

Description: Many experiments require measurements of neural activity to be integrated with measurements of animal behavior. For instance, when mapping place and grid cells during spatial learning and memory tasks,  exact knowledge of an animal's location is required. The goal of this project is to make arbitrary external information from outside equipment, such as position information from real-time video trackers, automated mazes, etc available to Open Ephys in real-time. This will involve two major sub projects:


1. Create a lightweight messaging library that can accept arbitrary serialized JSON data packets from external computers using  the ZeroMQ messaging library. ZeroMQ allows users to efficiently send information between different programs or even across the network. 
2. Create a GUI plugin that uses this messaging interface to link Open Ephys software with recently developed video-based tracking software.

The project might also explore running the tracking software on a separate single-board computer, e.g., a Raspberry pi or NVIDIA Jetson TK1. This would allow users to use the same approach regardless of the operating system and machine that is used to run the Open Ephys software.

Skills required: Proficiency in C++, basic knowledge of network protocols and/or GUI programming

Level of difficulty: Moderate

Potential mentors: Arne Meyer (UCL Gatsby Unit, London), Jon Newman (@jonnew)