我正在学习如何使用MATLAB脚本进行意义上的MRI重建,其中一节如下:
% Form high-res brain image by combining the image data from all coil
% channels. This is done by multiplying each channel image elementwise by
% its complex conjugate, accumulating into the high-res image, and taking
% the square root of the result (since multplying by a complex conjugate
% results in obtaining the square of the real part)
for k = 1:nchannels
Image_E = Image_E + Img(:, :, k).*conj(Img(:, :, k));
end
Image_E = sqrt(Image_E);Img是一个256x256x8阵列,其中三维是由8个复杂的脑图像组成的“堆栈”。Image_E的每个像素是Img堆栈中8幅图像中相应像素的绝对值的1-2范数。
我怀疑有一种更有效的、矢量化的方法来实现上面执行的例程(也许使用arrayfun()),但是到目前为止还没有想到可靠的实现。
发布于 2014-09-20 19:09:12
如果你把复杂的共轭相乘,那么它和Real.^2+Img.^2是一样的,因此,一个更简单的方法是
Image_E=sqrt(sum(real(Img).^2+imag(Img).^2,3))https://stackoverflow.com/questions/25952208
复制相似问题