3D registration using the VIB Protocol

Author: Benjamin Schmid(Bene.Schmid at gmail.com), Johannes Schindelin (Johannes.Schindelin at GMX.DE)
History: 2008/07/13: First public version
Installation: Download VIB_Protocol.jar to the plugins folder, or subfolder, restart ImageJ, and there will be a new command in the Plugins menu, "VIB Protocol".


The VIB Protocol is designed for aligning 3D image stacks. The images we used are confocal images of adult fly brains, but basically the VIB protocol can be used for any 3D images.

The workflow is thereby as follows:

  • Load the input images. If they consist of several channels, the channels are splitted.
  • Label the reference channel
  • Resize images and labels
  • Calculate the centers of gravity and use them to calculate a rough alignment
  • Register each labelled region indivudually, again rigidly.
  • Interpolate the displacement field between labelled regions.
The output of the VIB Protocol is written to a user-specified folder. A description of how to use this plugin can be found below, while a more detailed description about how the VIB Protocol works can be found in this presentation, which was shown at the FENS 2008 in Geneve. There exists also a movie which demonstrates nicely the alignment of two brains.


The VIB Protocol starts with the following dialog:

A configuration file stores all the settings for running the VIB Protocol on a particular data set. It is saved in the output directory. If one wants to run the algorithm a second time, it is possible to load (and modify) the previous configuration. If you run this for the first time, just leave the text field blanc and click OK.

After that, a second dialog appears, which asks the user for all the necessary input:

The different fields have the following meaning:

Files: Use the buttons "Add to files" and "Delete from files" to add here the input images.
Working directory: All the output of the VIB Protocol goes into this folder.
Template: Choose one of the images in the "Files" list as a template (reference) brain (by selecting it in the list and clicking "Use as template"). Alternatively, you can choose an external reference by typing the path to the file you want to use.
No of channels The number of channels contained in the input files.
No of reference channel The number of the reference channel. The reference channel will be used for labelling.
Resampling factor In order to speed up execution time, it is a good idea to scale the images down. Selecting here '2' for example means that a 1024x1024x256 images will be downsampled to 256x256x64.

Clicking OK will finally start the VIB Protocol. At this point, the above mentioned configuration file is created and saved, which is shown by:

Normally, the Segmentation Editor opens during the software execution and asks the user to label the brains. This step is omitted if there exists already a folder called 'labels' in the output directory and if this folder contains for each image the corresponding labels image. After that, no more user interaction is required, and the software finishes after some time. All the results can be found in the output directory. The structure of this directory is as follows:

| Back |