DeconvolutionLab2 is freely accessible and opensource for 3D deconvolution microscopy; it can be linked to wellknown imaging software platforms, ImageJ, Fiji, ICY, Matlab, and it runs as a standalone application.
The backbone of our software architecture is a library that contains the numbercrunching elements of the deconvolution task. It includes the tool for a complete validation pipeline. Inquisitive minds inclined to peruse the code will find it fosters the understanding of deconvolution.
At this stage, DeconvolutionLab2 includes a friendly user interface to run the following algortihms: Regularized Inverse Filter, Tikhonov Inverse Filter, Naive Inverse Filter, RichardsonLucy, RichardsonLucy Total Variation, Landweber (Linear Least Squares), Nonnegative Least Squares, BoundedVariable Least Squares, Van Cittert, TikhonovMiller, Iterative Constraint TikhonovMiller, FISTA, ISTA.
D. Sage, L. Donati, F. Soulez, D. Fortun, G. Schmit, A. Seitz, R. Guiet, C. Vonesch, M. Unser DeconvolutionLab2 : An OpenSource Software for Deconvolution Microscopy MethodsImage Processing for Biologists, vol. 115, 2017. 
Download  
Version 2.1.2 (27.06.2018) Do not unzip this downloaded file 

Installation  
ImageJ 
Put the file DeconvolutionLab_2.jar in the plugins folder and restart ImageJ or Fiji. Check the menu Plugins » DeconvolutionLab2.
Example of ImageJ macro image = " image synthetic Cube 10.0 1.0 size 200 100 100" psf = " psf synthetic DoubleHelix 3.0 30.0 10.0 size 200 100 100" algorithm = " algorithm RIF 0.1000 out mip MI1 path home" run("DeconvolutionLab2 Launch", image + psf + algorithm + parameters) 

ImageJ2 

Fiji 

Matlab 
Put the DeconvolutionLab_2 into the java folder of Matlab Example of Matlab commands javaaddpath([matlabroot filesep 'java' filesep 'DeconvolutionLab_2.jar']) result = DL2.RIF(rand(40, 40, 30), rand(30, 30, 30), 0.125, 'out mip rand'); 

Standalone application 
Require a Java JDK 1.8 properly installed in the machine. Doubleclick on the DeconvolutionLab_2.jar file to the start the user interface of DeconvolutionLab2.


Java code 
Use the DeconvolutionLab2 as a Java library Snippet of Java code RealSignal r = Lab.getImage("fundus.tif"); RealSignal h = new DirectionalMotionBlur(2, 20, 20).generate(r.nx, r.ny, r.nz); Simulation sim = new Simulation(0, 1, 0); RealSignal y = sim.run(r, h); TikhonovRegularizedInverseFilter trif = new TikhonovRegularizedInverseFilter(0.001); RealSignal x = trif.run(y, h); Lab.show(x, "TRIF " + i); 

Icy 
Not yet ready for the centralized distribution on the Icy website  
Command line interface 

Source code, documentation, previous versions  
Source code on GitHub  git clone https://github.com/BiomedicalImagingGroup/DeconvolutionLab2  
History  Status of the development  
Library API  Java doc  
Version 2.0.0  DeconvolutionLab_22.0.0.jar 
FFT Libraries  
JTransforms  Visit the page of JTransforms JTransforms is already included in Fiji and Icy 
Get a JTransforms.jar file and put it in the same directory than DeconvolutionLab_2.jar 
FFTW Version 2 
FFTW.zip It is include the FFTW2 dynamic libraries for Mac OSX, and Windows 32bits and 64bits machines, and Linux 32bits and 64bits machines. 
Download the FFTW.zip folder, unzip it and put it in the same directory than DeconvolutionLab_2.jar 
▶ Image
▶ PSF
▶ Algorithm
▶ Path

Run 
Run the deconvolution task in headless mode 
Launch 
Start the deconvolution dialog box, then Run the deconvolution task 
Batch 
The current deconvolution command is added in the Batch table (see Advanced tab) 
Algorithms  Shortname  Iterative  Step Controllable  Regularization  Wavelets 
Deconvolution  
Regularized Inverse Filter Laplacian Regularized Inverse Filter 
RIF LRIF 
Direct  No  Yes  
Tikhonov Regularized Inverse Filter  TRIF  Direct  No  Yes  
Naive Inverse Filter Inverse Filter 
NIF IF 
Direct  No  Yes  
RichardsonLucy  RL  Iterative  No  No  
RichardsonLucy Total Variation  RLTV  Iterative  No  Yes  
Landweber Linear Least Squares 
LW LLS 
Iterative  Yes  No  
Nonnegative Least Squares Landweber+Positivity 
NNLS LW+ 
Iterative  Yes  No  
BoundedVariable Least Squares SparkParker 
BVLS SP 
Iterative  Yes  No  
Van Cittert  VC  Iterative  Yes  No  
TikhonovMiller  TM  Iterative  Yes  Yes  
Iterative Constraint TikhonovMiller  ICTM  Iterative  Yes  Yes  
FISTA  FISTA  Iterative  No  Yes  Haar, Spline 
ISTA  ISTA  Iterative  No  Yes  Haar, Spline 
Simulation  
Simulation  SIM  Direct  Convolution with a PSF and corruption with Gaussian and Poisson noise  
Convolution  CONV  Direct  Convolution with a PSF (no additive noise)  
Identity  I  Direct  Copy the input into the output  
Nonstabilized Division  DIV  Direct  Division by a PSF in the Fourier domain 
The command line of DeconvolutionLab2 consists of a series of arguments that allows a full control of the processing. The command line is written in a single line, space is mostly used as separator. The general format of the argument is:
keyword [option] parameters
The list of keywords and the options presenting in the following table. The sign  indicate a OR). The default value are written in bold
Keyword  Default  Options  Description 
image file  Mandatory  Path to a single file (zstack) usually a TIF or STK file 
Source of images. The 3D input data should be a zstack of images. 
image directory  Path to a directory containing 2D images [pattern 

image synthetic  Name and parameters of the shape [intensity, size, center]> 

image platform  Name of the image of the platform (ImageJ or Icy)  
psf file  Mandatory  Path to a single file (zstack) used as PSF usually a TIF or STK file 
Source of PSF. The 3D PSF data should be a zstack of images. 
psf directory  Path to a directory containing 2D images [pattern] 

psf synthetic  Name and parameters of the shape [intensity, size, center] 

psf platform  Name of the image of the platform (ImageJ or Icy)  
algorithm  Mandatory 
RIF  TRIF  NIF  LW  NNLS  BVLS  RL  RLTV  TM  ICTM  ISTA  FISTA  VC  I  CONV  SIM  DIV
Synonym of the acronym: RIF = LRIF, NIF = IF, LW = LLS, NNLS = LW+, BVLS = SP, I = ID 
Name and parameter of the algorithm 
path  current  current  path  Working directory 
Output (several instances of out are possible)  
out stack  intact float 
Name of the output: Note that this name is used as title of the window image and as the filename for the storage Option for dynamic: intact  rescaled  normalized  clipped Option for type: byte  short  float Mode: By default the output is shown and saved. nosave  noshow 
Output as a stack of images (TIF) 
out series  intact float  Output as series of 2D images (slices, XY)  
out mip  intact float  Output as a maximumintensity projection  
out ortho  intact float  Output as a 3 orthogonal views centered around the keypoint  
out planar  intact float  Outputs as a 2D sidetoside image of all the zslices  
Controller  
monitor  console table  console  table  no  Selection of the monitoring output 
verbose  log  log  quiet  prolix  mute  Message monitoring 
stats  show  show  save  no  Statistics 
constraint  no  no  nonnegativity  clipped  Spatial constraint on the signal 
residu  no  no  value  Stops when the minimal residu is reached 
time  no  no  value  Limitation of running time 
reference  no  no  filename  Assess the current deconvolved image with the reference image 
Preprocessing  
pad  NO NO 0 0  NO  X2  X23  X235  E2  Lateral and axial padding and extension scheme 
apo  NO NO  UNIFORM  NO  HAMMING  HANN  COSINE  TUKEY  WELCH  Lateral and axial apodization window function 
norm  1  no  value  Normalization factor for the PSF 
Resources  
fft  fastest  academic  jtransforms  fftw2  Indicates the FFT library 
epsilon  1E6  value  Machine Epsilon 
Example
image synthetic Cube 10.0 1.0 size 200 100 100 intensity 255.0 psf synthetic DoubleHelix 3.0 30.0 10.0 size 200 100 100 intensity 255.0 algorithm RIF 0.1000 out mip MI1 norm 10.0 path home
Material  Download  Size  Description 
Slide in PDF (without the animation/video)  3DDeconvolutionMicroscopy.pdf  4.6 Mb  Course given in Neubias 2020, February 2017 
Restoration  logo.zip  0.6 Mb  2D simulation, influence of the PSF shape to restore the original image 
Naive Inverse Filter  naivedeconvolution.zip  3.3 Mb  2D simulation of the inverse filter 
Simulation to check the resolution  testresolution.ijm  0 Mb  Macro to generate simulated data and simulated PSF 
Simulation to check the spectral effect  spectralanalysis.zip  0.7 Mb  2D simulation of fine structures 
Hollow bars  bars.zip  28 Mb  3D reference, 3D corruputed data and 3D PSF 
Synthetic microtubules  microtubuleschallenge.zip  63 Mb  3D data and 3D theoretical PSF of a realistic specimen 
Drosophila (crop)  drosophilacrop.zip  19 Mb  Small 3D data and 3D theoritical PSF 
You'll be free to use this software for research purposes, but you must not transmit and distribute it without our consent. In addition, you undertake to include a citation whenever you present or publish results that are based on it. EPFL makes no warranties of any kind on this software and shall in no event be liable for damages of any kind in connection with the use and exploitation of this technology.
© 2018 EPFL • webmaster.big@epfl.ch • 26.10.2018