FD and FC header transformations of input images do not match

Hi MRtrix3 users:

I followed the steps for FBA [https://mrtrix.readthedocs.io/en/latest/fixel_based_analysis/mt_fibre_density_cross-section.html] and calculated FDC using mrcalc on FD and FC.

I got the warnings of “header transformations of input images do not match” between FD and FC images.
I have noticed that FD and FC do not have the same transformations. Aren’t they supposed to have the transformations?
Should this be worrisome or can be ignored?

Thanks.

Ping

No, I don’t think that’s supposed to happen… But I don’t think it’s necessarily problematic as long as it’s a warning only. The transformation information in these images is normally ignored, only the dimensions of the data count.

Can you post the output of mrinfo on both your FD & FC images?

Hi Donald,
Thank you for the reply. Here are the examples of FD and FC header info from the same subject,

mrinfo $out_dir/template/${averageresponse}_fd/${subject}_${averageresponse}_fd.mif 
************************************************
Image name:          "/data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fd/NCNC5316_averageblipupdown_289_fd.mif"
************************************************
  Dimensions:        517048 x 1 x 1
  Voxel size:        1 x 1 x 1
  Data strides:      [ -1 2 3 ]
  Format:            MRtrix
  Data type:         32 bit float (little endian)
  Intensity scaling: offset = 0, multiplier = 1
  Transform:                    1           0           0      -77.58
                                0           1           0      -117.3
                                0           0           1      -96.43
  command_history:   mrconvert "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/ncnc_1690_DRBUDDI_final_bias.nii.gz" "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/DWI.mif" "-fslgrad" "/data/NEURO2/PIPELINE/TBI/subject_1690/session_02/04_preproc/mri/dti/dti_preprocess_blip/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc/ncnc_1690_DRBUDDI_final_inv_xy.bvecs" "/data/NEURO2/PIPELINE/TBI/subject_1690/session_02/04_preproc/mri/dti/dti_preprocess_blip/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc/ncnc_1690_DRBUDDI_final.bvals" "-datatype" "float32" "-stride" "0,0,0,1" "-force"  (version=3.0_RC3-166-gcac05b6f)
  [41 entries]       dwiextract "-shells" "0,1000,2000,3000" "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/DWI.mif" "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/DWI_3shells_plusb0.mif" "-force"  (version=3.0_RC3-166-gcac05b6f)
                     ...
                     fod2fixel -mask /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_template_mask.mif -fmls_peak_value 0.18 /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_wmfod_template.mif /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fixel_mask_peak0.18 -force  (version=3.0.0)
                     fixelcorrespondence /data/NEURO2/ping/MUX_pipeline/NCNC5316/ncnc_5316_dwi_up_dwi_dn_DRBUDDI_proc_LPS/averageblipupdown_289_fixel_in_template_space/NCNC5316_averageblipupdown_289_fd.mif /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fixel_mask /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fd NCNC5316_averageblipupdown_289_pre.mif -force  (version=3.0.0)
  comments:          5.0.10
                     regridded to template image "linear_template10.mif"
  lognorm_scale:     0.715606213
  mrtrix_version:    3.0.0
  prior_dw_scheme:   0,0,0,0
  [289 entries]      0.6097060825,-0.3658470515,0.7031460929,2995.799976
                     ...
                     0.7262080403,0.2887570201,0.6238920303,1999.289998
                     0.7439238499,0.4177949099,0.5215598899,999.6800003

FC header info

mrinfo $out_dir/template/${averageresponse}_fc/${subject}_${averageresponse}_fc.mif 
************************************************
Image name:          "/data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fc/NCNC5316_averageblipupdown_289_fc.mif"
************************************************
  Dimensions:        517048 x 1 x 1
  Voxel size:        1 x 1 x 1
  Data strides:      [ 1 2 3 ]
  Format:            MRtrix
  Data type:         32 bit float (little endian)
  Intensity scaling: offset = 0, multiplier = 1
  Transform:                    1           0           0           0
                                0           1           0           0
                                0           0           1           0
  command_history:   mrconvert "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/ncnc_1690_DRBUDDI_final_bias.nii.gz" "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/DWI.mif" "-fslgrad" "/data/NEURO2/PIPELINE/TBI/subject_1690/session_02/04_preproc/mri/dti/dti_preprocess_blip/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc/ncnc_1690_DRBUDDI_final_inv_xy.bvecs" "/data/NEURO2/PIPELINE/TBI/subject_1690/session_02/04_preproc/mri/dti/dti_preprocess_blip/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc/ncnc_1690_DRBUDDI_final.bvals" "-datatype" "float32" "-stride" "0,0,0,1" "-force"  (version=3.0_RC3-166-gcac05b6f)
  [41 entries]       dwiextract "-shells" "0,1000,2000,3000" "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/DWI.mif" "/data/NEURO2/ping/MUX_pipeline/NCNC1690_2/ncnc_1690_dwi_up_dwi_dn_DRBUDDI_proc_LPS/DWI_3shells_plusb0.mif" "-force"  (version=3.0_RC3-166-gcac05b6f)
                     ...
                     fod2fixel -mask /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_template_mask.mif -fmls_peak_value 0.18 /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_wmfod_template.mif /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fixel_mask_peak0.18 -force  (version=3.0.0)
                     warp2metric /data/NEURO2/ping/MUX_pipeline/NCNC5316/ncnc_5316_dwi_up_dwi_dn_DRBUDDI_proc_LPS/NCNC53162averageblipupdown_289_wmfodtemplate_warp.mif -fc /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fixel_mask /data/NEURO2/ping/MUX_pipeline/template/averageblipupdown_289_fc NCNC5316_averageblipupdown_289_fc.mif -force  (version=3.0.0)
  comments:          5.0.10
                     regridded to template image "linear_template10.mif"
  lognorm_scale:     0.715606213
  mrtrix_version:    3.0.0
  nfixels:           517048
  prior_dw_scheme:   0,0,0,0
  [289 entries]      0.6097060825,-0.3658470515,0.7031460929,2995.799976
                     ...
                     0.7262080403,0.2887570201,0.6238920303,1999.289998
                     0.7439238499,0.4177949099,0.5215598899,999.6800003

Ping

Hi Ping,

I don’t suppose that you happened to update to MRtrix3 version 3.0.0 in between the fod2fixel and warp2metric steps? :crossed_fingers: :exploding_head:

I made a subtle change in 3.0.0 where fixel data files are filled with the identity affine transform, rather than the transform of the voxel image from which the fixels were first derived. In these “images”, the 3D affine transformation has no meaning whatsoever, and as such I felt that any spatial information that is present should be “default” rather than falsely informative. (Indeed if I had the time, I’d prefer that fixel data files not even contain a transformation / voxel size…)

If that wasn’t the cause, then it would seem as though the identity transform is being applied through some code paths but not others, in which case I’d need to trace down exactly where in the processing pipeline the discrepancy is arising from.

In any case, that specific warning can indeed be ignored.

Cheers
Rob

Hi Rob,

I’ve upgraded MRtrix3 in one of the computers from 3.0.0 to the latest version. Maybe that was what it caused?

Anyhow, it’s a relief to know that specific waring can be ignored.

Thanks.

Ping

Dear Mrtrix experts,

The same happened to me.
In a particular subject the transformation matrix of FD is:

  Transform:                    1    0.001791    0.000965      -95.83
                          -0.0016      0.9853     -0.1707      -77.96
                        -0.001256      0.1707      0.9853      -96.17

In the same subject the transformation matrix of FC is:

  Transform:                    1           0           0           0
                                0           1           0           0
                                0           0           1           0

The only thing I find in common with @pinghongyeh is that the initial steps are done with a version of mrtrix and we the last ones with another.

In my case, I followed the FBA multishell pipeline. Up to intensity normalisation (step8), I used version=3.0_RC3-157-gf74685cd. After I used version=3.0.3.

In @pinghongyeh’s case the command history shows that at least dwi_extrac was done with version=3.0_RC3-166-gcac05b6fand from fod2fixel command on, version=3.0.0 is used.

Could you please confirm that this is not a problem?

Thank you in advance!

Like Rob said:

Any mismatch is inconsequential since this information is not meaningful anyway, and ignored in any FBA pipeline.

Thank you!