fiber tracker


./trekker track <FOD image> [OPTIONS]


  • <FOD image> FILE:FILE … REQUIRED Input FOD image (.nii, .nii.gz). Trekker supports both symmetric and asymmetric FODs, i.e. spherical harmonics with both even and odd orders.


Option Description
-o, --output FILE REQUIRED Output tractogram (.vtk, .tck).
-a, --ascii Write ASCII output (.vtk only).
-w, --writeStepSize FLOAT Because stepSize might be very small, it might not be desirable to save each step of propagation in the output. writeStepSize enables skipping of a number of steps before saving them. This parameter does not change the propagation algorithm; internally Trekker always walks with the specified --stepSize. Default: the distance between the output tracks is 0.5 x the smallest of the FOD voxel dimensions.

Algorithm parameters

Option Description
--stepSize FLOAT Step size. Default=1/40 x the smallest of the FOD voxel dimensions.
--minRadiusOfCurvature FLOAT Minimum radius of curvature. Default=1/2 x the smallest of the FOD voxel dimensions.
--minDataSupport FLOAT Threshold for minimum data support. For PTT algorithm this is minimum FOD threshold. Default=0.05.
--dataSupportExponent FLOAT Data support to the power dataSupportExponent is used for rejection sampling. Default=1.
--orderOfDirections TEXT Switches direction of FOD. By default XYZ is assumed (no change). A lower case can be used to switch the direction, e.g., xYZ switches the sign of the first component. The order of components can be changed as well, e.g., yXz switches the sign of the second component while replacing it with the first, at the same time the sign of the last component is also changed.
--dontDiscretizeFod Turns off FOD discretization. For faster tracking, Trekker by default will discretize the FOD on a sphere (using 2076 points for symmetric functions and 1004 points for asymmetric functions).
--runTimeLimit INT Sets the maximum allowed duration in minutes for Trekker to continue tracking. Tracking stops when time limit is reached. When tracking stops due to time limit, all the streamlines that are computed so far are written to the disk.
--idleTimeLimit INT Sets the maximum allowed duration in minutes from the computation of the last successful streamline, i.e., if no new streamlines were computed within this time, Trekker stops.

Sampling parameters

Option Description
--maxEstInterval INT For random sampling, an estimate for the maximum posterior probability is needed. If set to n, this estimate is computed at every n^th step. Default=1.
--initMaxEstTrials INT Number of trials done for the estimation of maximum posterior probability during initialization. Default: is set adaptively based on previous trials.
--propMaxEstTrials INT Number of trials done for the estimation of maximum posterior probability during propagation. Default: is set adaptively based on previous trials.
--maxSamplingPerStep INT Maximum number of random sampling to select an acceptable candidate for propagation. Tracking stops if a suitable candidate cannot be found after this many attempts. Default: 1000.
--useBestAtInit If used, during initialization, random sampling is skipped and the candidate that has the largest data support is used for propagation. Default: off.
--useLegacySampling If used, during propagation, random sampling will be done using rejection sampling. Default: off.
--samplingQuality INT Integer value between 1 and 7 that controls the quality of sampling. Default=2.

PTT probe parameters

Option Description
--probeLength FLOAT Length of the probe. Default=1/4 x the smallest of the FOD voxel dimensions.
--probeRadius FLOAT Radius of the probe. Default=0.
--probeCount INT probeCount determines the number of parallel lines used to model the cylinder. Default: 1 if probeRadius=0, 4 if probeRadius≠0.
--probeQuality INT This parameter sets the number of segments to split the cylinder along the length of the probe. Default=4.
--ignoreWeakLinks FLOAT If the individual data support (FOD amplitude along the direction of the segment) for any of the points in the probe is lower than what is specified with this parameter, this candidate probe is ignored. Default: 0.

Seeding parameters

Option Description
-s, --seed TEXT ... Seed definition.
--discard_seed TEXT ... If a seed point falls into this region, it will be discarded.
--skipSeed Does not output the points that are within seed region.
--allowEdgeSeeds Allows seeding at the edges of pathway rules. Default: false.
--seed_trials INT Sets the maximum number of attempts to generate streamline from the seed point. Default=1.
--seed_count INT Number of seeds. Trekker tries to generate a single streamline from each seed. For that it makes maximum amount of "trials". If an acceptable streamline cannot be generated then it is skipped. If this happens, there will be fewer streamlines in the output tractogram than what is defined with "count".
--seed_density FLOAT Density of seeds. If seed is an image, density is the number of seeds per mm^3. If seed is a surface mesh, density is the number of seeds per mm^2.
--seed_surf_faceDensity TEXT ... A text file containing density information for each face of the input seed surface.
--seed_surf_vertDensity TEXT ... A text file containing density information for each vertex of the input seed surface.
--seed_surf_fieldDensity TEXT The given field in the input seed surface will be used to set seed density.
--seed_surf_useSurfNorm Surface normals will be used as the initial direction.
--seed_surf_dontSeedInside Only the surface will be used for seeding if the input is closed.

Pathway options


Please check the documentation for pathways for a detailed explanation.

Option Description
-p, --pathway TEXT ... Pathway rules.
--minlength FLOAT Minimum length of output streamlines. Default=0.
--maxlength FLOAT Maximum length of output streamlines. Default=infinite.
--oneSided If enabled, tracking is done only towards one direction. Default=OFF.
--stopAtMax If used, propagation stops when maxLength is reached. By default, streamlines are discarded when propagation reaches maxLength.
--inOrder If enabled, all pathway requirements are going to be satisfied in the order that they are input to Trekker. All pathway options should be defined for pathway_A/pathway_B in order to use this option.
--discRes FLOAT Discretization resolution for surface meshes. Default=1.

General options

Option Description
-h, --help Print this help message and exit.
-n, --numberOfThreads INT Number of threads.
-v, --verbose TEXT Verbose level. Options are "quiet", "fatal", "error", "warn", "info", and "debug". Default=info.
-f, --force Force overwriting of existing file.


Please cite [Aydogan2021], which provides a detailed explanation of the algorithm and the results obtained from extensive experiments. A precursory abstract was initially published during ISMRM 2019, Montreal [Aydogan2019], which can additionally be cited.