Envisioned Solution

NeuroLight Desktop is a local, offline PySide6 application for analyzing neuronal activity with a focus on circadian rhythm metrics. The app streamlines data import → preprocessing → statistical analysis → export, so researchers can move from raw recordings to reproducible results quickly—without a server or internet connection.

The initial concept for this project came from our sponsor's capstone proposal. Original Capstone Project Proposal (PDF)

Architecture (High Level)

  • UI Layer (PySide6) — native desktop UI to load datasets, configure analyses, track progress, and preview results.
  • Analysis Services (Python) — modular functions for signal processing and circadian statistics (e.g., Lomb–Scargle, Rayleigh, Rao) using a common data contract (Pandas DataFrame in / dict out).
  • Storage — local, file-based persistence (project folders) using CSV/JSON for configs and results.
  • Job Runner — threads for long analyses keep the UI responsive; results are marshaled back to the UI safely.
  • Export — one-click CSV/JSON result export and PNG/PDF figures for publications.

Technologies

Our technology stack is designed for scientific computing, image processing, and creating an intuitive desktop application.

Python 3

Core language for the desktop app and analysis modules. We chose Python for its rich scientific ecosystem and fast iteration. The project is organized with a clear package layout and type hints for maintainability.

PySide6 (UI)

Modern Qt-based UI framework for Python, providing native desktop application capabilities. PySide6 offers a rich set of widgets, layouts, and styling options to create an intuitive and responsive user interface for scientific workflows.

OpenCV

Computer vision library for image analysis and recognition. Used for processing neuronal imagery, detecting features, and performing image manipulation tasks essential for circadian rhythm analysis.

PyStackReg

Image alignment library for stack registration. Ensures accurate temporal alignment of image sequences, critical for tracking neuronal activity over time periods.

SciPy / NumPy

Scientific computing libraries for numerical analysis. Provides vectorized operations, statistical functions, and signal processing capabilities needed for circadian rhythm analysis and data manipulation.

Matplotlib

Generates publication-ready figures (time series, periodograms, circular plots). Results can be saved as PNG/PDF directly from the desktop app for use in research publications.

UV (Package Management)

Fast, modern Python package manager for dependency management and virtual environments. UV streamlines the development workflow and ensures reproducible builds across different systems.

Data Formats & Export

Inputs and outputs use transparent, durable formats: CSV for tabular data, JSON for configs and run manifests, PNG/PDF for figures. This makes results portable across tools and facilitates data sharing between researchers.

GitHub (Source Control)

Source control, pull-request reviews, and milestone tracking provide traceability across deliverables and sponsor updates. Collaborative development workflow with version control and issue tracking.

Codebase & Builds

At project completion we'll archive the repository and publish it here for long-term access. If the sponsor prefers private hosting, we will provide a static ZIP on this site. For now, all of this is placeholder links.

Screenshot Walkthrough (Coming Soon)

A durable alternative to a fragile live demo. Key screens illustrate primary workflows.

Upload workflow

Dataset Import

Select files or folders; automatic validation and metadata capture.

Configure analysis

Configure Analysis

Choose preprocessing, windows, and circadian tests; save reusable presets.

Results view

Results & Exports

Visualizations, summary tables, and one-click CSV/PNG/PDF exports.