a plugin for mother machine image analysis

License PyPI Python Version tests napari hub

A plugin for mother machine image analysis by the Jun Lab.

Reference: Tools and methods for high-throughput single-cell imaging with the mother machine. Ryan Thiermann, Michael Sandler, Gursharan Ahir, John T. Sauls, Jeremy W. Schroeder, Steven D. Brown, Guillaume Le Treut, Fangwei Si, Dongyang Li, Jue D. Wang, Suckjoon Jun. eLife12:RP88463

This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.


We describe installation with mamba, a faster version of conda which we recommend. Installation with conda is the exact same, except replace mamba with conda Run the following command:

mamba create -n napari-mm3 -c conda-forge conda-build tensorflow napari

Now, you need to install our code (please let us know if this causes problems -- it has been a pain point in the past). To do so, clone the repository:

git clone

Then, run the following commands from within your conda environment:

cd napari-mm3
pip install -e .

This supplies you with the latest, most recent version of our code.

If you would like to have a more stable version, simply run pip install napari-mm3. In general, we recommend going off of the github version.

napari-MM3 can use the python-bioformats library to import various image file formats. It can be installed with pip:

pip install python-bioformats

If your raw images are in the .nd2 format, they will be read in with the nd2reader package. In this case, Bio-Formats is not required.

NOTES: Not running the conda command above and trying to install things in a different way may lead to difficult issues with PyQt5. We recommend following the above commands to simplify the situation. Using pip -e . instead of mamba develop . is a deliberate choice, the former did not seem to register the plugin with napari.


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.

Usage guide

Additional reference information is available below.

a. Preprocessing

  • TIFFConverter -- Turn your nd2 microscopy data, or other format via bioformats, into TIFFs. If your data is already exported as individual TIFF files, skip to the Compile widget. Take note of the input image guidelines.

  • Compile -- Locate traps, separate their timelapses into their own TIFFs, and return metadata.

  • PickChannels -- User guided selection of empty and full traps.

b. Segmentation

With Otsu's method:

  • Subtract -- Remove (via subtraction) empty traps from the background of traps that contain cells; run this on the phase contrast channel.

  • SegmentOtsu -- Use Otsu's method to segment cells.

With U-Net:

  • Annotate -- annotate images for ML (U-Net or similar) training purposes.

  • Train U-Net -- Train a U-Net model for cell segmentation.

  • SegmentUnet -- Run U-Net segmentation.

c. Tracking

  • Track -- Acquire individual cell properties and track lineages.

d. Fluorescence data analysis

  • Subtract -- Remove (via subtraction) empty traps from the background of traps that contain cells. This time, run this on your fluorescence channels.

  • Colors -- Calculate fluorescence information.

e. Focus tracking

  • Foci -- We use this to track foci (bright fluorescent spots) inside of cells.

f. Extracting data and plotting

  • The notebook here demonstrates how to extract, filter and visualize the lineage data output by the Track widget.

g. Outputs, inputs, and file structure

Finally, to better understand the data formats, you may wish to refer to the following documents:


Distributed under the terms of the BSD-3 license, "napari-mm3" is free and open source software


If you encounter any problems, please file an issue along with a detailed description.


  • 0.0.16

Last updated:

  • 06 May 2024

First released:

  • 02 June 2022


Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

  • Stars: 8
  • Forks: 4
  • Issues + PRs: 17

Python versions supported:

Operating system:


  • napari-plugin-engine>=0.1.4
  • numpy
  • h5py
  • tifffile==2021.11.2
  • scikit-learn
  • scikit-image
  • tensorflow
  • nd2reader
  • seaborn
  • elasticdeform