T-MIDAS
Tissue Microscopy Image Data Analysis Suite
The napari-tmidas
plugin consists of a growing collection of pipelines for fast batch processing of microscopy images. This is a WIP and based on the CLI version of T-MIDAS.
Feature Overview¶
-
Image Processing
- Process image folders with: Gamma correction, Z-projection, channel splitting, Gaussian/median filters, thresholding (Otsu/manual), and label cleaning
-
Label Inspection
- Review and edit label images with auto-save
-
Microscopy Image Conversion
- Convert .nd2/.lif/.ndpi/.czi/acquifer → .tif/.zarr with metadata preservation
-
Crop Anything
- Interactive ROI selection via click interface
-
ROI Colocalization
- Count colocalized labels across multiple channels
Coming Soon¶
New features arriving April 2025
Installation¶
First install Napari in a virtual environment:
mamba create -y -n napari-tmidas -c conda-forge python=3.11 tqdm
mamba activate napari-tmidas
python -m pip install "napari[all]"
Now you can install napari-tmidas
via pip:
pip install napari-tmidas
To install the latest development version:
pip install git+https://github.com/macromeer/napari-tmidas.git
Dependencies¶
To use the Batch Microscopy Image Conversion pipeline, we need some libraries to read microscopy formats and to write ome-zarr:
pip install nd2 readlif tiffslide pylibCZIrw acquifer-napari ome-zarr napari-ome-zarr
For the Batch Crop Anything pipeline, we need to install MobileSAM and its dependencies:
pip install git+https://github.com/ChaoningZhang/MobileSAM.git
pip install torch torchvision timm opencv-python
Usage¶
To use the plugin, start napari in the activated virtual environment with this terminal command:
mamba run -n napari-tmidas napari
You can find the installed plugin here:
Microscopy Image Conversion¶
You can start this pipeline via Plugins > T-MIDAS > Batch Microscopy Image Conversion
. Currently, this pipeline supports the conversion of .nd2, .lif, .ndpi, .czi
and acquifer data. After scanning a folder of your choice for microscopy image data, select a file in the first column of the table and preview and export any image data it contains.
Image Processing¶
- After opening
Plugins > T-MIDAS > Batch Image Processing
, enter the path to the folder containing the images to be processed (currently supports TIF, later also ZARR). You can also filter for filename suffix.
- As a result, a table appears with the found images.
- Next, select a processing function, set parameters if applicable and
Start Batch Processing
.
- You can click on the images in the table to show them in the viewer. For example first click on one of the
Original Files
, and then the correspondingProcessed File
to see an overlay.
Note that whenever you click on an Original File
or Processed File
in the table, it will replace the one that is currently shown in the viewer. So naturally, you'd first select the original image, and then the processed image to correctly see the image pair that you want to inspect.
Batch Label Inspection¶
If you have already segmented a folder full of images and now you want to maybe inspect and edit each label image, you can use the Plugins > T-MIDAS > Batch Label Inspection
, which automatically saves your changes to the existing label image once you click the Save Changes and Continue
button (bottom right).
Crop Anything¶
This pipeline combines the Segment Anything Model (SAM) for automatic object detection with an interactive interface for selecting and cropping multiple objects from images. To launch the widget, open Plugins > T-MIDAS > Batch Crop Anything
ROI Colocalization¶
This pipeline quantifies colocalization between labeled regions of interest (ROIs) across multiple image channels. It determines the extent of overlap between ROIs in a reference channel and those in one or two other channels. The output is a table of colocalization counts. Optionally, the size of reference channel ROIs, as well as the total or median size of colocalizing ROIs in the other channels, can be included. Colocalization is determined using Boolean masking. The number of colocalizing instances is determined by counting unique label IDs within the overlapping regions. Typically, the reference channel contains larger structures, while other channels contain smaller, potentially nested, structures. For example, the reference channel might contain cell bodies, with the second and third channels containing nuclei and sub-nuclear objects, respectively.
Contributing¶
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License¶
Distributed under the terms of the BSD-3 license, "napari-tmidas" is free and open source software
Issues¶
If you encounter any problems, please file an issue along with a detailed description.
This napari plugin was generated with copier using the napari-plugin-template.
Supported data:
- Information not submitted
Plugin type:
Open extension:
Save extension:
GitHub activity:
- Stars: 4
- Forks: 0
- Issues + PRs: 0