This repository contains a Python implementation of the methods described in the paper Joint Motion Estimation and Source Identification using Convective Regularisation with an Application to the Analysis of Laser Nanoablations
If you use this code in your work please cite our paper:
L. F. Lang, N. Dutta, E. Scarpa, B. Sanson, C.-B. Schönlieb, and J. Étienne. Joint Motion
Estimation and Source Identification using Convective Regularisation with an Application
to the Analysis of Laser Nanoablations, bioRxiv 686261, 2019.
Here is the BibTeX entry:
@article {LanDutScaSanSchoEti19,
author = {Lang, Lukas F. and Dutta, Nilankur and Scarpa, Elena and Sanson, B{\'e}n{\'e}dicte and Sch{\"o}nlieb, Carola-Bibiane and {\'E}tienne, Jocelyn},
title = {Joint Motion Estimation and Source Identification using Convective Regularisation with an Application to the Analysis of Laser Nanoablations},
elocation-id = {686261},
year = {2019},
doi = {10.1101/686261},
publisher = {Cold Spring Harbor Laboratory},
URL = {https://www.biorxiv.org/content/early/2019/07/02/686261},
eprint = {https://www.biorxiv.org/content/early/2019/07/02/686261.full.pdf},
journal = {bioRxiv}
}
This code is accompanied by a dataset:
L. F. Lang, N. Dutta, E. Scarpa, B. Sanson, C.-B. Schönlieb, and J. Étienne. (2019). Microscopy
image sequences and annotated kymographs of laser ablation experiments in Drosophila
embryos [Data set]. Zenodo.
This software was written for and tested with:
- MacOS Mojave (version 10.14.6)
- Anaconda (conda version 4.7.12)
- Python (version 3.6.7)
The following libraries are required for parts of this code:
- FEniCS (version 2018.1.0)
- scipy
- matplotlib
- pillow
- read-roi
- imageio
- tifffile
Download and install Anaconda.
There are two ways to create the conda environment with the correct library versions:
a) Use the provided environment.yml
file:
conda env create -f environment.yml
b) Manually create the environment:
conda create -n fenicsproject -c conda-forge python=3.6 fenics=2018.1.0 scipy matplotlib pillow read-roi imageio tifffile mpi4py
Then, activate the environment:
conda activate fenicsproject
In order to run/edit the scripts using an IDE, install e.g. Spyder:
conda install -c conda-forge spyder
Alternatively, you can use e.g. PyCharm and create a run environment by selecting anaconda3/envs/fenicsproject environment.
To run the test cases, execute
python -m unittest discover
By default, we have switched off plotting of figures during the tests. To enable plotting for a test case, just comment
# matplotlib.use('agg')
in the individual test and figures should be output during execution.
We have added scripts that generate the figures in the paper.
-
Download the microscopy data (ZIP file) from https://doi.org/10.5281/zenodo.3257654
-
Uncompress the data, and place it some directory.
-
Set the path to this directory in the script
datapath.py
. -
Run the scripts (e.g.
paper_figures_01.py
) to re-create the figures in the paper.
In order to generate the results from the evaluation, i.e. Figs. 9-11 and Tables 1-2, you must run pipeline_eval.py
before executing paper_figures_04.py
and paper_figures_05.py
.
Depending on the number of parameter combinations set in pipeline_eval.py
this may take hours.
This code is released under GNU GPL version 3.
For the full license statement see the file LICENSE
.
Lukas F. Lang and Carola-Bibiane Schönlieb
Department of Applied Mathematics and Theoretical Physics
University of Cambridge
Wilberforce Road, Cambridge CB3 0WA, United Kingdom
Nilankur Dutta and Jocelyn Étienne
Laboratoire Interdisciplinaire de Physique
Université Grenoble Alpes
F-38000 Grenoble, France
Bénédicte Sanson and Elena Scarpa
Department of Physiology, Development and Neuroscience
University of Cambridge
Downing Site, Cambridge CB2 3DY, United Kingdom
LFL and CBS acknowledge support from the Leverhulme Trust project "Breaking the non-convexity barrier", the EPSRC grant EP/M00483X/1, the EPSRC Centre Nr. EP/N014588/1, the RISE projects ChiPS and NoMADS, the Cantab Capital Institute for the Mathematics of Information, and the Alan Turing Institute.
ND and JE were supported by ANR-11-LABX-0030 "Tec21", by a CNRS Momentum grant, and by IRS "AnisoTiss" of Idex Univ. Grenoble Alpes. ND and JE are members of GDR 3570 MecaBio and GDR 3070 CellTiss of CNRS. Some of the computations were performed using the Cactus cluster of the CIMENT infrastructure, supported by the Rhone-Alpes region (GRANT CPER07_13 CIRA) and the authors thank Philippe Beys, who manages the cluster.
Overall laboratory work was supported by Wellcome Trust Investigator Awards to BS (099234/Z/12/Z and 207553/Z/17/Z). ES was also supported by a University of Cambridge Herchel Smith Fund Postdoctoral Fellowship.
The authors also wish to thank Pierre Recho for fruitful discussions and the re-use of his numerical simulation code.