Reconstruction and Standardisation of Gal4 expression patterns

The ambition of our project is to create a new neuroanatomic tool for scientists on Drosophila genetics and behaviour. This tool will enable the online comparison of mutations and Gal4 expression patterns in the Drosophila brain via the internet. For this we develop a database of reconstructed and standardised Gal4 expression patterns on the basis of the existing Drosophila StandardBrain. Additionally we design a set of tools for fast and easy processing of 3D image data sets. These scripts will facilitate fast reconstruction of confocal image stacks, calculates various statistic and volumetric parameters and align the processed datasets to the StandardBrain for further visual comparisons. To provide a global basis of neuropil nomenclature we consolidate and amplify the existing nomenclatures of the Drosophila brain.

The idea is to evaluate the expression patterns intersections of various Gal4 driver lines and/or mutations. By this the influence of brain structures which can not be genetically influenced individually may be further ascertained.

The standardization algorithm

Standardisation in this case means averaging. Having made an experiment measuring the expression patterns of 10 brains, let's say, one wants to extract meaningfull expression by averaging over the 10 brains. However, in order to be able to average, the brains must be aligned. How this alignment is done is what I will describe below.

The basic idea is to choose one template brain (this may also be a completely different brain from the brains under study) and calculate for each brain the transformation that aligns it to the template brain.

The standardisation algorithm can be broken down into the following steps:

1. Labelling

The first step is to create labels around the individual neuropiles of each brain that should be standardised. This is a task which has to be done manually. This time consuming step can be shortened by labelling not each slice in an image stack, but each 2nd, 3rd, 4th or even 5th, and interpolate the slices in between.

For the alignment, it is not necessary to label all of the neuropiles which are nowadays known in Drosophila. We use the medulla, lobula, lobula plate, mushroom body and the antennal lobe.

2. Volumetry

In this step, for each brain the centers of gravity and the volumes are calculated for each labelled neuropil. The picture below shows the centers of gravity of a brain (green) which should be aligned to a template brain (magenta).

3. Center transformation

The center transformation searches for the best global rigid transformation of a brain to the template brain. It can be thought of the problem to find the matrix which transforms one set of points best to another set of corresponding points. For our approach, we implemented the solution of Horn, using quaterions: Closed-form solution of absolute orientation using unit quaternions, Horn, B. K. P., Journal of the Optical Society of America A, Vol. 4, page 629, April 1987.

4. Label center transformation

The center transformation described in the last section aligns a brain only roughly to a template brain. This is not satisfying. In order to improve the alignment, each neuropil is transformed separately, again by a rigid registration. This gives one transformation matrix for each neuropil. In this step, one has no longer points which can be mapped as it was the case in the center transformation. Nevertheless, the problem is again an optimazation problem. First, one aligns the neuropiles of brain and template using the center transformation from above, then one rotates the brain a little bit and calculates the distance between brain and template, one rotates more and sees if one gets better results and so on. We used a conjugate gradient search and particularly utilized an implementation from Korbinian Strimmer et al., which is available at

The following picture illustrates this step:

Here, the best rigid transformation for the right medulla was calculated.

5. Label diffusion transformation

It is not so easy to explain the diffusion interpolation in three dimensions, therefore I will show how it works in 1D. Assume two virtual neuropiles A and B, which have optimal rigid transformation (calculated in label center transformation) of Ta and Tb. Let's assume neuropil A is optimally shifted to the right by 2 and neuropil B by 4:

Ta = +2
Tb = +4

First calculate an average transformation Tavg. Here, we have

Tavg = +3


For each position i the image, calculate the displacement d(i):

d(i) = T[neuropil at position i](i) - Tavg(i)

At locations without neuropil the displacement is 0.


After the initialisation step, a window slides over the displacement array, doing averaging in place. The process is shown below. This step is executed from the left to the right and vice versa in turn, until the change is below some chosen threshold.


After the iteration, the displacement is applied to each voxel.

| Begin |