External Email - Use Caution        

Hi,

I was in the process of improving a pipeline running on the UKBB dataset, and 
encountered an unexpected behaviour that may be a bug or need clarifications.

Situation: We have a ~40k dataset where our pipeline was failing for ~6k 
subjects, likely due to our FLIRT call hitting a local minima during 
registration (brains were misoriented after the call).

flirt -ref "${mni_ref_brain}" -in "${IMG_brain}" -out "${T1_atlas}" -omat 
"${s2raff}"

As you can see, our original call used the default DOF, which is 12. So, I 
explored using a second/pre FLIRT call using a reduced DOF in order to 
re-orient the brain to a better starting position prior to using the  default12 
DOF call. I tried doing so with 6, where I saw significant improvements 
(something like 80-90% of the failing pipeline subjects were then registering 
correctly). Then, just because, I tried it with DOF 3, and saw an even better 
improvement (something like 97-98% of subjects now working correctly), despite 
1) me knowing that DOF 3 doesn't make sense for a 3D sample and 2) FLIRT 
throwing me an error stating this, and saying it was going to change it back to 
DOF 6.

This is a bit annoying for me, because I'd expect that if an incorrect call to 
DOF 3 is changed to DOF 6 correctly, then both calls should produce the same 
behaviour. Instead, I'm getting an improvement by using DOF 3 rather than 6, 
even though that doesn't make sense if the exception handling was done 
correctly. But I also kinda wouldn't want it (3->6) be done correctly if it 
means I'll get the lesser performance that I'm seeing with DOF 6.

I looked a little bit in the code, and could see from where the DOF 3->6 is 
handled (which is after setting the variables for both the 3 and 6 cases) how 
there might be some inconsistencies, but haven't really dug deep to see what 
exactly the difference would be.

I'm happy to provide more information as needed.

Here is my final call, which is providing me the best result (note that I also 
added a different cost function, but that was for my own additional 
improvements).

flirt -ref "${mni_ref_brain}" -in "${IMG_brain}" -omat "${rough_affine}" -dof 3 
-cost normcorr
flirt -ref "${mni_ref_brain}" -in "${IMG_brain}" -out "${T1_atlas}" -omat 
"${s2raff}" -init "${rough_affine}"

Best regards,

Mathieu

--
Mathieu Boudreau, PhD
Research Fellow | Montreal Heart Institute
Software Developer | qMRLab and AxonDeepSeg
Lead Editor | MRM 
Highlights<http://secure-web.cisco.com/1S3wMWDASJrA3h1upfshg0SY8osuDC46MdU2zveoOoZr0J4xaPeygK8lAHrrMpZbSQThMWCTnXg6ZP65n0GbLL_cNC7bSPvgfapnXiSNyfsZZtyVP3qwYSC9LAej1XgUTQkTXXOg2rQxWZVBA8Imj-a62WTWQRgWvQOw-gkq0MjzTLGH3z-GdvPGjQ7afNdcbvoWI5x28fVaViX33nk6HDeFt0qLXEi35lGjqBuXZC6N4sl1Qrhb3z4L3QZVsCXhzP__loDEjeim0X1TDaZW8pA/http%3A%2F%2Flinkedin.com%2Fcompany%2Fmrm-highlights%2F><https://secure-web.cisco.com/1O86gV8JQYi2w82a0_gCfL0dY9GYpFSjUCCtW5hMvluCDsYCilejwEmpidrd7NYU90viNjWSqJDuECqtG0-40JKPIM_cVil-a2u6i-R87FUUHXZYk5jk8iJWnhW3AKUnX9V7ybovsrhc9UVAALwl3IVw3oymYjwgRtMm9bvQW_dN_uU80qwGaOfHpLiS_X-If6TcswGHvOa7U8Yq_RSLFzM-QhAtmZirr515C_7yQYHy-wHLdamwGVaaM3tpdspgZz_jxYncyQQD7vW0UijKzBA/https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fmrm-highlights%2F>

_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer

Reply via email to