error estimation in T1mapping

2 views (last 30 days)
Giuseppe Anastasio
Giuseppe Anastasio on 15 Feb 2022
Edited: Brahmadev on 6 Feb 2024
Hi everyone,
I want to estimate the error with the classical error progation's formula in calculated T1 mapping from a MRI patient. I saved the confidence interval at 95% (IC95) in attached spagnoli_pre_contorno mat file, where there is also the patient's T1map (T1map in file) and IC95. In createFits there is the function and fit that I used to calculate T1map obtained from T1map=-TR/log(bmap). How can I obtain a map estimation of the T1map errors with this formula?
Thank for answers

Answers (1)

Brahmadev
Brahmadev on 6 Feb 2024
Edited: Brahmadev on 6 Feb 2024
The classical error propagation formula for a function f(x, y, z, ...) with uncertainties σx, σy, σz, ... in the independent variables x, y, z, ... is given by:
σ_f^2 = (∂f/∂x)^2 * σx^2 + (∂f/∂y)^2 * σy^2 + (∂f/∂z)^2 * σz^2 + ...
In your case, the function f is T1map. Since, T1 = TR/log(bmap), ∂f/∂x = ∂T/∂(bmap) = TR/(bmap*log(bmap)^2). We can calculate the error "errorMap" using this formula according to the following MATLAB code.
% Loading calues from the MAT-file
load('spagnoli_pre_contorno.mat', 'T1map', 'IC95', 'TR', 'bmap');
errorMap = zeros(size(T1map));
% Calculate the standard deviation from the CI95 assuming a normal distribution
% The standard deviation is approximately half the distance between the upper and lower CI bounds
sigma_T1map = (IC95(:,:,2) - IC95(:,:,1)) / 2;
% Loop over each pixel to calculate the error map
for i = 1:size(T1map, 1)
for j = 1:size(T1map, 2)
% Calculate the partial derivative ∂T1map/∂bmap
partialDerivative = TR/(bmap(i, j)*log(bmap(i,j))^2);
% Calculate the T1 error for the current pixel
errorMap(i,j) = sqrt(abs(partialDerivative)^2 * sigma_T1map(i,j)^2);
end
end
Hope this helps in resolving your query!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!