Skip to content

An open-source Python framework designed to support experimental paradigms for head-fixed rodents.

License

Notifications You must be signed in to change notification settings

Otis-Lab-MUSC/reacher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REACHER logo

Written by: Joshua Boquiren



Overview

The REACHER (Rodent Experiment Application Controls and Handling Ecosystem for Research) Suite is an open-source application framework designed for experimental paradigms involving head-fixed rodents. It supports connections to multiple microcontrollers and facilitates running multiple sessions simultaneously from the same computer or across distributed systems.


Installation

To install the latest version of REACHER, download the wheel file and install it using pip. Choose one of the following methods:

Using curl

curl -L -o reacher-1.1.1-py3-none-any.whl https://github.com/Otis-Lab-MUSC/REACHER/releases/download/v1.1.1/reacher-1.1.1-py3-none-any.whl
python -m pip install reacher-1.1.1-py3-none-any.whl

Using wget

wget https://github.com/Otis-Lab-MUSC/REACHER/releases/download/v1.1.1/reacher-1.1.1-py3-none-any.whl
python -m pip install reacher-1.1.1-py3-none-any.whl

Notes

  • Ensure you have Python 3 installed.
  • Run the commands in a terminal or command prompt.
  • Install to a virtual environment (optional).
  • Delete the .whl file after installation to clean up (optional).

Technical Highlights

Data Visualization and Monitoring

  • Real-time event tracking using Plotly for clear and interactive visualizations.
  • Tabular summaries of behavioral data for detailed analysis.

Key Features

  1. Serial Data Handling:

    • Multi-threaded system for serial communication:
      • One thread reads data from the microcontroller and queues it.
      • Another processes the queued data, ensuring no data loss.
    • String-based communication for easy debugging and logging.
  2. Thread Flags for Control:

    • Flags ensure smooth data collection, pausing, and resuming:
      • serial_flag: Controls serial thread activity.
      • program_flag: Manages program execution states (e.g., paused or running).
  3. Data Logging and Integrity:

    • Behavioral and frame data are logged to CSV files and processed into Pandas DataFrames.
    • If no destination or filename is specified, data is saved to a default directory (~/REACHER/).

Recommended Specifications

Component Minimum Specs Recommended Specs High-Performance Specs
CPU Quad-core processor (e.g., Intel i3) 6-core or 8-core processor (e.g., Intel i5/i7, AMD Ryzen 5) 12-core or higher (e.g., AMD Ryzen 9, Intel i9)
RAM 8 GB 16 GB 32 GB or higher
Storage 256 GB SSD 512 GB SSD 1 TB NVMe SSD or higher
Operating System Linux or Windows (64-bit) Linux (Ubuntu/Debian preferred), Windows (64-bit), or macOS Linux (optimized with custom kernels)
Cooling Basic air cooling Efficient air cooling or entry-level liquid cooling High-end liquid cooling
GPU (Optional) Integrated graphics Mid-range GPU (e.g., NVIDIA GTX 1660) High-end GPU (e.g., NVIDIA RTX 3080)



Copyright & License

© 2025 Otis Lab. All rights reserved.

This project is licensed under the LICENSE.

For more information, please contact the author at thejoshbq@proton.me

About

An open-source Python framework designed to support experimental paradigms for head-fixed rodents.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages