-
Notifications
You must be signed in to change notification settings - Fork 7
MRI: compressed sensing
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.
Note: Please refer to the page for the range for k-space coordinates and the strength of spatial encoding magnetic fields (gradients).
This example uses the compressed sensing (CS) method to reconstruct an image using an eight-channel coil array with the 2x2-fold acceleration and relatively low SNR (10). Pratically, CS-MRI takes the L-1 norm of the sparse transformed (such as wavelet transform) image as the regularizer in the reconstruction to recover the "compressible" image with reduced measurements. The L-1 norm minimization is implemented by iteratively re-weighted least squares.
Examples here use a regularization parameter set to 1/10 of the largest singular value of the system matrix estimated by the power iteration method.
[recon_opt_id,recon_history_opt_id,error_opt_id, d1,d2,l1_history_id, R_history_id]=itdr6_core_ktraj_cg('n_freq',matrix{m_idx}(2),'n_phase',matrix{m_idx}(1),'Y',ACC_enc,'S',b1,'flag_display',1,'X0',zeros(size(x0)),'lambda',lambda_est./10,'K_general',K_general,'G_general',G_general,'iteration_max',20,'epsilon',1e-80,'sparse_tx','id','n_l1_iteration',10);
[recon_opt_cs,recon_history_opt_cs,error_opt_cs, d1,d2,l1_history_cs, R_history_cs]=itdr6_core_ktraj_cg('n_freq',matrix{m_idx}(2),'n_phase',matrix{m_idx}(1),'Y',ACC_enc,'S',b1,'flag_display',1,'X0',zeros(size(x0)),'lambda',lambda_est./10,'K_general',K_general,'G_general',G_general,'iteration_max',20,'epsilon',1e-80,'sparse_tx','cs','n_l1_iteration',10);
[recon_opt_del2,recon_history_opt_del2,error_opt_del2, d1,d2,l1_history_del2, R_history_del2]=itdr6_core_ktraj_cg('n_freq',matrix{m_idx}(2),'n_phase',matrix{m_idx}(1),'Y',ACC_enc,'S',b1,'flag_display',1,'X0',zeros(size(x0)),'lambda',lambda_est./10,'K_general',K_general,'G_general',G_general,'iteration_max',20,'epsilon',1e-80,'sparse_tx','del2','n_l1_iteration',10);
Here are images before the iteratively re-weighted least squares. Namely, they are images upon the convergence of typical time-domain MRI reconstructions. Four images from the left are reconstructions with identity matrix, wavelet transform, and discrete Laplacian as the sparse transformation, and the original image, respectively.
Here are images after the iteratively re-weighted least squares. All images are similar.
The animated image shows how reconstructions converge over the 10 iterations for the L1-norm minimization process. Each image is the converged reconstruction using the conjugated gradient algorithm. A (diagonal) source covariance matrix is then updated based on the current converged reconstruction for the next iteration. The wavelet transform was used as the sparse transformation. The small number at the upper-left corner indicates the iteration number.
Note: A truly compressible image (with sparse representation in a specific domain) is the key to have a nice result.