Skip to content

Latest commit

 

History

History
95 lines (81 loc) · 3.72 KB

File metadata and controls

95 lines (81 loc) · 3.72 KB

Overview

MouseMemoryGraph is a Dash-based web application for visualizing and analyzing neural and behavioral data from mouse experiments. The application integrates photometry data and behavioral tracking data to provide interactive visualizations and interval-based analyses. Click on the title above to check out our website which gives a detailed background on this project and our team.

Features

  • Interactive plots for photometry and behavioral data
  • Epoching for visualizations of freezing behaviour onset and offset events
  • Reprocessing functionality to incorporate newly added datasets
  • Web-based dashboard for intuitive data exploration

Dependencies

Ensure the following dependencies are installed before running the application:

pip install -r requirements.txt

To generate the requirements.txt file from your current environment, run:

pip freeze > requirements.txt

Main Libraries Used:

  • dash for web application interface
  • plotly for interactive graphing
  • pandas & numpy for data handling and processing
  • scipy for signal filtering

Installation & Setup

  1. Clone this repository:
    git clone https://github.com/yourusername/MouseMemoryGraph.git
    cd MouseMemoryGraph
  2. Create a virtual environment (recommended):
    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  3. Install dependencies:
    pip install -r requirements.txt
  4. Run the application:
    python code/app.py
  5. Open your browser and navigate to:
    http://127.0.0.1:8050/
    

Directory Structure

MouseMemoryGraph/
│-- assets/                  # Static files (images, CSS, etc.)
│   ├── header.png           # Header image for the dashboard
│   ├── footer.png           # Footer image for the dashboard
│   ├── style.css            # (Optional) Custom styles
│-- code/                    # Source code
│   ├── app.py               # Main Dash application
│   ├── dataset.py           # Data processing classes
│   ├── dashboard.py         # Dashboard layout and callbacks
│-- data/                    # Data directory (must be manually populated)
│   ├── mouse1/              # Example mouse dataset folder
│   │   ├── cfc_2046.csv      # Photometry data
│   │   ├── behavior.csv      # Behavioral tracking data
│   ├── mouse2/              # Additional dataset
│-- dist/                    # Compiled application (if using PyInstaller)
│-- README.md                # This file

Adding Your Data

  1. Place photometry and behavioral data files in the data/ directory.
  2. Organize them into subfolders named after each mouse (e.g., data/mouse1/).
  3. Ensure file names follow the expected format:
    • Photometry: cfc_2046.csv
    • Behavior: a2024-11-01T14_30_53DLC_resnet50_fearbox_optoJan27shuffle1_100000.csv
  4. Run the application, and it will dynamically detect and load new datasets.

Acknowledgments

This project includes concepts inspired by:

License

This project is licensed under the MIT License. See LICENSE for more details.

Authors