Skip to main content

A plugin for batch processing of confocal and whole-slide microscopy images of biological tissues

Project description

napari-tmidas

License BSD-3 PyPI Supported Python Downloads GitHub stars DOI tests

Need fast batch processing for confocal & whole-slide microscopy images of biological cells and tissues?

This open-source napari plugin integrates state-of-the-art AI + analysis tools in an interactive GUI with side-by-side result comparison! Transform, analyze, and quantify microscopy data at scale including deep learning - from file conversion to segmentation, tracking, and analysis.

napari-tmidas-interactive-table-example

✨ Key Features

🤖 AI Methods Built-In

  • Virtual staining (VisCy) • Denoising (CAREamics) • Spot detection (Spotiflow) • Segmentation (Cellpose, Convpaint) • Tracking (Trackastra, Ultrack)
  • Auto-install in isolated environments • No dependency conflicts • GPU acceleration

🔄 Universal File Conversion

  • Convert LIF, ND2, CZI, NDPI, Acquifer → TIFF or OME-Zarr
  • Preserve spatial metadata automatically

Batch Processing

  • Process entire folders with one click • 40+ processing functions • Progress tracking & quality control

Interactive Workflow

  • Side-by-side table view of original and processed images • Click to instantly compare results • Quickly iterate parameter values • Real-time visual feedback

�📊 Complete Analysis Pipeline

  • Segmentation → Tracking → Quantification → Colocalization

🚀 Quick Start

Supports Python 3.11+; commands below use Python 3.12.

# Install napari and the plugin
mamba create -y -n napari-tmidas -c conda-forge python=3.12
mamba activate napari-tmidas
pip install "napari[all]"
pip install napari-tmidas

# Launch napari
napari

Then find napari-tmidas in the Plugins menu. Watch video tutorials →

💡 Tip: AI methods (SAM2, Cellpose, Spotiflow, etc.) auto-install into isolated environments on first use - no manual setup required!

📖 Documentation

AI-Powered Methods

Method Description Documentation
🎨 VisCy Virtual staining from phase/DIC Guide
🔧 CAREamics Noise2Void/CARE denoising Guide
🎯 Spotiflow Spot/puncta detection Guide
🔬 Cellpose Cell/nucleus segmentation Guide
🎨 Convpaint Custom semantic/instance segmentation Guide
📈 Trackastra Transformer-based cell tracking Guide
🔗 Ultrack Cell tracking based on segmentation ensemble Guide

Core Workflows

Advanced Features

💻 Installation

Step 1: Install napari

mamba create -y -n napari-tmidas -c conda-forge python=3.12
mamba activate napari-tmidas
python -m pip install "napari[all]"

Step 2: Install napari-tmidas

Your Needs Command
Standard installation pip install napari-tmidas
Want the latest dev features pip install git+https://github.com/MercaderLabAnatomy/napari-tmidas.git

🖼️ Screenshots

File Conversion Widget File Conversion

Convert proprietary formats to open standards with metadata preservation.

Batch Processing Interface Batch Processing

Select files → Choose processing function → Run on entire dataset.

Label Inspection Label Inspection

Inspect and manually correct segmentation results.

SAM2 Crop Anything Crop Anything

Interactive object selection and cropping with SAM2.

📋 TODO

Memory-Efficient Zarr Streaming

Current Limitation: Processing functions pre-allocate full output arrays in memory before writing to zarr. For large TZYX time series (e.g., 100 timepoints × 1024×1024×20), this requires ~8+ GB peak memory even when using zarr output.

Planned Enhancement: Implement incremental zarr writing across all processing functions:

  • Process one timepoint at a time
  • Write directly to zarr array on disk
  • Keep only single timepoint in memory (~80 MB vs 8 GB)
  • Maintain OME-Zarr metadata and chunking

Impact: Enable processing of arbitrarily large time series limited only by disk space, not RAM. Critical for high-throughput microscopy workflows.

Affected Functions: Convpaint prediction, Cellpose segmentation, CAREamics denoising, VisCy virtual staining, Trackastra tracking, and all batch processing operations with zarr output.

🤝 Contributing

Contributions are welcome! Please ensure tests pass before submitting PRs:

pip install tox
tox

📄 License

BSD-3 License - see LICENSE for details.

🐛 Issues

Found a bug or have a feature request? Open an issue

🙏 Acknowledgments

Built with napari and powered by:

AI/ML Methods:

Core Scientific Stack:

File Format Support:


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

napari_tmidas-0.5.5.tar.gz (396.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

napari_tmidas-0.5.5-py3-none-any.whl (356.0 kB view details)

Uploaded Python 3

File details

Details for the file napari_tmidas-0.5.5.tar.gz.

File metadata

  • Download URL: napari_tmidas-0.5.5.tar.gz
  • Upload date:
  • Size: 396.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for napari_tmidas-0.5.5.tar.gz
Algorithm Hash digest
SHA256 baf63d0d8f2eeca8abae5c8f35fccb75fecf81cf07646ccfefd1f15924dc8a06
MD5 69c06b9feacc38cb4b3857e52de36ab4
BLAKE2b-256 4a154b30de3ed6c2e42a696de12414775648fcf5dcee41df082b68feb0f1c6f5

See more details on using hashes here.

File details

Details for the file napari_tmidas-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: napari_tmidas-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 356.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for napari_tmidas-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b4df2f8a1874c93730d7c654466c2ab98dbfd8bba173b6dbc4a11a7056cd3a6c
MD5 12e9aae49d3f09be72eb5a1b82d03278
BLAKE2b-256 bd7cfa54b1d7249a6f72094a2cacffaf9bf75b3a51f6cc0fa94771e9e5b56ab2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page