# dipy_track

## Synopsis

Workflow for Local Fiber Tracking.

This workflow use a saved peaks and metrics (PAM) file as input. See [1] and [2] for further details about the method.

## Usage

    dipy_track [OPTIONS] pam_files stopping_files seeding_files

## Input Parameters

- `pam_files`

  Path to the peaks and metrics files. This path may contain

    wildcards to use multiple masks at once.

- `stopping_files`

  Path to images (e.g. FA) used for stopping criterion for tracking.

- `seeding_files`

  A binary image showing where we need to seed for tracking.

## General Options

- `--use_binary_mask`

  If True, uses a binary stopping criterion. If the provided stopping_files are not binary, stopping_thr will be used to binarize the images. (default: False)

- `--stopping_thr`

  Threshold applied to stopping volume’s data to identify where tracking has to stop. (default: 0.2)

- `--seed_density`

  Number of seeds per dimension inside voxel. For example, seed_density of 2 means 8 regularly distributed points in the voxel. And seed density of 1 means 1 point at the center of the voxel. (default: 1)

- `--minlen`

  Minimum length (mm) of the streamlines. (default: 2)

- `--maxlen`

  Maximum length (mm) of the streamlines. (default: 500)

- `--step_size`

  Step size (in mm) used for tracking. (default: 0.5)

- `--tracking_method`

  Select direction getter strategy:

    - “eudx” (Uses the peaks saved in the pam_files)

    - “deterministic” or “det” for a deterministic tracking

    - “probabilistic” or “prob” for a Probabilistic tracking

    - “closestpeaks” or “cp” for a ClosestPeaks tracking

    - “ptt” for Parallel Transport Tractography

  By default, the sh coefficients saved in the pam_files are used. (default: deterministic)

- `--pmf_threshold`

  Threshold for ODF functions. (default: 0.1)

- `--max_angle`

  Maximum angle between streamline segments (range [0, 90]). Default is 30 degrees for most methods, 10 degrees for PTT. (default: None)

- `--sphere_name`

  The sphere used for tracking. If None, the sphere saved in the pam_files is used. For faster tracking, use a smaller sphere (e.g. ‘repulsion200’). (default: None)

- `--save_seeds`

  If true, save the seeds associated to their streamline in the ‘data_per_streamline’ Tractogram dictionary using ‘seeds’ as the key. (default: False)

- `--nbr_threads`

  Number of threads to use for the processing. By default, all available threads will be used. (default: 0)

- `--random_seed`

  Seed for the random number generator, must be >= 0. A value of greater than 0 will all produce the same streamline trajectory for a given seed coordinate. A value of 0 may produces various streamline tracjectories for a given seed coordinate. (default: 1)

- `--seed_buffer_fraction`

  Fraction of the seed buffer to use. A value of 1.0 will use the entire seed buffer. A value of 0.5 will use half of the seed buffer then the other half. a way to reduce memory usage. (default: 1.0)

## Output Options

- `--out_dir`

  Output directory. (default: current directory)

- `--out_tractogram`

  Name of the tractogram file to be saved. (default: out_tractogram.trx)

## References

[1]

Eleftherios Garyfallidis. Towards an accurate brain tractography. PhD thesis, Cambridge University, Cambridge, United Kingdom, 2012. URL:, doi:.

[2]

Bagrat Amirbekian. The Modeling of White Matter Architecture and Networks Using Diffusion MRI: Methods, Tools and Applications. PhD thesis, University of California San Francisco, San Francisco, CA, USA, 2016. URL:, doi:.

Garyfallidis, E., M. Brett, B. Amirbekian, A. Rokem, S. Van Der Walt, M. Descoteaux, and I. Nimmo-Smith. Dipy, a library for the analysis of diffusion MRI data. Frontiers in Neuroinformatics, 1-18, 2014.