-
Notifications
You must be signed in to change notification settings - Fork 8
MRI: Iterative image reconstruction with data with various SNRs
Here are routines to reconstruct MR images using an iterative solver. The purpose is to reconstruct images based on data encoded by either spatially linear or nonlinear gradient fields, including PatLoc or O-space imaging.
Data:
Note: Please refer to the page for the range for k-space coordinates and the strength of spatial encoding magnetic fields (gradients).
This example reconstructs an image using a one-channel coil with a homogeneous sensitivity map. It samples data in a rectilinear Cartesian k-space with full sampling. Synthetic noise in the k-space is added to the encoded data.
We added the complex-valued noise following a normal distribution with unit variance to the encoded MRI data. The SNR in this example was arbitrarily set to 10.
%simulate noises based on a given SNR
noise=randn(size(ACC_enc))+sqrt(-1).*randn(size(ACC_enc));
noise_power=sum(abs(noise(:)).^2);
signal_power=sum(abs(ACC_enc(:)).^2);
noise=noise./sqrt(noise_power).*sqrt(signal_power)./SNR(snr_idx);
The image to be simulated (ground truth) is an axial slice of the brain. The reconstructed image shows a noisy image. These were shown in the following figure left and right.
figure;
imagesc(x); axis off image;
figure;
imagesc(Recon_opt); axis off image;

The history of the iterative reconstruction was shown below. The first reconstruction is already the final reconstruction: no much difference in the four iterative calculations.
