Preibisch Laboratory                                            

Berlin Institute of Medical Systems Biology (BIMSB) of the Max Delbrück Center (MDC)
Currently located in Building 89 of the MDC Campus in Berlin-Buch

Multi-View Simulation

3/2/2014 10:13 pm

For our recent paper (Nature Methods, figure 2) I implemented software for the simulation of multi-view microscopy data, e.g. Selective Plane Illumination Microscopy (SPIM). It simulates a three-dimensional ground-truth that resembles aspects of a biological object like a spheroid. For each simulated view the signal is attenuated, convolved with an effective PSF, and anisotropically sampled using a Poisson process. The software is implemented in ImgLib2 and online available on github:

"Game of Death"

12/10/2013 10:50 am

The Game-of-Death illustrates the level of generality that ImgLib2 offers. It efficiently simulates the growth and death of life forms in an arena, fighting to become the dominant race. This relatively complex behavior is simply simulated by running our generic implementation of Gaussian Convolution on a newly defined numeric data type LifeForm. Such a LifeForm consists of a name (i.e. its race) and a weight representing its population at a spot and specialized math operations addition and multiplication were defined to reflect their behavior.

In each round every LifeForm of every race grows by a certain percentage and dies of hunger if a spot is overpopulated. Each race at each spot tries to spread into their local neighborhood, trying to invade new space. If a neighboring spot is empty they will simply occupy it and start growing. If the same race is present in their vicinity, their population simply adds up. If another race is present they will fight for the spot. The race with the highest population at this spot will survive, however it will decrease by the amount of population the defeated race had lost. Occasionally, an epedemic will kill 90% of the dominant race to keep the simulation in balance.
The Game-of-Death was implemented together with Stephan Saalfeld, more details can be found in the supplement of our ImgLib2 paper, the source code is maintained on github.


12/10/2013 10:13 am

ImgLib2 is is a general-purpose, multidimensional image processing library. It provides an interface-driven design that supports numeric and non-numeric data types (8-bit unsigned integer, 32-bit floating point, etc.) in an extensible way. It implements several data sources and sample organizations, including one single primitive array, one array per plane, N-dimensional array "cells" cached to and from disk on demand, and planes read on demand from disk.

It is used to implement many Fiji Plugins, the Big Data Viewer, for the KNIME Image Processing toolbox and as basis framework for the new ImageJ2. The source code is maintained on github.

Please note: the ImgLib2 is based on a publications. If you use it successfully for your research please be so kind to cite our work:

Tobias Pietzsch*, Stephan Preibisch*, Pavel Tomancak and Stephan Saalfeld* (2012)
ImgLib2 - Generic image processing in Java
Bioinformatics 2012, 28(22), 3009-3011.


29/12/2008 6:50 pm

ImgLib1 is the meanwhile deprecated predecessor of ImgLib2 and was recently removed from the ImgLib repository. It is supposed to die within the next years entirely. In order to facilitate step-wise migration from ImgLib1 to ImgLib2 it contains wrappers that allow non-copying access to ImgLib2 datastructures and vice versa. It is still incorporated into Fiji and alternatively for download here. The source code is maintained on github.

Please note: the ImgLib is based on a publication. If you use it successfully for your research please be so kind to cite our work (but please cite the ImgLib2 reference above):

Stephan Preibisch, Pavel Tomancak and Stephan Saalfeld (2010)
Into ImgLib - Generic Image Processing in Java
in Proceedings of ImageJ User and Developer Conference 2010

Download ....

Fiji/ImageJ Plugins

Reconstruction of Light-Sheet Microscopy Data

12/10/2013 11:26 am

Selective Plane Illumination (or Light Sheet Fluoresence) Microscopy (SPIM/LSFM, Science, 305(5686):1007-9) allows in toto imaging of large specimens by acquiring image stacks from multiple angles. However, to realize the full potential of these acquisitions the data needs to be reconstructed:

We developed several algorithms for the registration and fusion of multi-angle SPIM acquisitions. This plugin collection allows you to reconstruct an isotropic output image from several input images, called views. This process can be applied to timelapse acquisitions as well. The complete reconstruction process is split into Multi-View Registration and Multi-View Fusion or Multi-View Deconvolution.

The complete documentation is available on the Fiji-Wiki, the source code is maintained on github.


29/12/2008 6:50 pm

This is an ImageJ plugin for fast stitching (translation only!) of 2d, 3d, 4d and 5d images. It is based on Fourier Space analysis and offers very high speed compared to plain cross correlation.

The Stitching Plugin is able to reconstruct big images/stacks from an arbitrary number of tiled input images/stacks, making use of the Fourier Shift Theorem that computes all possible translations (x, y[, z]) between two images at once, yielding the best overlap in terms of the cross correlation measure. If more than two input images/stacks are used the correct placement of all tiles is determined using a global optimization. To remove brightness differences at the tile borders, a linear intensity blending is applied
You can find a complete HowTo for the plugins on the Fiji project page. If you have problems installing it, just download the whole Fiji package, it is included there.

A FFT library from David Hale, the mpicbg library from Stephan Saalfeld, ImgLib, Fiji-libraries and LOCI Bioformats are included as jar files. Just unzip the provided files into the ImageJ plugins directory.

For interactive examples have a look here.

Please note: the Stitching, as well as other plugins available through Fiji, is based on a publication. If you use it successfully for your research please be so kind to cite our work:

Stephan Preibisch, Stephan Saalfeld and Pavel Tomancak (2009)
Globally Optimal Stitching of Tiled 3D Microscopic Image Acquisitions
Bioinformatics 2009, 25(11), 1463-1465.

Download ....

Special thanks to Nicolas Gompel, James W. Truman, Simone Fietz and Wieland B. Huttner for providing the images.

Gaussian Convolution (2D/3D)

12/10/2007 3:07 pm

This is a plugin for performing a Gaussian Convolution on 2D and 3D images for arbitrary Sigmas (>0,5). You have several options for the assumption about the area outside the image which is needed to do a complete convolution. Simply uncompress the zip file into your plugins folder or do compile&run with the source. It is by the way multithreaded for 3D Gaussian Foldings. Just uncompress the zip file into your plugins folder and give it a try!

Download Binary ....
Download Source ....

FFT Transform Plugin (2D/3D)

20/02/2008 7:57 pm

This is a plugin for performing a (inverse) Fast Fourier Transform on 2D and 3D images. You can eigher compute the Power- and Phasespectrum for any image or compute the inverse transform for a given pair of the spectra. It is very fast thanks to the optimized 1D-FFT routines from David Hale which are included. For 3D FFT computations, the program is multithreaded. Just uncompress the zip file into your plugins folder and give it a try!

27/04/2008 7:22 pm

Fixed error in the rearranging of the quarters after computing the FFT.

Download Binary ....
Download Source ....

Principal Curvature Plugin (2D/3D)

20/02/2008 7:57 pm

This is a plugin for computing the Principal Curvatures of 2D and 3D images (not RGB). The Principal Curvatures can be computed for arbitrary structure sizes, which you can choose by perfoming a Gaussian Convolution first. For the Eigenvalue Decomposition I use the JAMA package which is included. Just uncompress the zip file into your plugins folder and give it a try!

Download Binary ....
Download Source ....

Sobel Filter Plugin (3D)

20/02/2008 7:57 pm

This plugin convolves a 3D image with a Sobel Filter. Just uncompress the zip file into your plugins folder and give it a try!

Download Binary ....
Download Source ....

Other software

The Hook Method for GeneChip Microarray Analysis

29/01/2008 2:02 pm

Calibration of microarray measurements aims at removing systematic biases from the probe-level data to get expression estimates which linearly correlate with the transcript abundance in the studied samples. We address hybridization on microarrays as a reaction process in a complex environment and express the measured intensities as a function of the input quantities of the experiment.
The hook-method is a new calibration approach which is based on a graphical summary of the actual hybridization characteristics of a particular microarray. The hook method provides a set of chip summary characteristics which evaluate the performance of a given hybridization.
The algorithm of the method is briefly described and its performance is exemplified in this paper: PDF

Download Binary (16MB, with example files) ....
Download Short Installation Guide ....
Download Hook Paper ....