Tckgen hangs after: "waiting for completion of threads "source"..."

Dear MRtrix Experts

I am trying to run whole-brain ACT with dynamic seeding. For about 2/3 of my adult cohort (b=1000) it runs through without any problems. But for the remaining subjects, the tckgen command can’t finish after “waiting for completion of threads “source”…”. I tried to run it with number of threads = 0, however after 15 hours still nothing happend. Has anyone an idea what I could try next to make it work for my remaining subjects? Your help is much appreciated!

You can find more info below.

Thank you!
Anna

I am using the following tckgen version:
== tckgen 3.0_RC3-212-gf2ed89d8 ==
64 bit release version, built Aug 29 2019, using Eigen 3.2.92

My command was the following:
/home/fsl/mrtrix3/bin/tckgen -force -debug -info -act 5tt_regtodwi.mif -backtrack -seed_dynamic wmfod_norm.mif -select 10000000 wmfod_norm.mif tracks_10mio.tck

You can find the last part of my debugging output here:

....
.....
tckgen: [DEBUG] failed to find SH peak!
tckgen: [DEBUG] failed to find SH peak!
tckgen: [DEBUG] failed to find SH peak!
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 "wmfod_norm.mif"...
tckgen: [DEBUG] reading key/value file "wmfod_norm.mif"...
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "wmfod_norm.mif" opened with dimensions 112x112x60x45, voxel spacing 2x2x2x1, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "wmfod_norm.mif"...
tckgen: [DEBUG] file "wmfod_norm.mif" mapped at 0x7f9317ecb000, size 135475200 (read-only)
tckgen: [DEBUG] image "wmfod_norm.mif" loaded
tckgen: [DEBUG] image "wmfod_norm.mif" initialised with strides = [ 45 -5040 564480 1 ], start = 559440, using direct IO
tckgen: [INFO] opening image "5tt_regtodwi.mif"...
tckgen: [DEBUG] reading key/value file "5tt_regtodwi.mif"...
tckgen: [DEBUG] sanitising image information...
tckgen: [INFO] image "5tt_regtodwi.mif" opened with dimensions 112x112x60x5, voxel spacing 2x2x2x1, datatype Float32LE
tckgen: [DEBUG] memory-mapping file "5tt_regtodwi.mif"...
tckgen: [DEBUG] file "5tt_regtodwi.mif" mapped at 0x7f9453525000, size 15052800 (read-only)
tckgen: [DEBUG] image "5tt_regtodwi.mif" loaded
tckgen: [DEBUG] image "5tt_regtodwi.mif" initialised with strides = [ -1 112 12544 752640 ], start = 111, using direct IO
tckgen: [INFO] step size = 1 mm
tckgen: [INFO] maximum deviation angle = 45 deg
tckgen: [INFO] minimum radius of curvature = 1.9999999443449312 mm
tckgen: [INFO] iFOD2 internal step size = 0.333333343 mm
tckgen: [DEBUG] creating empty file "tracks_10mio.tck"
tckgen: [INFO] rejection sampling will use 7 directions with a ratio of 2.15373945 (predicted number of samples per step = 12.9595909)
tckgen: [DEBUG] initialising threads...
tckgen: [DEBUG] launching 64 threads "source"...
tckgen: [DEBUG] launching thread "pipe1"...
tckgen: [DEBUG] launching 64 threads "pipe2"...
tckgen: [DEBUG] launching thread "sink"...
tckgen: [DEBUG] waiting for completion of threads "source"...

1 Like

That’s quite an old version of MRtrix. This may be fixed in newer versions, if upgrading is an option for you…

Otherwise, I don’t know what the problem might be, but I would try to figure out what combination of parameters cause this. For instance try disabling dynamic seeding, and using a different seeding strategy, try disabling backtracking, or ACT, and maybe get a better idea of which of these might be the problem. Then check the related inputs to make sure they match expectations. e.g. is the image supplied for dynamic seeding correct? Is the 5TT image valid? Etc.

Hope this helps,
Donald

Hi Donald

Thanks a lot for your suggestions! Yes, I’ll first try different combinations and “worst case” I’ll upgrade the MRtrix version.

Thanks again,
Anna