This software can be used to analyze the dynamics of single-cells imaged by time-lapse fluorescence microscopy. The dynamics of morphology and fluorescence intensity distribution can be jointly analyzed through the segmentation and splitting of cells into a set of smaller regions (windows) that can be represented as two-dimensional grids to facilitate interpretation of events.
This software has been developed at Bern University by Cédric Vonesch (Science IT Support and Pertz lab) and Guillaume Witz (Microscopy Imaging Center and Science IT Support) with the collaboration of Jakobus van Unen (Pertz lab).
For a complete documentation see the Morphodynamics website.
You can simply install the package using
pip install morphodynamics
To use the napari interface, you will have in addition to install the napari-morphodynamics
plugin:
pip install git+https://github.com/guiwitz/napari-morphodynamics.git
The Morphodynamics package had undergone a massive change between version 0.2.4
and 0.3.0
, in particular with a new interface in napari and a more customized way of generating post-processing plots. If you want to install the old 0.2.x series version, please use:
pip install git+https://github.com/guiwitz/morphodynamics.git@v0.2.4
The default nd2reader
sometimes fails to read files containing non-rectanuglar rois. In such cases, you can try to install instead a customized version of the reader:
pip install git+https://github.com/guiwitz/nd2reader.git@master#egg=nd2reader
This package can be used entirely programmatically to process data via its API. Examples for this can be found in the docs here and here.
The napari-morphodynamics plugin offers an interface to import, visualize and process data. A detailed description for its usage can be found in the docs. To install the plugin you can use:
pip pip install git+https://github.com/guiwitz/napari-morphodynamics.git
In addition, the analysis can be run in the interactive notebook Morpho_segmentation.ipynb. This can be useful when e.g. working remotely on a cluster.
Once the images have been processed the output results can be used to plot various features of the experiment such as cell shape evolution, edge displacement, per window signal evolution etc. Examples on how to create such plots are given in the Postprocessing.ipynb notebook.
To ensure that you have all recommended packages to perform interactive work, we recommend to create en environment with conda. If you don't have conda installed yet, follow these instructions to install a minimal version called miniconda.
To create the appropriate environment that will for example also contain the optional dependency cellpose
for cell segmentation, save the following environment.yml file to your computer (use Save as
in your browser) and execute the following command from where you downloaded it:
conda env create -f environment.yml
Then activate the environment:
conda activate morphodynamics
The Morphodynamics package is automatically installed in that environment.
To update your local installation with the latest version available on GitHub, activate the environment and install the package directly from GitHub:
conda activate morphodynamics
pip install --upgrade git+https://github.com/guiwitz/MorphoDynamics.git
Note: close all notebooks (click on File | Close and Halt) prior to the update and reopen them afterwards.
Whenever you want to use Jupyter and the Morphodynamics package, open a terminal, activate the environment
conda activate morphodynamics
and start a Jupyter session:
jupyter notebook
Versioning is done automatically via setuptools_scm
. To increment a version, create a new tag and push it to GitHub:
git tag -m "git versioning" -a X.Y.Z
git push origin X.Y.Z