T2 mapping vs T2-weighted imaging
T2 Mapping
The standard practice in clinical MRI is T2-weighted imaging (T2w), i.e. images in which the different tissues produce signals according to their T2 relaxation times. T2w images are considered qualitative, as they rely on differences in T2 relaxation of various tissues to provide contrast rather than actual quantitative tissue measurements, thus making their interpretation dependent on the observer. Meanwhile, T2 mapping is considered a quantitative technique, as it directly measures the T2 relaxation time of tissues by fitting multiple data points to a decay curve to calculate the T2 constant. The objective nature of T2 mapping makes it a promising technique for various applications in both clinical practice and research, including disease progression monitoring and the identification of novel biomarkers. Another advantage of T2 mapping is that it allows for consistent comparisons across different imaging protocols, thereby enhancing reproducibility and making it ideal for longitudinal and multi-institutional studies Cheng et al., 2012. Figure 3.1 shows several examples of T2w images acquired at different echo times, compared to the T2 map generated by fitting the decay curve.
Click here to view the qMRLab (MATLAB/Octave) code that generated Figure 3.1.
%% Requirements
% qMRLab must be installed: git clone https://www.github.com/qMRLab/qMRLab.git
% The mooc chapter branch must be checked out: git checkout mooc-03-T2
% qMRLab must be added to the path inside the MATLAB session: startup
% Define the model
Model = mono_t2;
% Load data into environment, and rotate mask to be aligned with IR data
data = struct;
data.SEdata = double(load_nii_data('../data/mono_t2/SEdata.nii.gz'));
data.Mask = double(load_nii_data('../data/mono_t2/Mask.nii.gz'));
% Define fitting parameters
EchoTime = [12.8000; 25.6000; 38.4000; 51.2000; 64.0000; 76.8000; 89.6000; 102.4000; 115.2000; 128.0000; 140.8000; 153.6000; 166.4000; 179.2000; 192.0000; 204.8000; 217.6000; 230.4000; 243.2000; 256.0000; 268.8000; 281.6000; 294.4000; 307.2000; 320.0000; 332.8000; 345.6000; 358.4000; 371.2000; 384.0000];
Model.Prot.SEdata.Mat = [ EchoTime ];
FitResults = FitData(data,Model,0);
% T2w MRI data at different TE values
TE_1 = imrotate(squeeze(data.SEdata(:,:,:,1).*data.Mask),-90);
TE_2 = imrotate(squeeze(data.SEdata(:,:,:,10).*data.Mask),-90);
TE_3 = imrotate(squeeze(data.SEdata(:,:,:,20).*data.Mask),-90);
TE_4 = imrotate(squeeze(data.SEdata(:,:,:,30).*data.Mask),-90);
% Extract the T2 map from FitResults and rotate it
T2_map = imrotate(squeeze(FitResults.T2.*data.Mask), -90);
% Plotting the images
figure;
subplot(2, 3, 1);
imagesc(TE_1);
colormap(gray);
colorbar;
axis image;
title('TE = 12.80 ms');
xlabel('X-axis');
ylabel('Y-axis');
caxis([0, 2500]);
subplot(2, 3, 2);
imagesc(TE_2);
colormap(gray);
colorbar;
axis image;
title('TE = 128.00 ms');
xlabel('X-axis');
ylabel('Y-axis');
caxis([0, 2500]);
subplot(2, 3, 3);
imagesc(TE_3);
colormap(gray);
colorbar;
axis image;
title('TE = 256.00 ms');
xlabel('X-axis');
ylabel('Y-axis');
caxis([0, 2500]);
subplot(2, 3, 4);
imagesc(TE_4);
T2_map = imrotate(squeeze(FitResults.T2.*data.Mask),-90);
colormap(gray);
colorbar;
axis image;
title('TE = 384.00 ms');
xlabel('X-axis');
ylabel('Y-axis');
caxis([0, 2500]);
subplot(2, 3, 5);
imagesc(T2_map);
colormap(gray);
colorbar;
axis image;
title('T2 map');
xlabel('X-axis');
ylabel('Y-axis');
caxis([80, 150]);
%% Export
EchoTimes = [EchoTime(1), EchoTime(10), EchoTime(20), EchoTime(30)]
save("T2w_vs_T2map.mat", "T2_map", "TE_1", "TE_2", "TE_3", "TE_4", "EchoTimes")
- Cheng, H.-L. M., Stikov, N., Ghugre, N. R., & Wright, G. A. (2012). Practical medical applications of quantitative MR relaxometry. J. Magn. Reson. Imaging, 36(4), 805–824.