how to correlate 3D volume images (spatial 3d matrix correlation)

10 views (last 30 days)
Hi,
I would like to compare the similarity between two 3D matrices. I found the below code. The problem that I am trying to solve is even I compare the same volumes, the correlation map gives me values like 0.945 instead of 1 which indicates the perfect match. What might be the reason of it?
corr3D_1=fftshift(ifftn(fftn(Image1).*conj(fftn(Image2)),'symmetric')); imagesc(corr3D_1/(max(max(corr3D_1))))
Thanks, Efe

Answers (1)

Don Zheng
Don Zheng on 9 Jun 2017
Can you explain more about what you referred to as the correlation map in the code? The 'corr3D_1' variable?
Is the center element of your correlation map 1? What values do you get when trying other images (especially uint8 images)?
I saw the original post of the code here. I am not familiar with 3D volume correlation, but is 1 the expected value for two identical volumes by this code? Might want to talk to the code provider about the expected values. The code might not have consider normalization.
Also, if 'corr3d_1' is a volume, why did you only use two 'max' to get the max value for normalization?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!