我有一个来自 < mridata.org > 的 MRI K 空间数据 320 x 320 x 256 x 8(4D 复数双精度)。数据代表来自 8 个通道的 256 个切片的 320 x 320 K 空间。我正在尝试为每个切片重建图像。这是我试过的matlab代码:
% Version - 1
kspacedata= kspacefile.kdata;
imRef = ifftshift(ifftn(kspacedata));
imSOS = squeeze(sqrt(sum( abs(imRef).^2, 4))); % sum-of-squares to combine all channels
% Version - 2
kspaceSlicedata = kspacedata(:,:,100,:);
imSliceRef = ifftshift(ifftn(kspaceSlicedata));
imSliceSOS = squeeze(sqrt(sum(abs(imSliceRef).^2, 4))); % sum-of-squares to combine all channels
% Plotting
figure;
subplot(1,2,1); imagesc(imSOS(:,:,100));title('Version - 1');axis image; colormap(gray);
subplot(1,2,2); imagesc(imSliceSOS);title('Version - 2');axis image; colormap(gray);
在版本 - 1 中,我对整个 kspace 数据进行逆变换,并绘制对应于切片 100 的图像数据。在版本 - 2 中,我取对应于切片 100 的 kspace 数据,并对这个 kspace 进行逆变换并绘制图像数据。这是我获得的输出图像。
我认为两个版本都会以相同的方式重建。但图像看起来不同。如何获取一个切片对应的kspace数据并进行逆变换来重建切片图像?
谢谢。
