Problem of "masks" in Mrtrix

The command is as shown:
tckgen -algorithm SD_Stream HARDI_fod.mif HARDI_StreamTracking.tck -seed_grid_per_voxel HARDI_mask.nii 2 -mask HARDI_mask.nii -select 10000
My aim is to set the desired number of streamlines to 10,000. However, it seems the option “-select” doesn’t work. The output file is extremely large. Usually, I use the option “-number”, but it seems disappeared in new version Mrtrix.:roll_eyes:

The command-line option -number was replaced by option -select in version 3.0_RC1; this was mentioned in the changelog here.

The -select option cannot work in this instance, due to use of the -seed_grid_per_voxel option. In tckgen, the different seeding mechanisms can be broken into two groups:

  • Finite” seeds (-seed_random_per_voxel and -seed_grid_per_voxel): With these mechanisms, the number of streamline seeds (and hence the maximum possible number of streamlines) is bound by the number of voxels in the mask image, and the number of seeds per voxel. Once the requested number of seeds have been drawn from a particular voxel in the input mask image, no more streamlines are seeded from that voxel.

  • Infinite” seeds (all other -seed_* options): These mechanisms can theoretically continue to generate streamlines for the life of the universe. As such, it is generally recommended to restrict the total number of streamlines selected using the -select option.

Mixing a “finite” seeding mechanism with the -select option therefore doesn’t make sense: You’d either reach the requested number of streamlines before fully sampling from the input seeding mask image (resulting in a bias depending on the direction in which the seeding algorithm sweeps through the mask image), or fully exhaust your requested seed points before reaching your requested number of selected streamlines. Either way, you’re asking the command to satisfy two (almost) mutually exclusive constraints with respect to the number of streamlines / seeds you want it to produce.

For Fig 2 - Fig 4, we use the command “dwi2mask” and use FA value for terminating tracks. However, it seems not a smart way.

If you have a better technique for terminating streamlines in the absence of ACT / multi-tissue CSD, we’re all ears. :expressionless:

Fig 7 is the result of Anatomically-Constrained Tractography. The fiber seems twisted compared with the other figures, but it may be correct? for ACT is a kind of probabilistic tracking method …

ACT is a framework that is applicable to both probabilistic and deterministic streamlines algorithms. One contributor to the effect you’re seeing is that the default minimum length criterion is decreased from 5 voxels to 2 voxels when using ACT. So not only do you have more short “noisy-looking” streamlines just superficial to the cortex, but the total “amount” of streamlines (sum of streamline lengths) is less for a fixed streamline count, contributing to the “noisy” appearance.

So I tried to use the mask of freesurfer, but the out put :“Error: dimension mismatch”.

We’d need to see the full error message to figure out what’s going wrong here. tckgen should be fully capable of handling mask images with different voxel grids to the input FODs.