.. _scil_tracking_local: scil_tracking_local =================== :: usage: __main__.py [-h] [--step STEP_SIZE] [--min_length m] [--max_length M] [--theta THETA] [--sfthres sf_th] [--sh_basis {descoteaux07,tournier07,descoteaux07_legacy,tournier07_legacy}] [--npv NPV | --nt NT | --in_custom_seeds IN_CUSTOM_SEEDS] [--sh_to_pmf] [--algo {det,prob,ptt,eudx}] [--sphere {repulsion100,repulsion200,repulsion724,symmetric362,symmetric642,symmetric724}] [--sub_sphere SUB_SPHERE] [--probe_length PROBE_LENGTH] [--probe_radius PROBE_RADIUS] [--probe_quality PROBE_QUALITY] [--probe_count PROBE_COUNT] [--support_exponent SUPPORT_EXPONENT] [--use_gpu] [--sh_interp {trilinear,nearest}] [--forward_only] [--batch_size BATCH_SIZE] [--compress [COMPRESS_TH]] [-f] [--save_seeds] [--seed SEED] [-v [{DEBUG,INFO,WARNING,ERROR}]] in_odf in_seed in_mask out_tractogram Local streamline HARDI tractography. The tracking direction is chosen in the aperture cone defined by the previous tracking direction and the angular constraint. WARNING: This script DOES NOT support asymetric FODF input (aFODF). Algo 'eudx': select the peak from the spherical function (SF) most closely aligned to the previous direction, and follow an average of it and the previous direction [1]. Algo 'det': select the orientation corresponding to the maximum of the spherical function. Algo 'prob': select a direction drawn from the empirical distribution function defined from the SF. Algo 'ptt': select the propagation direction using Parallel-Transport Tractography (PTT) framework, see [2] for more details. NOTE: eudx can be used with pre-computed peaks from fodf as well as evecs_v1.nii.gz from scil_dti_metrics (experimental). NOTE: If tracking with PTT, the step-size should be smaller than usual, i.e 0.1-0.2mm or lower. The maximum angle between segments (theta) should be between 10 and 20 degrees. The local tracking algorithm can also run on the GPU using the --use_gpu option (experimental). By default, GPU tracking behaves the same as DIPY. Below is a list of known divergences between the CPU and GPU implementations: * Backend: The CPU implementation uses DIPY's LocalTracking and the GPU implementation uses an in-house OpenCL implementation. * Algo: For the GPU implementation, the only available algorithm is Algo 'prob'. * SH interpolation: For GPU tracking, SH interpolation can be set to either nearest neighbour or trilinear (default). With DIPY, the only available method is trilinear. * Forward tracking: For GPU tracking, the `--forward_only` flag can be used to disable backward tracking. This option isn't available for CPU tracking. All the input nifti files must be in isotropic resolution. -------------------------------------------------------------------------------- References: [1] Garyfallidis, E. (2012). Towards an accurate brain tractography [PhD thesis]. University of Cambridge. United Kingdom. [2] Aydogan, D. B., & Shi, Y. (2020). Parallel transport tractography. IEEE transactions on medical imaging, 40(2), 635-647. -------------------------------------------------------------------------------- positional arguments: in_odf File containing the orientation diffusion function as spherical harmonics file (.nii.gz). Ex: ODF or fODF. in_seed Seeding mask (.nii.gz). in_mask Tracking mask (.nii.gz). Tracking will stop outside this mask. The last point of each streamline (triggering the stopping criteria) IS added to the streamline. out_tractogram Tractogram output file (must be .trk or .tck). options: -h, --help show this help message and exit Tracking options: --step STEP_SIZE Step size in mm. [0.5] --min_length m Minimum length of a streamline in mm. [10.0] --max_length M Maximum length of a streamline in mm. [300.0] --theta THETA Maximum angle between 2 steps. If the angle is too big, streamline is stopped and the following point is NOT included. ["eudx"=60, "det"=45, "prob"=20, "ptt"=20] --sfthres sf_th Spherical function relative threshold. [0.1] --sh_basis {descoteaux07,tournier07,descoteaux07_legacy,tournier07_legacy} Spherical harmonics basis used for the SH coefficients. Must be either descoteaux07', 'tournier07', 'descoteaux07_legacy' or 'tournier07_legacy' [['descoteaux07_legacy']]: 'descoteaux07' : SH basis from the Descoteaux et al. MRM 2007 paper 'tournier07' : SH basis from the new Tournier et al. NeuroImage 2019 paper, as in MRtrix 3. 'descoteaux07_legacy': SH basis from the legacy Dipy implementation of the Descoteaux et al. MRM 2007 paper 'tournier07_legacy' : SH basis from the legacy Tournier et al. NeuroImage 2007 paper. --sh_to_pmf If set, map sherical harmonics to spherical function (pmf) before tracking (faster, requires more memory) --algo {det,prob,ptt,eudx} Algorithm to use. [prob] --sphere {repulsion100,repulsion200,repulsion724,symmetric362,symmetric642,symmetric724} Dipy sphere; set of possible directions. Default: [repulsion724] --sub_sphere SUB_SPHERE Subdivides each face of the sphere into 4^s new faces. [0] Seeding options: When no option is provided, uses --npv 1. --npv NPV Number of seeds per voxel. --nt NT Total number of seeds to use. --in_custom_seeds IN_CUSTOM_SEEDS Path to a file containing a list of custom seeding coordinates (.txt, .mat or .npy). They should be in voxel space. In the case of a text file, each line should contain a single seed, written in the format: [x, y, z]. PTT options: --probe_length PROBE_LENGTH The length of the probes. Smaller value yields more dispersed fibers. [1.0] --probe_radius PROBE_RADIUS The radius of the probe. A large probe_radius helps mitigate noise in the pmf but it might make it harder to sample thin and intricate connections, also the boundary of fiber bundles might be eroded. [0] --probe_quality PROBE_QUALITY The quality of the probe. This parameter sets the number of segments to split the cylinder along the length of the probe (minimum=2) [3] --probe_count PROBE_COUNT The number of probes. This parameter sets the number of parallel lines used to model the cylinder (minimum=1). [1] --support_exponent SUPPORT_EXPONENT Data support exponent, used for rejection sampling. [3] GPU options: --use_gpu Enable GPU tracking (experimental). --sh_interp {trilinear,nearest} SH image interpolation method. [trilinear] --forward_only Perform forward tracking only. --batch_size BATCH_SIZE Approximate size of GPU batches (number of streamlines to track in parallel). [10000] Output options: --compress [COMPRESS_TH] If set, compress the resulting streamline. Value is the maximum compression distance in mm. A rule of thumb is to set it to 0.1mm for deterministic streamlines and to 0.2mm for probabilitic streamlines.[0.1] -f Force overwriting of the output files. --save_seeds If set, save the seeds used for the tracking in the data_per_streamline property. Hint: you can then use scil_tractogram_seed_density_map. --seed SEED Random number generator seed. Logging options: -v [{DEBUG,INFO,WARNING,ERROR}] Produces verbose output depending on the provided level. Default level is warning, default when using -v is info. 2.2.2