Dear MRTrix community,
I am running Mac OS BigSur 11.2.3, Processor 2.4 GHz 8-Core Intel Core i9, 64GB Memory, AMD Radeon Graphics 8GB memory. I am running MRTrix 3 and also installed 3Tissue v5.2.9.
My dataset is a single-shell 1 b = 0 volume with 64 b = 1000 volumes.
I am trying to run tractography using trackgen for a single subject with the following command:
tckgen -act 5TT.nii -backtrack -seed_dynamic fod_ss3t_wm.mif -select 500000 -maxlength 300 -cutoff 0.06 fod_ss3t_wm.mif 500K.tck -info -debug -force
The 5TT image was generated from 5ttgen fsl.
The WM fod was generated using ss3t_csd_beta1 from DWI data which had undergone the following preprocessing steps:
dwidenoise → dering → eddy → N4 bias field corrected using ANTS. As I do not have reverse blip encoded b0 images, I am not able to do TOPUP for EPI correction.
I encounter the following error:
tckgen: [DEBUG] No config file found at "/etc/mrtrix.conf"
tckgen: [DEBUG] No config file found at "/Users/yizhouwan/.mrtrix.conf"
tckgen: [INFO] opening image "fod_ss3t_wm.mif"...
tckgen: [DEBUG] reading key/value file "fod_ss3t_wm.mif"...
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "fod_ss3t_wm.mif" opened with dimensions 256x256x35x45, voxel spacing 0.9375x0.9375x3.0001199999999999x8, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "fod_ss3t_wm.mif"...
tckgen: [DEBUG] file "fod_ss3t_wm.mif" mapped at 0x118675000, size 412876800 (read-only)
tckgen: [DEBUG] image "fod_ss3t_wm.mif" loaded
tckgen: [DEBUG] image "fod_ss3t_wm.mif" initialised with strides = [ -45 11520 2949120 1 ], start = 11475, using direct IO
tckgen: [DEBUG] sanitising image information...
tckgen: [DEBUG] allocating scratch buffer for image "fixel map voxels"...
tckgen: [DEBUG] image "fixel map voxels" loaded
tckgen: [DEBUG] image "fixel map voxels" initialised with strides = [ -1 256 65536 ], start = 255, using direct IO
tckgen: [DEBUG] sanitising image information...
tckgen: [DEBUG] allocating scratch buffer for image "SIFT model processing mask"...
tckgen: [DEBUG] image "SIFT model processing mask" loaded
tckgen: [DEBUG] image "SIFT model processing mask" initialised with strides = [ -1 256 65536 ], start = 255, using direct IO
tckgen: [INFO] opening image "T1C2diff_5tt.nii"...
tckgen: [DEBUG] memory-mapping file "T1C2diff_5tt.nii"...
tckgen: [DEBUG] file "T1C2diff_5tt.nii" mapped at 0x109d43000, size 45875552 (read-only)
tckgen: [DEBUG] transforms_match: FOV difference in scanner coordinates: 8.3456744645517243e-06
tckgen: [DEBUG] unmapping file "T1C2diff_5tt.nii"
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "T1C2diff_5tt.nii" opened with dimensions 256x256x35x5, voxel spacing 0.9375x0.9375x3.0001199245452881xnan, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "T1C2diff_5tt.nii"...
tckgen: [DEBUG] file "T1C2diff_5tt.nii" mapped at 0x109d43000, size 45875200 (read-only)
tckgen: [DEBUG] image "T1C2diff_5tt.nii" loaded
tckgen: [DEBUG] image "T1C2diff_5tt.nii" initialised with strides = [ 1 256 65536 2293760 ], start = 0, using direct IO
tckgen: [DEBUG] sanitising image information...
tckgen: [DEBUG] allocating scratch buffer for image "5TT scratch buffer"...
tckgen: [DEBUG] image "5TT scratch buffer" loaded
tckgen: [DEBUG] image "5TT scratch buffer" initialised with strides = [ -5 1280 327680 1 ], start = 1275, using direct IO
tckgen: [INFO] 5TT image dimensions match fixel image - importing directly
tckgen: [DEBUG] unmapping file "T1C2diff_5tt.nii"
tckgen: [DEBUG] image "T1C2diff_5tt.nii" unloaded
tckgen: [INFO] opening image "T1C2diff_5tt.nii"...
tckgen: [DEBUG] memory-mapping file "T1C2diff_5tt.nii"...
tckgen: [DEBUG] file "T1C2diff_5tt.nii" mapped at 0x10c904000, size 45875552 (read-only)
tckgen: [DEBUG] transforms_match: FOV difference in scanner coordinates: 8.3456744645517243e-06
tckgen: [DEBUG] unmapping file "T1C2diff_5tt.nii"
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "T1C2diff_5tt.nii" opened with dimensions 256x256x35x5, voxel spacing 0.9375x0.9375x3.0001199245452881xnan, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "T1C2diff_5tt.nii"...
tckgen: [DEBUG] file "T1C2diff_5tt.nii" mapped at 0x10c904000, size 45875200 (read-only)
tckgen: [DEBUG] image "T1C2diff_5tt.nii" loaded
tckgen: [DEBUG] image "T1C2diff_5tt.nii" initialised with strides = [ 1 256 65536 2293760 ], start = 0, using direct IO
tckgen: [DEBUG] initialising threads...
tckgen: [DEBUG] launching thread "source"...
tckgen: [DEBUG] launching 16 threads "pipe"...
tckgen: [DEBUG] launching thread "sink"...
tckgen: [ 1%] segmenting FODs...
tckgen: [DEBUG] waiting for completion of thread "source"...
tckgen: [100%] segmenting FODs...
tckgen: [DEBUG] no writers left on queue "source->pipe"
tckgen: [DEBUG] thread "source" completed OK
tckgen: [DEBUG] waiting for completion of threads "pipe"...
tckgen: [DEBUG] no writers left on queue "pipe->sink"
tckgen: [DEBUG] no readers left on queue "source->pipe"
tckgen: [DEBUG] threads "pipe" completed OK
tckgen: [DEBUG] waiting for completion of thread "sink"...
tckgen: [DEBUG] no readers left on queue "pipe->sink"
tckgen: [DEBUG] thread "sink" completed OK
tckgen: [100%] segmenting FODs
tckgen: [INFO] opening image "fod_ss3t_wm.mif"...
tckgen: [DEBUG] reading key/value file "fod_ss3t_wm.mif"...
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "fod_ss3t_wm.mif" opened with dimensions 256x256x35x45, voxel spacing 0.9375x0.9375x3.0001199999999999x8, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "fod_ss3t_wm.mif"...
tckgen: [DEBUG] file "fod_ss3t_wm.mif" mapped at 0x131037000, size 412876800 (read-only)
tckgen: [DEBUG] image "fod_ss3t_wm.mif" loaded
tckgen: [DEBUG] image "fod_ss3t_wm.mif" initialised with strides = [ -45 11520 2949120 1 ], start = 11475, using direct IO
tckgen: [INFO] opening image "T1C2diff_5tt.nii"...
tckgen: [DEBUG] memory-mapping file "T1C2diff_5tt.nii"...
tckgen: [DEBUG] file "T1C2diff_5tt.nii" mapped at 0x10f4c5000, size 45875552 (read-only)
tckgen: [DEBUG] transforms_match: FOV difference in scanner coordinates: 8.3456744645517243e-06
tckgen: [DEBUG] unmapping file "T1C2diff_5tt.nii"
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "T1C2diff_5tt.nii" opened with dimensions 256x256x35x5, voxel spacing 0.9375x0.9375x3.0001199245452881xnan, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "T1C2diff_5tt.nii"...
tckgen: [DEBUG] file "T1C2diff_5tt.nii" mapped at 0x10f4c5000, size 45875200 (read-only)
tckgen: [DEBUG] image "T1C2diff_5tt.nii" loaded
tckgen: [DEBUG] image "T1C2diff_5tt.nii" initialised with strides = [ 1 256 65536 2293760 ], start = 0, using direct IO
tckgen: [INFO] iFOD2 using 3 vertices per nanmm step
tckgen: [INFO] step size = 0.690765142 mm
tckgen: [INFO] maximum angular change in fibre orientation per step = 28.9550228 deg
tckgen: [INFO] Minimum radius of curvature = 1.38153028mm
tckgen: [DEBUG] For tracking step size 0.690765142mm, max change in fibre orientation angle per step 28.955 deg (using RK4), minimum radius of curvature 1.38153mm, downsampling ratio 3: minimum length of 2.76306057mm requires at least 5 vertices pre-DS, is tested explicitly for 8 vertices or less post-DS; maximum length of 300mm will stop tracking after 1306 vertices pre-DS, is tested explicitly for 435 or more vertices post-DS
tckgen: [DEBUG] creating empty file "500K.tck"
tckgen: [INFO] file "500K.tck" already exists - removing
tckgen: [INFO] rejection sampling will use 7 directions with a ratio of 1.24900711 (predicted number of samples per step = 8.75956059)
tckgen: [DEBUG] initialising threads...
tckgen: [DEBUG] launching 16 threads "source"...
**tckgen: [SYSTEM FATAL CODE: SIGSEGV (11)] Segmentation fault: Invalid memory access**
I am aware that other users may have encountered this error before but I am not able to find a solution.
Any help would be greatly appreciated.
Many thanks!