Metric to evaluate the registration accuracy on 3D MRI


I am a newbie to ITK registration. Currently, I am implementing intra-subject registration of 3D PET (moving image) into 3D MRI (fixed image) using ITK. I want to check the registration accuracy which is the error in distance between transformed PET and fixed MRI images. How can I do that in ITK C++? Are there any available examples? Thanks in advance.

If you want an objective measure (in millimeters of displacement or something similar), you need to have ground truth.

Without that, we have mutual information entropy (or whatever else was the cost function minimized by registration) and human eyeballing of the registration quality. You can also make human judgement more quantitative, by defining corresponding landmarks in MRI and PET and then measure their distances after being transformed by the registration.

Which one are you interested in?

Hello @thanhduc1910,

Registration evaluation is part of the theory underlying registration and is not specific to ITK. For a good understanding it is recommended to read the registration literature.

This SimpleITK Jupyter notebook illustrates several ways to evaluate registration. Hopefully one of these is relevant for you.