Skip to content

SoftmatterLMU-RaedlerGroup/pyama

Repository files navigation

PyAMA

PyAMA is a modular Python application for microscopy image analysis. It provides tools for processing large time-lapse microscopy datasets, extracting quantitative cellular features, and fitting mathematical models to describe cellular dynamics.

📚 Documentation

PyAMA documentation is available at https://pyama.readthedocs.io

The documentation includes:

🚀 Quick Install

# Clone the repository
git clone https://github.com/SoftmatterLMU-RaedlerGroup/pyama.git
cd pyama

# Install all dependencies
uv sync --all-extras

# Launch the Qt GUI
uv run pyama-qt

# Or start the API server (for web frontend)
uv run pyama-core serve

📦 Packages

PyAMA consists of the following packages:

  • pyama-core: Core processing library with analysis workflows, CLI tools, and REST API server
  • pyama-qt: Qt-based GUI for comprehensive analysis
  • pyama-preact: Modern web frontend built with Preact, Tailwind CSS, and Tauri for desktop deployment
  • pyama-acdc: Cell-ACDC integration plugin

🎯 Key Features

  • Automated Processing: End-to-end pipeline from ND2/CZI files to CSV traces
  • Multi-channel Support: Process phase contrast and multiple fluorescence channels
  • Deep Learning: Spotiflow-based particle detection for fluorescence spot counting
  • Quality Control: Interactive trace inspection and filtering
  • Model Fitting: Built-in models for protein maturation and decay analysis
  • Batch Processing: Handle large datasets with configurable parallelism
  • REST API & MCP: FastAPI server with Model Context Protocol integration for programmatic access
  • Modern Web UI: Preact + Tauri desktop application with task management
  • Extensible: Plugin system for custom features and models

🖥️ CLI Commands

# Run processing workflow (interactive or config-based)
uv run pyama-core workflow
uv run pyama-core workflow --config config.yaml --nd2-path data.nd2

# Merge CSV outputs from multiple samples
uv run pyama-core merge

# Plot cell trajectories
uv run pyama-core trajectory traces.csv

# Plot numpy array files
uv run pyama-core plot data.npy

# Start the API server
uv run pyama-core serve --port 8000 --reload

# Connect Claude Code as an MCP client (requires server running)
export PYAMA_MCP_URL="http://localhost:8000"  # adjust host/port as needed
claude mcp add pyama --transport http "$PYAMA_MCP_URL/mcp"

🐍 Requirements

  • Python 3.11 or later
  • UV package manager (recommended) or pip
  • Qt6 for GUI applications (pyama-qt)
  • Node.js and Bun/npm for web frontend (pyama-preact)

📖 Learn More

📄 License

MIT License - see LICENSE file for details.

🤝 Contributing

We welcome contributions! See CONTRIBUTORS.md for a list of contributors and visit our contributing guide to get started.


For the complete documentation and detailed instructions, please visit https://pyama.readthedocs.io

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •