# Best practices for initialization before optimizer-based 2D registration

**URL:** https://discourse.itk.org/t/best-practices-for-initialization-before-optimizer-based-2d-registration/1433
**Category:** Uncategorized
**Tags:** registration
**Created:** [November 21, 2018, 10:01am UTC](https://discourse.itk.org/t/best-practices-for-initialization-before-optimizer-based-2d-registration/1433 "2018-11-21T10:01:06Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![take5v](https://discourse.itk.org/user_avatar/discourse.itk.org/take5v/32/548_2.png) [@take5v](https://discourse.itk.org/u/take5v)
#### Post date: [November 21, 2018, 10:01am UTC](https://discourse.itk.org/t/best-practices-for-initialization-before-optimizer-based-2d-registration/1433/1 "2018-11-21T10:01:06Z")

</div>

Hi,

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,  
Stas

---

<div class="post-metadata">

### Author: ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)
#### Post date: [November 26, 2018, 1:14am UTC](https://discourse.itk.org/t/best-practices-for-initialization-before-optimizer-based-2d-registration/1433/2 "2018-11-26T01:14:04Z")

</div>

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:

- [`itk::MaskedFFTNormalizedCorrelationImageFilter`](https://itk.org/Doxygen/html/classitk_1_1MaskedFFTNormalizedCorrelationImageFilter.html), if a translation is desired and there are intensity correlations in the fixed and moving image.
- [`itk::CenteredTransformInitializer`](https://itk.org/Doxygen/html/classitk_1_1CenteredTransformInitializer.html), if there is translation and rotation to initialize and there is a “mass” in the images surrounded by zero intensity.

---

<div class="post-metadata">

### Author: ![zivy](https://discourse.itk.org/user_avatar/discourse.itk.org/zivy/32/1726_2.png) [@zivy](https://discourse.itk.org/u/zivy)
#### Post date: [November 27, 2018, 3:51pm UTC](https://discourse.itk.org/t/best-practices-for-initialization-before-optimizer-based-2d-registration/1433/3 "2018-11-27T15:51:55Z")

</div>

Hi Stas,  
Without any prior on the transformation, initialization becomes all but impossible (requires manual intervention). In SimpleITK we have a [Jupyter notebook](https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/master/Python/63_Registration_Initialization.ipynb) 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.  
Ziv
