No tracks generated with tckgen and input parameters

Hi All,

I am using tckgen to generate tracts for tractography.

I have also looked at the documentation for tckgen.

What I am trying to do is define a mask (spherical with coordinates and radius as 49,50,23,15).

I have also defined 5 seed points that I am generated in as such

    -seeds 5 -seed_sphere 53,51,23,5 -seed_sphere 44,51,23,5 -seed_sphere 52,47,23,5 -seed_sphere 46,47,23,5                    
    -seed_sphere 49,48,23,5

My overall cmdline is given as

tckgen FODestimate.mif tract_file.tck -select 20000 -step 0.1 -cutoff 0.1 -seeds 5 -seed_sphere 53,51,23,5 -seed_sphere 44,51,23,5 -seed_sphere 52,47,23,5 -seed_sphere 46,47,23,5 -seed_sphere 49,48,23,5

It seems to run, but it doesn’t generate any tracts.

This is the output that I get

tckgen: [100%]        5 seeds,        2 streamlines,        0 selected

Which is not very clear to me.

Has anyone come across this before ?

Kind regards

I have a feeling your understanding of the -seeds options might be a bit off the mark. It specifies the number of seed points that tckgen will attempt to launch streamlines from, with these points being located within the seed ROIs specified. It does not specify the number of seed ROIs - you don’t need to specify this, it’s clear from the command line already.

So here, you’ve asked tckgen to attempt to track from 5 unique points, placed at random within 5 different spherical seed regions. Of these 5 points, only 2 where found suitable to actually track from (the other positions might have been sub-threshold, or outside the brain, etc). Of these 2 streamlines, none where selected, presumably because they were too short to meet the minimum length criterion (5 ✕ voxel size by default).

I think in your case, all you need to do is drop the -seeds 5 option altogether - you’ve already specified -select 20000, that’s all you need to do.


Okay, I assumed that the -seeds options is used to declare the number of input seed regions.

I have replaced this option (no longer include it).

But I am still unable to generate to generate streamlines when I using -seed_sphere option. If I am replacing this with a manually generated ROI using mrview, which contains these voxel locations, I am able to generate both streamlines and tractography image.

Am I missing something ?

If I use the above mentioned -seed_sphere as my input seeds.

And I define my mask as sphere using -mask 49,50,23,15. (Don’t want to generate a manual ROI hence using this)

This mask contains seed_sphere .

I have also rechecked the voxel position 49,50,23 and is not outside the brain.

So if I have defined a spherical ROI using -mask and defined some seed point using -seed_sphere (they are allocated inside the ROI defined by mask).

Shouldn’t they still be able to generate tracts ? Doesn’t mask truncate streamlines outside this region while defining -seed_sphere should still be able to generate streamlines?

But if a replace my -mask and -seed_sphere with images/binary masks obtained with ROI editor, I am able to generate streamlines and generate tractography image.

And what is the difference between cutoff and -seed_cutoff?

Do values less that minimum FA/FOD values get discarded ?

Kind regards.

Hi @isAarya,

May I ask you if you provided the voxel position to the -seed_sphere option? I think the issue is that the -seed_sphere requires the real coordinate position (in millimetre) rather than the voxel position.



Yes you are right.

The -seed_sphere requires position coordinates and not voxels.

Thanks for pointing that out.

Kind regards.