Outcome streamlines vary too much across participants

Dear Mrtrix experts,

I am trying to run tractography using Mrtrix3 from cerebellum deep nuclei to contralateral thalamus.

I have 2 following questions:

  1. Whether ACT was used or not, the outcomes were too much variable across participants. I ran exactly the same script for all participants. The ROIs (after the registration) have been visually checked for any anomalies. Would it be possible to give some advise?

  2. This is computer specifications which I used in my analysis: image
    Is it usual to take around 7 hours when I run tractography using -act option? Without the -act option it only took 30 minutes. By looking at my results using -act option seems to be more anatomically reasonable…

I am working with a DTI study with the following parameters:

  • b=1000 s/mm2
  • 64 directions acquired
  • voxel size: 1.875 x 1.875 x 3.5

I am a beginner in this software, so I have performed eddy current correction and bet using FSL. Then I have performed mrconvert to convert into mif file, then dwi2response tournier and dwi2fod csd was done to get fod map. and 5TT image was created with original T1 image using 5ttgen and transformconvert with mrtransform was used to register into diffusion space.

Here is tckgen command I used : tckgen fod.mif output.tck -act 5TTimage -backtrack -crop_at_gmwmi -select 200000 -step 0.375 -cutoff 0.15 -angle 10 -seed_image Left_cerebellar_deep_nuclei -include Right_thalamus

However, only poor number of streamlines were found so I added -max_attempts_per_seed 15000 option to get more number of streamlines. (this process took 7 hours using 12 core cpu)
image

I found that streamline number varies a lot within the subjects.

So I ran without using 5TT image : tckgen fod.mif output.tck -select 5000 -seed_direction 0,1,1 -seed_unidirectional -step 0.375 -cutoff 0.15 -angle 10 -seed_image Left_cerebellar_deep_nuclei -include Right_thalamus
image

I still found varying streamline number for each subjects.

What is the problem here? why do I get completely different number of streamlines for each subjects? Is there something which I can change to improve my final .tck file with even number of streamlines?

Any comments would very much be appreciated.

Thank you,
Best regards,

Jeehyung

That’s a hard tractography experiment - you’re trying to cross through the decussations of the superior cerebellar peduncles, which is a very messy area. It’s no surprise that you’re having difficulties in this region, and also no surprise that you find the results highly variable across subjects - it’ll be very sensitive to the exact geometry of this region for each subject, and how that interacts with your acquisition protocol, as well as other artefacts such as pulsation artefacts (very common around the 4th ventricle - right in the area you’re tracking through) and subject motion.

Yes, ACT does quite a bit more work to ensure that the track terminates at reasonable locations, and involves throwing out those streamlines not deemed plausible. So that means a lot more tracking for a given number of output streamlines - especially if the tract you’re trying to delineate is itself prone to implausible streamlines, which is the case here (I’m guessing a large number of streamlines will terminate in CSF regions or in the middle of messy crossing regions, so will be thrown out by ACT). But the end result, as you’ve observed, is a more plausible delineation…

Unfortunately, that’s not as optimal as it could be: the b-value is a bit low to resolve crossings, and you absolutely need to be able to resolve crossings if you’re to track through the decussations successfully. Ideally, you’d be using a b-value around 2,500 - 3000 s/mm². Also, your voxels are highly anisotropic, which may complicate the tracking further in non-obvious ways. Any reason not to use 2×2×2mm voxels here…?

Why did you chose non-default values for the cutoff, the step size, and the angle? Also, are you absolutely confident your initial direction is appropriate for all subjects? If in doubt, I’d leave that out…

As I said, this is a really tricky region to track through. But the fact that you are getting different numbers of streamlines is not necessarily all that meaningful - there’s lots of reasons why that might happen. If you really wanted to interpret the number of streamlines in a biologically meaningful way, you would need to use something like SIFT - or better, SIFT2 (see Figure 10 in particular). But that would require quite a bit more processing per subject…

Yes, ACT does quite a bit more work to ensure that the track terminates at reasonable locations, and involves throwing out those streamlines not deemed plausible.

The use or non-use of the -backtrack option may also have an influence here. Without this option, tckgen regularly throws out streamlines for which a large number of clock cycles have already been used up. Then again, it’s also entirely possible that back-tracking will repeatedly take many attempts in order to make a small amount of progress. I would suggest playing with this option nevertheless. I would also suggest running tckgen with the -info option: This will provide you with statistics regarding why streamlines are being terminated, and why they are being rejected.

tckgen fod.mif output.tck -act 5TTimage -backtrack -crop_at_gmwmi -select 200000 -step 0.375 -cutoff 0.15 -angle 10 -seed_image Left_cerebellar_deep_nuclei -include Right_thalamus

  • 200,000 is quite a large number for a relatively specific targeted tracking experiment. It’s up to your judgement as to whether this number is necessary.

  • A very small step size with the default iFOD2 algorithm is going to take a long time, regardless of ACT. In the absence of providing the -step option, the default calculated step size for tractography would be ~ 1.25mm, so your tracking is going to run ~ 4 times slower than that.

Why do I get completely different number of streamlines for each subjects?

By default, when you request a particular number of streamlines, tckgen additionally places an upper limit on the maximum number of streamline seeds. This is 1000 times the number of requested streamlines by default, and is put in place to terminate tckgen runs that are considered unlikely to complete successfully. You can override this behaviour by setting -seeds 0, in which case tckgen will not place an upper limit on the number of streamline seeds, and instead take as long as it takes to generate your requested accepted number of streamlines.

You should have received the following information as a message on the command-line in this instance:

tckgen: [WARNING] less than desired streamline number due to implicit maximum number of seeds; set -seeds 0 to override

Did this not occur?

Rob