Best practices for initialization before optimizer-based 2D registration


Since optimizer-based registration is performed in physical coordinates it is crucial to setup coarse initial transformation. For some medical images, this transformation could be calculated with image origin, spacing and directional cosines which are usually provided in DICOM. But in other cases, e.g. microscopic images, this information is usually lacking. There could be cases when two images are rotated, shifted or scaled according to each other. Even further, the same tissue could be measured but localized differently so that two images have huge overlapping but depict different areas.

Are there any state of the art methods and what are best practices in the initialization? Are there any automatical methods? I tried exhaustive initializer and feature-based registration as initialization which is not robust for every pair of images. Now I’m using manual initialization when I estimate rotation by looking at the images.

Best regards,

Hi Stas,

Yes, initialization is a key, often overlooked aspect of the optimizer-framework registration.

A course exhaustive search initialization and feature-based registration are good options. Depending on the problem, a few other options to consider:

Hi Stas,
Without any prior on the transformation, initialization becomes all but impossible (requires manual intervention). In SimpleITK we have a Jupyter notebook illustrating various initialization approaches. I just updated it with an additional example using the exploration-exploitation heuristic when you have a weaker prior on the expected transformation. Possibly that might be relevant for you.