The embryos I study rarely develop in perfect synchrony. That means that when I film them under the microscope some embryos will be younger—or older—than others.
For this reason, I often need to synchronize the recordings to make sure they all begin at the same embryonic stage. When the movies are synchronized I can combine them side-by-side, and it becomes much easier to compare and spot differences between two embryos.
ImageJ macros save time
Combining movies in Fiji/ImageJ is straightforward using the
Combine... command. But synchronizing is way harder. It depends on human classification and involves some calculations and stack juggling that can (and will) become tedious.
To help me out, I wrote a small ImageJ macro available here: SyncAndCombineStacks.ijm. Follow below to see how it works.
Combined movies without syncing
That’s what unsynchronized movies look like. I combined them fresh off the microscope without any synchronization:
Combined movies after syncing
Here are the same two movies now synchronized by the embryonic stage:
How it works
The macro performs the hard work. It calculates how many frames to trim from each stack. Then it duplicates the selected range of frames common to both stacks. Finally, it combines the synchronized recordings into a single image stack. All you need to do is to select the corresponding frames between the two stacks.
Here are the instructions step-by-step:
- Open both image stacks in ImageJ.
- Adjust the contrast if needed (before running the macro).
- Select a reference frame in the top stack (e.g. stage easy to recognize).
- Select the correspondent frame in the bottom stack.
- Run the macro and fill in the dialog parameters.
- Click OK, wait a few seconds, and check if the synchronization is good. Otherwise, re-run with different parameters.
I’ve also recorded a small screencast:
Note! The macro does not touch the original stacks, but it outputs an RGB Color stack. There are a couple of reasons for that. Converting to RGB avoids contrast issues when the stacks have different pixel intensities. It also prevents quirks in video players that can’t handle 16-bit movies. But if you need to perform image analyses on the final stack, remove this option. I may add a checkbox for that in the future.