MRI 学习笔记,为了方便记录,序号和俎栋林老师、高家红老师编写的《核磁共振成像》一书的序号保持一致,方便翻书对照。
参考:
1、《Handbook of MRI Pulse Sequences》 ,MATT A. BERNSTEIN, KEVIN F. KING and XIAOHONG JOE ZHOU
2、《核磁共振成像——物理原理和方法》,俎栋林老师、高家红老师
目录
1)用phantom
函数生成头部模拟图
2)根据图像得到K空间
3)根据K空间恢复图像
4)图像平移
5)图像翻转
1)用phantom函数生成头部模拟图
Readout = 200;
[Image,~] = phantom('Modified Shepp-Logan',200);
figure;
imagesc(abs(Image));axis square;
title('Software head phantom')

2)根据图像得到K空间
Kspace =fftshift(fft2(ifftshift(Image)));
figure;
subplot(1,2,1);imagesc(abs(Kspace));axis square;
title('Simulated K-space')
subplot(1,2,2);plot(abs(Kspace));axis square;
title('Simulated K-space')

3)根据K空间恢复图像
I0 = fftshift(ifft2(ifftshift(Kspace)));
figure;imagesc(abs(I0));axis square;
title('2DFFT Reconstructed image')

4)图像平移
ShiftRead = 0;
ShiftPhase = 0.4;
Width = zeros(Readout,1);
for i=1:Readout
Width(i,1) = complex(cos(i*ShiftRead),-sin(i*ShiftRead));
end
Width = repmat(Width,1,Readout);
Height = zeros(1,Readout);
for i=1:Readout
Height(1,i) = complex(cos(i*ShiftPhase),sin(i*ShiftPhase));
end
Height = repmat(Height,Readout,1);
KspaceShift = Kspace .* Width.*Height;
ImgShift = fftshift(ifft2(ifftshift(KspaceShift)));
figure;
imagesc(abs(ImgShift));axis square;
title('Shift Image')

5)图像翻转
KspaceFlip = flip(Kspace);
ImgFlip = fftshift(ifft2(ifftshift(KspaceFlip)));
figure;
imagesc(abs(ImgFlip));axis square;
title('Flip Image')

网友评论