Help regarding Sum of Squares in MR reconstruction

44 views (last 30 days)
Hello all,
I am a beginner starting to work on MR image reconstruction. Various implementation of Sum of Squares algorithm for a muli-slice k-space data has matlab code as follows.
For a kspacedata with dimenstion 100X80X4 (100X80 k-space matrix data for 4 slices), the final reconstructed image is computed as:
reconimage = ifftshift(ifftn(ifftshift(kspacedata)));
reconimage = sqrt(sum( abs(reconimage).^2, 3));
figure;imagesc(abs(reconimage));
To my understanding, SoS algorithm generates magnitude images which can be calculated as abs(reconimage) for each slice.
How can I get a combined image reconstructed from all slices? Is that what the below code does?
sqrt(sum( abs(reconimage).^2, 3))
How can I understand the above code in a SoS reconstruction perspective?
Thanks.
  1 Comment
Roshtha
Roshtha on 4 Dec 2015
"In SoS, the image is reconstructed from multiple images acquired with phased array coils by taking the square root of the sum of the absolute squares of the images acquired at each channel. The SoS method is based on the assumption that the sum of the absolute squares of all sensitivity functions are spatially uniform such that the spatially varying sensitivity weighting is removed. However, this assumption is usually violated with surface coils, which causes the reconstructed image to be dark at locations further away from all coils."

Sign in to comment.

Answers (2)

EGEHAN DORUM
EGEHAN DORUM on 12 Feb 2020
I am still suffering from SoS reconstruction technique which is the last part of my project.
I am trying to obtain a reconstructed image from 4 individual images acquired by 4 different coils, in parallel imaging (MRI).
I have created aliased images for each coil, by removing lines in the corresponding k-space data for each coil.
Then I used the sensitivity functions as filters for those images.
But I am not able to create the final reconstructed image and I need SoS reconstruction to be understood well.
Have you done any research on this and obtained any helpful information? I am really stucked at this point right now.

HyungJin Chung
HyungJin Chung on 11 May 2020
Edited: HyungJin Chung on 11 May 2020
SoS reconstruction with multiple coil images is straightforward, and you can run it with the built-in function,
Sos_image = squeeze(rssq(your_image, 3))
where the number 3 refers to the dimension of coils. I assumed that your data consists of two-dimensional image,
and multi-coil images are stacked in the third dimension.
One thing that you have to note, however, is that when you created aliased images of each coil respectively,
performing SoS will be insufficient for removing aliasing artifacts that was introduced by the under-sampling.
To acquire a better result, refer to other more popular methods such as SENSE or GRAPPA
  2 Comments
EGEHAN DORUM
EGEHAN DORUM on 2 Jun 2020
Thanks for reply,
You are right my data consist of 2-dimensional images, corresponding 8 different receiver coils at this moment.
So, it means that the final data is in the form of 256x256x8 size.
I am still suffering from the main idea of SoS and SoS reconstruction. Why are we using and what does it mean to use it for a reconstruction process, what is its effect on the final image?
I can not answer these questions right now, because I could not understand the physics behind the SoS method. I would be grateful if you provide me some basic explanation for SoS.
Nguyen Chinh Nguyen
Nguyen Chinh Nguyen on 9 Nov 2020
Hello, I think there are 2 main points here, one is the absolute of each pixels and second one is root sum of squares combination.
The reason why we should take absolute of each pixels is that, in general, when you implement 2D-iFFT to get image for K-space, the type of reconstructed image is the complex double. Threrfore, if you square them, they are still complex number, sum of their squares of all coils at the same pixel position will create the pixel that can be darker and brighter. it is does not make sense.
For the root sum of squares, it think it is quite straightforward to understand.
I hope my explaination can help you understand better about SoS.
(^_^)

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!