As @rsmith mentioned, we should use the T1 for registration and not any of the 5tt outputs. I’m going through @martahedl’s excellent tutorial myself, and altered that portion of the pipeline as follows to get a good registration (using a T1_BET and a mean_bzero_BET).
#Create T1_raw.mif mrconvert ../T1/ T1_raw.mif #Run 5ttgen with -nocleanup option (so you have the T1_BET.nii.gz for registration) 5ttgen fsl T1_raw.mif 5tt_nocoreg.mif -nocleanup #Create mean bzero image and BET it #Visually check BET accuracy and tweak BET command if needed. dwiextract dwi_den_unr_preproc_unbiased.mif - -bzero | mrmath - mean mean_b0_preprocessed.mif -axis 3 mrconvert mean_b0_preprocessed.mif mean_b0_preprocessed.nii.gz bet mean_b0_preprocessed.nii.gz mean_b0_preprocessed_BET.nii.gz -c 47 49 30 -f 0.4 #Register mean_b0_preprocessed_BET with T1_BET (found inside 5ttgen temp folder) #Visually check accuracy and tweak flirt command if needed. flirt -in mean_b0_preprocessed_BET.nii.gz -ref 5ttgen-tmp-*/T1_BET.nii.gz -interp nearestneighbour -dof 6 -omat diff2struct_fsl.mat -out mean_b0_preprocessed_BET_regFSL.nii.gz -finesearch 5 #Convert FSL transform to MRTRIX transform transformconvert diff2struct_fsl.mat mean_b0_preprocessed_BET.nii.gz 5ttgen-tmp-*/T1_BET.nii.gz flirt_import diff2struct_mrtrix.txt #Apply (inverse) transform to the 5ttgen data mrtransform 5tt_nocoreg.mif -linear diff2struct_mrtrix.txt -inverse 5tt_coreg.mif