FBA post-statistical-inference tricks

Expressing the effect size relative to controls

Fibre Density (FD), and Fibre Density & Cross-section (FDC)

The apparent Fibre Density (FD) and Fibre Density and Cross-section (FDC) are relative measures and have arbitrary units. Therefore the units of image abs_effect.mif output from fixelcfestats are not directly interpretable. In a basic patient-control group comparison, one way to present results is to calculate, from the absolute effect size, a percentage effect size relative to the control group mean:

(%_effect_relative_to_control) = ((Patent_mean) - (Control_mean)) / (Control_mean)

Once the requisite quantities are obtained, the percentage effect can be calculated using a command call such as the following:

$ mrcalc patient_mean.mif control_mean.mif -sub control_mean.mif -div 100 -mult percentage_effect.mif

How this can be done depends somewhat on the processing steps that were performed prior to fixelcfestats, and/or how the influence of nuisance variables will affect the calculation:

  • If the subject fixel data files are smoothed manually using the fixelfilter command prior to running fixelcfestats, then the mean values of FD and/or FDC for the patient & control groups can be calculated directly simply by using the mrmath command with appropriate inputs and the mean operator to calculate the mean value of the metric in each fixel for the two groups.

  • If fixelcfestats is provided with a whole-brain tractogram, and therefore performs smoothing of the fixel data internally, then it is still possible to compute the percentage effect size, as the relevant group means can be extracted based on the beta coefficients generated by fitting the GLM. Note that unlike the first case these values may be influenced by the presence of nuisance variables in the design matrix; specifically if the mean values of any nuisance variables for the two groups are not identical.

    The mapping from GLM beta coefficients to group means however depends on the contents of the GLM design matrix. The two most common approaches for a basic group difference hypothesis are:

    1. Global intercept & group difference:

      1  1  #
      1  1  #
      1  1  #
      1  1  #
      1 -1  #       
      1 -1  #
      0  1  0
      • The first column (index 0) is the “global intercept”: The value of the observed variable (e.g. FD, FDC) when all other explanatory variables are zero. If all nuisance variables are demeaned, this becomes the predicted value for an unobserved subject for which the “group” is unknown (see below).

      • The second column (index 1) is the “group” variable, with “1” indicating control and “-1” indicating patient. The value of this beta coefficient is the magnitude of the difference between the control group mean, and the predicted value for an unobserved subject for which the “group” is unknown (and is therefore given a value of 0 for this variable); it is equivalently the magnitude of the difference between this predicted value and the patient group mean. The value stored in this image is therefore half the difference between the two groups.

    Therefore, in this case, the patient mean is (beta0 - beta1), and the control mean is (beta0 + beta1). These values can be computed for each fixel via the mrcalc command prior to calculation of the percentage effect size. Note that in this use case, images beta1.mif and abs_effect.mif are identical and hence interchangeable.

    1. Individual group mean variables

      1  0  #
      1  0  #
      1  0  #
      1  0  #
      0  1  #       
      0  1  #
      1 -1  0

      In this design, the first column (index 0) regresses the mean value of the control group, while the second column (index 1) regresses the mean value of the patient group. Image beta0.mif can therefore be used directly as the control mean, while the difference between the two means, (beta0 - beta1), is in fact precisely what is quantified as the “absolute effect” in the file abs_effect.mif generated by fixelcfestats. The calculation of the percentage effect could therefore be simplified to the following in this case:

$ mrcalc abs_effect.mif beta0.mif -div 100 -mult percentage_effect.mif

Fibre Cross-section (FC)

Because the Fibre Cross-section (FC) measure is a scale factor it is slightly more complicated to compute the percentage effect. The FC ratio between two subjects (or groups) tells us the direct scale factor between them.

For example: for a given fixel, if the patient group mean FC is 0.7, and control mean is 1.4, then this implies encompassing fibre tract in the patients is half as big as the controls: 0.7/1.4 = 0.5. I.e. This is a 50% reduction w.r.t. the controls: 1 - (FC_patients/FC_controls)

Because in FBA it is in fact the value log(FC) on which statistical inference is performed, the absolute effect image that is output from fixelcfestats is:

abs_effect = log(FC_controls) - log(FC_patients)
           = log(FC_controls/FC_patients). 

Therefore to get the percentage effect we need to perform 1 - 1/exp(abs_effect):

mrcalc 1 1 abs_effect.mif -exp -div -sub percentage_effect.mif

Displaying statistical inference results using streamlines

Fixels rendered directly as lines using the fixel plot tool of mrview are appropriate for viewing 2D slices. However, to better appreciate all fibre pathways affected and to visualise the full extent of the results in 3D, it’s also possible to use a visualisation based on the whole-brain template-derived tractogram [Raffelt2017].

Firstly, use tckedit to reduce the whole-brain template tractogram to a sensible number of streamlines (the default 2 million streamlines for CFE is quite a lot for certain graphics cards to render smoothly). This step assumes you have the same folder structure and filenames from the FBA tutorials in the MRtrix3 documentation. From the template directory:

$ tckedit tracks_2_million_sift.tck -num 200000 tracks_200k_sift.tck

For each streamline vertex, obtain the relevant value stored in an underlying fixel data file, and store the results in a “track scalar file”. In this example this is done for both the FWE p-values, the absolute effect size, and the previously calculated :

$ fixel2tsf stats_fdc/fwe_1mpvalue.mif tracks_200k_sift.tck fdc_fwe_1mpvalue.tsf
$ fixel2tsf stats_fdc/abs_effect_size.mif tracks_200k_sift.tck fdc_abs_effect_size.tsf
$ fixel2tsf stats_fdc/percentage_effect.mif tracks_200k_sift.tck fdc_percentage_effect_size.tsf

For particularly the p-value image, it can be beneficial to apply some streamlines-based smoothing to the resulting data, in order for the appearance / disappearance of streamline vertices to not precisely conform to the originating voxel grid:

$ tsfsmooth fdc_fwe_1mpvalue.tsf fdc_fwe_1mpvalue_smooth.tsf

Visualise track scalar files using the tractogram tool in mrview:

  • Load the streamlines (tracks_200k_sift.tck) in the Tractography tool;

  • Right click the tractogram in the Tractography tool, and select “colour by (track) scalar file” - for example, you might load the abs_effect_size.tsf file.

  • To apply a p-value threshold to control which streamline vertices are displayed and which are not, select the “Thresholds” combobox control, select “Separate scalar file”, and load file fwe_1mpvalue.tsf.

  • Deselect the “Crop to slab” checkbox in the Tractography tool to show all significantly affected pathways in the template brain volume.

Note that it is also possible to threshold and view all brain fixels in the 3D volume, by deselecting “crop to slice” in the fixel plot tool. However it can be harder to appreciate the specific pathways affected when using this technique, due to the fixels being defined on the regular image voxel lattice. Conversely, the downside to viewing and colouring results by streamlines, then viewing all streamlines at once (uncropped to slice), is that in the absence of transparency you only see the colours on the outer periphery of the significant pathways, whereas typically the greatest effect sizes / smallest p-values are in the ‘core’ of the affected fibre pathways.

Good examples of both fixel as well as streamline visualisations of FBA results can be found in [Mito2018a].

A post was split to a new topic: Interpretation of FBA non-group-comparison absolute effect size

And I assume then, given you’ve outlined the methods to obtain the very useful “percentage_effect.mif” then this could be added to the list of subsequent commands to calculate a track scalar file.

$ fixel2tsf stats_fdc/percentage_effect.mif tracks_200k_sift.tck fdc_percentage_effect_size.tsf

Correct @phmag; thanks. I also noticed that the TSF smoothing step was missing for the p-value data, which can make the streamlines look a bit ugly.