Image registration with TurboReg in ImageJ

During the time-lapse recording, the zebrafish larvae often make movements even  in the agarose. Therefore, we need to register images before measuring the pixel values through frames. If the drifts were small, TurboReg may work for image registration. Here is a step-by-step instruction on how to use it. The sample data is a GCaMP6s fluorescence movie of the zebrafish optic tectum, observed at 5 days postfertilization (5 dpf).


First, we need a reference image to which the entire movie is registered. The first (or any other single) frame can serve as a reference (Use Image > Duplicate…). Here, I would use an averaged image.

Image > Stacks > Z Project…


Choose “Average Intensity” in the pull-down menu.


Now choose Plugins > Registration > TurboReg


Choose the movie file for “the Source“, and the reference image as “Target“. Check “Rigid Body” (that moves in any direction on the 2D plane but is not elastic). Check “Accurate” and click “Batch” to start image processing. Note that if the eye ball moved during the recording, “Rigid Body” would not work well. In that case, crop the image to exclude the eye ball ( (After making a selection on the image, Image > Crop).


The processing takes time. Just be patient.


Here is the result. Only a small area is shown for each.

Before (Left) and After (Right) image registration.

TurboReg suppressed the drift to some extent, although not perfect. Whether it works or not depends on the sample image. Different methods/algorithms may work better on other types of images.


See also:How to make a graph of the calcium signals from multiple neurons using ImageJ (Fiji) and Excel


Web resources

  1. TurboReg (Download site)
  2. Tubocurarine hydrochloride pentahydrate, SIGMA T2379