Inria-Empenn / Anima-Public

Open source software for medical image processing from the Empenn team
Other
37 stars 33 forks source link

T2 Relaxometry estimated curve #55

Open braincharter opened 5 years ago

braincharter commented 5 years ago

Hi, I've been trying to use the various tools for T2 relaxometry (animaMultiT2RelaxometryEstimation or animaT2RelaxometryEstimation), with a multi-echo GRE T2star acquisition (flip angle 17, 7 TE at starting at 4.88ms).

I was interested in having the M0 map given by "animaMultiT2RelaxometryEstimation" (because of the regularisation) and having a single T2 value per voxel to reconstruct the original decay curve per voxel (there is no option to output that?). The latter is giving me some trouble.. Is there an easy way to have that?

More specifically: 1- When I try to use animaMultiT2RelaxometryEstimation, I can output the cost function (is it like the last iteration computation of the cost function? What is that?), the B1 map, the M0 map (yes!), the MWF (in my case it doesn't work, it gives me a mask image with 1 everywhere), the T2 maps (per default 40, and I am not sure how to interpret that) and sadly no new estimated curve. So I relaunched the program with 1 compartment (to have one T2 value per voxel) which gives me a mask image with 1 everywhere. The M0 map (and cost image) is fine and greatly benefit from the regularization.

animaMultiT2RelaxometryEstimation -T 8 --patchNeighborhood 5 -s 1 -S 3 -w 0.1 -N -n 1 -e 4.88 --t2-flip 17 -c T2star_megre_COST.nii.gz --out-b1 T2star_megre_B1.nii.gz -o T2star_megre_MWF.nii.gz --out-m0 T2star_megre_M0.nii.gz -O T2star_megre_T2.nii.gz -l T2star_megre.nii.gz

Using multiple compartments, the first 3-4 maps has a ressemblance of gm-wm-csf weighting, with values between 0 and 1. When summing all compartment, I get the mask with "1" in it. So I assume those are weights?

2- Given my great success, I tried 'animaT2RelaxometryEstimation' just to maybe have a simpler T2 map. It results in crappy but somewhat more logical T2 values. I wonder why this one 'work' but not the one above with 1-compartment..

ocommowi commented 5 years ago

Hi,

Thanks for the feedback. It appears to me that your use of multi-T2 estimation is probably overkill, If you want to get a single T2 estimation per voxel, animaMultiT2Estimation is not the best one. This one is indeed inspired from the literature on multi-components T2 estimation (Layton et al and others) that provides as a result the weights of many components, each with a given T2, at each voxel. I refer you to Layton, MacKay or Prasloski papers to have a better description. In our implementation, there is thus as an output only those weights, the M0 map and MWF (which is a partial sum of the weights for T2 values up to 50 ms).

What you may be looking for is indeed animaT2RelaxometryEstimation. I have to mention that all these tools were designed for CPMG sequences, so not GRE T2star probably, so I don't know if the T2 values you will get are right (probably not in fact). The main reason for that one to work vs multi T2 with one T2 value is that in multi T2, the T2 value is not optimized, only its weight.

Hope this helps

astamm commented 1 year ago

@braincharter Hi. I am getting back at you to ask whether your issue is resolved or if there is anything I can do to help.