Hi, mrtrix3 experts,
I am currently dealing with the ISMRM tutorial - Structural connectome for Human Connectome Project (HCP). But I meet the problem when running dwi2response msmt_5tt DWI.mif 5TT.mif RF_WM.txt RF_GM.txt RF_CSF.txt -voxels RF_voxels.mif and is shown below:
dwi2response msmt_5tt DWI.mif 5TT.mif RF_WM.txt RF_GM.txt RF_CSF.txt -voxels RF_voxels.mif
dwi2response:
dwi2response: Note that this script makes use of commands / algorithms that have relevant articles for citation. Please consult the help page (-help option) for more information.
dwi2response:
dwi2response: Generated scratch directory: /media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-TOZOVE/
dwi2response: Importing DWI data (/media/D/zephyr/structural_connectivity/fiber/100307/DWI.mif)…
Command: mrconvert /media/D/zephyr/structural_connectivity/fiber/100307/5TT.mif /media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-TOZOVE/5tt.mif
dwi2response: Changing to scratch directory (/media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-TOZOVE/)
dwi2response: Computing brain mask (dwi2mask)…
Command: 5ttcheck 5tt.mif
Command: dwi2tensor dwi.mif - -mask mask.mif | tensor2metric - -fa fa.mif -vector vector.mif
Function: shutil.copy(‘vector.mif’, ‘dirs.mif’)
Command: mrtransform 5tt.mif 5tt_regrid.mif -template fa.mif -interp linear
Command: mrconvert 5tt_regrid.mif - -coord 3 2 -axes 0,1,2 | mrcalc - 0.95 -gt mask.mif -mult wm_mask.mif
Command: mrconvert 5tt_regrid.mif - -coord 3 0 -axes 0,1,2 | mrcalc - 0.95 -gt fa.mif 0.2 -lt -mult mask.mif -mult gm_mask.mif
Command: mrconvert 5tt_regrid.mif - -coord 3 3 -axes 0,1,2 | mrcalc - 0.95 -gt fa.mif 0.2 -lt -mult mask.mif -mult csf_mask.mif
dwi2response: Selecting WM single-fibre voxels using ‘tournier’ algorithm
Command: dwi2response tournier dwi.mif wm_ss_response.txt -mask wm_mask.mif -voxels wm_sf_mask.mif -scratch /media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-TOZOVE/
dwi2response: [ERROR] Error trying to calculate statistics from image ‘csf_mask.mif’.
But it is strange when I run this command in subject number like100206, it works. But in 100307, it failed.
And when I run all HCP subjiects, about half number of individuals failed and others works. Then I use dwi2response dhollander and find it works for subjects which fail in using msmt_5tt.
dwi2response dhollander DWI.mif RF_WM.txt RF_GM.txt RF_CSF.txt -voxels RF_voxels.mif
dwi2response:
dwi2response: Note that this script makes use of commands / algorithms that have relevant articles for citation. Please consult the help page (-help option) for more information.
dwi2response:
dwi2response: Generated scratch directory: /media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-81XBA3/
dwi2response: Importing DWI data (/media/D/zephyr/structural_connectivity/fiber/100307/DWI.mif)…
dwi2response: Changing to scratch directory (/media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-81XBA3/)
dwi2response: Computing brain mask (dwi2mask)…
dwi2response: -------
dwi2response: 4 unique b-value(s) detected: 5,998,1998,2996 with 18,90,90,90 volumes
dwi2response: -------
dwi2response: Preparation:
dwi2response: * Eroding brain mask by 3 pass(es)…
dwi2response: [ mask: 676596 → 570193 ]
dwi2response: * Computing signal decay metric (SDM):
dwi2response: * b=5…
dwi2response: * b=998…
dwi2response: * b=1998…
dwi2response: * b=2996…
dwi2response: * Removing erroneous voxels from mask and correcting SDM…
dwi2response: [ mask: 570193 → 570174 ]
dwi2response: -------
dwi2response: Crude segmentation:
dwi2response: * Crude WM versus GM-CSF separation (at FA=0.2)…
dwi2response: [ 570174 → 330181 (WM) & 239993 (GM-CSF) ]
dwi2response: * Crude GM versus CSF separation…
dwi2response: [ 239993 → 195205 (GM) & 44788 (CSF) ]
dwi2response: -------
dwi2response: Refined segmentation:
dwi2response: * Refining WM…
dwi2response: [ WM: 330181 → 310414 ]
dwi2response: * Refining GM…
dwi2response: [ GM: 195205 → 136129 ]
dwi2response: * Refining CSF…
dwi2response: [ CSF: 44788 → 17981 ]
dwi2response: -------
dwi2response: Final voxel selection and response function estimation:
dwi2response: * CSF:
dwi2response: * Selecting final voxels (10.0% of refined CSF)…
dwi2response: [ CSF: 17981 → 1798 ]
dwi2response: * Estimating response function…
dwi2response: * GM:
dwi2response: * Selecting final voxels (2.0% of refined GM)…
dwi2response: [ GM: 136129 → 2723 ]
dwi2response: * Estimating response function…
dwi2response: * Single-fibre WM:
dwi2response: * Selecting final voxels (0.5% of refined WM)…
dwi2response: Selecting WM single-fibre voxels using built-in (Dhollander et al., 2019) algorithm
dwi2response: [ WM: 310414 → 1552 (single-fibre) ]
dwi2response: * Estimating response function…
dwi2response: -------
dwi2response: Generating outputs…
dwi2response: -------
dwi2response: Changing back to original directory (/media/D/zephyr/structural_connectivity/fiber/100307)
dwi2response: Deleting scratch directory (/media/D/zephyr/structural_connectivity/fiber/100307/dwi2response-tmp-81XBA3/)
I wonder what is the reason for these and if I use two kinds of algorithms, will it reasonably?
Thanks ,
Zephyr