I want to evaluate whether the registration is done properly or not automatically or based on some metric. Normally I check it by manually aligning the registered image on the fixed image and for the TRE approach, I had to get the points manually. Is there any other ways to do it or some resources where I could explore to get any ideas on this topic.
I tried having metric value, the final metric value we get after the registration, is it reliable to evaluate registration through it? I test with 4 cases the values weren’t consistent. For registration on those cases, I used the metric, AdvancedNormalizedCorrelation.
Using the final metric value to assess the quality of registration should be viewed as a minimal sanity check. Did the registration do what it is expected to do, minimize the cost function. It does not reflect the accuracy of the registration, at least in most cases.
A nice discussion of the subject is given in “The truth is hard to make: Validation of medical image registration”, Pluim et al., 2016 [pdf].
Assessing the accuracy of image registration isn’t straightforward since there’s no one-size-fits-all metric. Typically, for rigid registration, we check how well the reference points or segmentations line up between the fixed and moving images, before and after the process. But with non-rigid registration, it’s trickier due to the flexible nature of the transformations. There’s a good chapter that dives deep into this topic if you’re interested: Introduction to the Non-rigid Image Registration Evaluation Project (NIREP) | SpringerLink
Thank you for the answer, I’ll sure look into the resource you have provided!
In general, the problem is to have an independent way of verifying the registration result. You want to use all the information you have (misalignment of the images, expected properties of the transform, etc.) to get the best possible registration result. However, if you used all these information for computing the transformation then you cannot use them to characterize the registration accuracy. For example, if you use “inverse consistency” of the transformation to evaluate accuracy, you imply that it is a desirable property of the computed transformation, therefore you should have included that in the opimization during registration. Similarly, you can use automatic segmentation results to independently verify registration results; but if you have an accurate and reliable segmentation method then you should have used that during the registration to achieve best possible results.
We would need to know much more about your application to give any meaningful advice - what images you register, for what purpose, what are the accuracy requirements, what is the impact of having inaccurate registration, are there any higher-level error detection mechanisms, what are the constraints - available time, availability of expert knowledge, …?