Add tfce

Bryan Guillaume requested to merge addTFCE into master

This MR adds the option to use TFCE inference.

I have benchmarked this against the SPM version using identical TFCE parameters and these matches for both the modified and classic SwE. Nevertheless, I have not benchmarked it when the user is specifying a voxel-wise design in fsl because this option does not exist in SPM. As the latter option have never really been benchmarked thoroughly in the fsl version, I would prefer to directly merge this MR and make a seperate MR correcting any kind of bugs potentially fond for the fsl voxel-wise design options when I will do a more thorough benchmark.

I would like to note that the default settings for TFCE are different from the SPM version of swe but matches those of randomise. I will add an issue to review this latter with @nichols in case we would like to harmonize things. In particular,

  • The TFCE delta parameter is always set to 0.1 in the SPM version (the user cannot alter this) while it is max(TFCE-score)/100.0 per default in the fsl version or it can be set by the user using the option --tfce_D <H>

  • In fsl, the TFCE connectivity parameter is set to 6 per default using the option -T or 26 using the option --T2. In SPM, it is set to 18 per default (I had to temporarily override this to set it to 6 for the benchmark). In FSL, the user can override it but not in SPM.

  • (The TFCE score in fsl) * (the TFCE delta) = (the TFCE score in SPM). This is not an issue per se because it is only a common multiplier scalar value across voxels and this does not affect the WB p-values. Nevertheless, I believe the SPM version makes more sense (because, to my optinion, the TFCE score should not scale with the value of TFCE delta) and maybe we would like to harmonize this or not.

Anyway, I do not believe that these are critical points and we can discuss this a bit later with @nichols.

Merge request reports