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.7.tar.gz (418.4 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.7-py3-none-any.whl (379.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for napari_tmidas-0.5.7.tar.gz
Algorithm Hash digest
SHA256 1449f585df040343b2fa92924b0c17506a0f56a00f8f45130a192a08546188b0
MD5 9fd362c8aeb227e1c3c4ed1eee6847f3
BLAKE2b-256 629e9e35855fa3c6700380fe7cabbcdf8ec62e5f82cd4e663df01e612443b726

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for napari_tmidas-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 53e664ecde007e9e0919c7bc957cd60b88d3f0bda1f83e12bcb6c54748a9eab4
MD5 2dfc59be33469d16f605dae0d8398106
BLAKE2b-256 b8cb1e74cca1c70c457f0fe728f48d502948257ece7c4efd58bf8c83f322cbb6

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