Home · Quickstart · Documentation · Citation · NiPy

# interfaces.mrtrix.tracking

## DiffusionTensorStreamlineTrack

Link to code

Wraps command streamtrack

Specialized interface to StreamlineTrack. This interface is used for streamline tracking from diffusion tensor data, and calls the MRtrix function ‘streamtrack’ with the option ‘DT_STREAM’

### Example

    >>> import nipype.interfaces.mrtrix as mrt
    >>> dtstrack = mrt.DiffusionTensorStreamlineTrack()
    >>> dtstrack.inputs.in_file = 'data.Bfloat'
    >>> dtstrack.inputs.seed_file = 'seed_mask.nii'
    >>> dtstrack.run()

Inputs:

    [Mandatory]
    gradient_encoding_file: (an existing file name)
            Gradient encoding, supplied as a 4xN text file with each line is in
            the format [ X Y Z b ], where [ X Y Z ] describe the direction of
            the applied gradient, and b gives the b-value in units (1000
            s/mm^2). See FSL2MRTrix
            flag: -grad %s, position: -2
    in_file: (an existing file name)
            the image containing the source data.The type of data required
            depends on the type of tracking as set in the preceeding argument.
            For DT methods, the base DWI are needed. For SD methods, the SH
            harmonic coefficients of the FOD are needed.
            flag: %s, position: -2
    terminal_output: ('stream' or 'allatonce' or 'file' or 'none')
            Control terminal output: `stream` - displays to terminal
            immediately, `allatonce` - waits till command is finished to display
            output, `file` - writes output to file, `none` - output is ignored

    [Optional]
    args: (a string)
            Additional parameters to the command
            flag: %s
    cutoff_value: (a float)
            Set the FA or FOD amplitude cutoff for terminating tracks (default
            is 0.1).
            flag: -cutoff %s
    desired_number_of_tracks: (an integer)
            Sets the desired number of tracks.The program will continue to
            generate tracks until this number of tracks have been selected and
            written to the output file(default is 100 for *_STREAM methods, 1000
            for *_PROB methods).
            flag: -number %d
    do_not_precompute: (a boolean)
            Turns off precomputation of the legendre polynomial values. Warning:
            this will slow down the algorithm by a factor of approximately 4.
            flag: -noprecomputed
    environ: (a dictionary with keys which are a value of type 'str' and
             with values which are a value of type 'str', nipype default value:
             {})
            Environment variables
    exclude_file: (an existing file name)
            exclusion file
            flag: -exclude %s
            mutually_exclusive: exclude_file, exclude_spec
    exclude_spec: (a list of from 4 to 4 items which are a float)
            exclusion specification in mm and radius (x y z r)
            flag: -exclude %s, position: 2
            mutually_exclusive: exclude_file, exclude_spec
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the
            interface fails to run
    include_file: (an existing file name)
            inclusion file
            flag: -include %s
            mutually_exclusive: include_file, include_spec
    include_spec: (a list of from 4 to 4 items which are a float)
            inclusion specification in mm and radius (x y z r)
            flag: -include %s, position: 2
            mutually_exclusive: include_file, include_spec
    initial_cutoff_value: (a float)
            Sets the minimum FA or FOD amplitude for initiating tracks (default
            is twice the normal cutoff).
            flag: -initcutoff %s
    initial_direction: (a list of from 2 to 2 items which are an integer)
            Specify the initial tracking direction as a vector
            flag: -initdirection %s
    inputmodel: ('DT_STREAM' or 'SD_PROB' or 'SD_STREAM', nipype default
             value: DT_STREAM)
            input model type
            flag: %s, position: -3
    mask_file: (an existing file name)
            mask file. Only tracks within mask.
            flag: -mask %s
            mutually_exclusive: mask_file, mask_spec
    mask_spec: (a list of from 4 to 4 items which are a float)
            Mask specification in mm and radius (x y z r). Tracks will be
            terminated when they leave the ROI.
            flag: -mask %s, position: 2
            mutually_exclusive: mask_file, mask_spec
    maximum_number_of_tracks: (an integer)
            Sets the maximum number of tracks to generate.The program will not
            generate more tracks than this number, even if the desired number of
            tracks hasn't yet been reached(default is 100 x number).
            flag: -maxnum %d
    maximum_tract_length: (a float)
            Sets the maximum length of any track in millimeters (default is 200
            mm).
            flag: -length %s
    minimum_radius_of_curvature: (a float)
            Set the minimum radius of curvature (default is 2 mm for DT_STREAM,
            0 for SD_STREAM, 1 mm for SD_PROB and DT_PROB)
            flag: -curvature %s
    minimum_tract_length: (a float)
            Sets the minimum length of any track in millimeters (default is 10
            mm).
            flag: -minlength %s
    no_mask_interpolation: (a boolean)
            Turns off trilinear interpolation of mask images.
            flag: -nomaskinterp
    out_file: (a file name)
            output data file
            flag: %s, position: -1
    seed_file: (an existing file name)
            seed file
            flag: -seed %s
            mutually_exclusive: seed_file, seed_spec
    seed_spec: (a list of from 4 to 4 items which are a float)
            seed specification in mm and radius (x y z r)
            flag: -seed %s, position: 2
            mutually_exclusive: seed_file, seed_spec
    step_size: (a float)
            Set the step size of the algorithm in mm (default is 0.2).
            flag: -step %s
    stop: (a boolean)
            stop track as soon as it enters any of the include regions.
            flag: -stop
    unidirectional: (a boolean)
            Track from the seed point in one direction only (default is to track
            in both directions).
            flag: -unidirectional

Outputs:

    tracked: (an existing file name)
            output file containing reconstructed tracts

## FilterTracks

Link to code

Wraps command filter_tracks

Use regions-of-interest to select a subset of tracks from a given MRtrix track file.

### Example

    >>> import nipype.interfaces.mrtrix as mrt
    >>> filt = mrt.FilterTracks()
    >>> filt.inputs.in_file = 'tracks.tck'
    >>> filt.run()

Inputs:

    [Mandatory]
    in_file: (an existing file name)
            input tracks to be filtered
            flag: %s, position: -2
    terminal_output: ('stream' or 'allatonce' or 'file' or 'none')
            Control terminal output: `stream` - displays to terminal
            immediately, `allatonce` - waits till command is finished to display
            output, `file` - writes output to file, `none` - output is ignored

    [Optional]
    args: (a string)
            Additional parameters to the command
            flag: %s
    debug: (a boolean)
            Display debugging messages.
            flag: -debug, position: 1
    environ: (a dictionary with keys which are a value of type 'str' and
             with values which are a value of type 'str', nipype default value:
             {})
            Environment variables
    exclude_file: (an existing file name)
            exclusion file
            flag: -exclude %s
            mutually_exclusive: exclude_file, exclude_spec
    exclude_spec: (a list of from 4 to 4 items which are a float)
            exclusion specification in mm and radius (x y z r)
            flag: -exclude %s, position: 2
            mutually_exclusive: exclude_file, exclude_spec
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the
            interface fails to run
    include_file: (an existing file name)
            inclusion file
            flag: -include %s
            mutually_exclusive: include_file, include_spec
    include_spec: (a list of from 4 to 4 items which are a float)
            inclusion specification in mm and radius (x y z r)
            flag: -include %s, position: 2
            mutually_exclusive: include_file, include_spec
    invert: (a boolean)
            invert the matching process, so that tracks that wouldotherwise have
            been included are now excluded and vice-versa.
            flag: -invert
    minimum_tract_length: (a float)
            Sets the minimum length of any track in millimeters (default is 10
            mm).
            flag: -minlength %s
    no_mask_interpolation: (a boolean)
            Turns off trilinear interpolation of mask images.
            flag: -nomaskinterp
    out_file: (a file name)
            Output filtered track filename
            flag: %s, position: -1
    quiet: (a boolean)
            Do not display information messages or progress status.
            flag: -quiet, position: 1

Outputs:

    out_file: (an existing file name)
            the output filtered tracks

## ProbabilisticSphericallyDeconvolutedStreamlineTrack

Link to code

Wraps command streamtrack

Performs probabilistic tracking using spherically deconvolved data

Specialized interface to StreamlineTrack. This interface is used for probabilistic tracking from spherically deconvolved data, and calls the MRtrix function ‘streamtrack’ with the option ‘SD_PROB’

### Example

    >>> import nipype.interfaces.mrtrix as mrt
    >>> sdprobtrack = mrt.ProbabilisticSphericallyDeconvolutedStreamlineTrack()
    >>> sdprobtrack.inputs.in_file = 'data.Bfloat'
    >>> sdprobtrack.inputs.seed_file = 'seed_mask.nii'
    >>> sdprobtrack.run()

Inputs:

    [Mandatory]
    in_file: (an existing file name)
            the image containing the source data.The type of data required
            depends on the type of tracking as set in the preceeding argument.
            For DT methods, the base DWI are needed. For SD methods, the SH
            harmonic coefficients of the FOD are needed.
            flag: %s, position: -2
    terminal_output: ('stream' or 'allatonce' or 'file' or 'none')
            Control terminal output: `stream` - displays to terminal
            immediately, `allatonce` - waits till command is finished to display
            output, `file` - writes output to file, `none` - output is ignored

    [Optional]
    args: (a string)
            Additional parameters to the command
            flag: %s
    cutoff_value: (a float)
            Set the FA or FOD amplitude cutoff for terminating tracks (default
            is 0.1).
            flag: -cutoff %s
    desired_number_of_tracks: (an integer)
            Sets the desired number of tracks.The program will continue to
            generate tracks until this number of tracks have been selected and
            written to the output file(default is 100 for *_STREAM methods, 1000
            for *_PROB methods).
            flag: -number %d
    do_not_precompute: (a boolean)
            Turns off precomputation of the legendre polynomial values. Warning:
            this will slow down the algorithm by a factor of approximately 4.
            flag: -noprecomputed
    environ: (a dictionary with keys which are a value of type 'str' and
             with values which are a value of type 'str', nipype default value:
             {})
            Environment variables
    exclude_file: (an existing file name)
            exclusion file
            flag: -exclude %s
            mutually_exclusive: exclude_file, exclude_spec
    exclude_spec: (a list of from 4 to 4 items which are a float)
            exclusion specification in mm and radius (x y z r)
            flag: -exclude %s, position: 2
            mutually_exclusive: exclude_file, exclude_spec
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the
            interface fails to run
    include_file: (an existing file name)
            inclusion file
            flag: -include %s
            mutually_exclusive: include_file, include_spec
    include_spec: (a list of from 4 to 4 items which are a float)
            inclusion specification in mm and radius (x y z r)
            flag: -include %s, position: 2
            mutually_exclusive: include_file, include_spec
    initial_cutoff_value: (a float)
            Sets the minimum FA or FOD amplitude for initiating tracks (default
            is twice the normal cutoff).
            flag: -initcutoff %s
    initial_direction: (a list of from 2 to 2 items which are an integer)
            Specify the initial tracking direction as a vector
            flag: -initdirection %s
    inputmodel: ('DT_STREAM' or 'SD_PROB' or 'SD_STREAM', nipype default
             value: DT_STREAM)
            input model type
            flag: %s, position: -3
    mask_file: (an existing file name)
            mask file. Only tracks within mask.
            flag: -mask %s
            mutually_exclusive: mask_file, mask_spec
    mask_spec: (a list of from 4 to 4 items which are a float)
            Mask specification in mm and radius (x y z r). Tracks will be
            terminated when they leave the ROI.
            flag: -mask %s, position: 2
            mutually_exclusive: mask_file, mask_spec
    maximum_number_of_tracks: (an integer)
            Sets the maximum number of tracks to generate.The program will not
            generate more tracks than this number, even if the desired number of
            tracks hasn't yet been reached(default is 100 x number).
            flag: -maxnum %d
    maximum_number_of_trials: (an integer)
            Set the maximum number of sampling trials at each point (only used
            for probabilistic tracking).
            flag: -trials %s
    maximum_tract_length: (a float)
            Sets the maximum length of any track in millimeters (default is 200
            mm).
            flag: -length %s
    minimum_radius_of_curvature: (a float)
            Set the minimum radius of curvature (default is 2 mm for DT_STREAM,
            0 for SD_STREAM, 1 mm for SD_PROB and DT_PROB)
            flag: -curvature %s
    minimum_tract_length: (a float)
            Sets the minimum length of any track in millimeters (default is 10
            mm).
            flag: -minlength %s
    no_mask_interpolation: (a boolean)
            Turns off trilinear interpolation of mask images.
            flag: -nomaskinterp
    out_file: (a file name)
            output data file
            flag: %s, position: -1
    seed_file: (an existing file name)
            seed file
            flag: -seed %s
            mutually_exclusive: seed_file, seed_spec
    seed_spec: (a list of from 4 to 4 items which are a float)
            seed specification in mm and radius (x y z r)
            flag: -seed %s, position: 2
            mutually_exclusive: seed_file, seed_spec
    step_size: (a float)
            Set the step size of the algorithm in mm (default is 0.2).
            flag: -step %s
    stop: (a boolean)
            stop track as soon as it enters any of the include regions.
            flag: -stop
    unidirectional: (a boolean)
            Track from the seed point in one direction only (default is to track
            in both directions).
            flag: -unidirectional

Outputs:

    tracked: (an existing file name)
            output file containing reconstructed tracts

## SphericallyDeconvolutedStreamlineTrack

Link to code

Wraps command streamtrack

Performs streamline tracking using spherically deconvolved data

Specialized interface to StreamlineTrack. This interface is used for streamline tracking from spherically deconvolved data, and calls the MRtrix function ‘streamtrack’ with the option ‘SD_STREAM’

### Example

    >>> import nipype.interfaces.mrtrix as mrt
    >>> sdtrack = mrt.SphericallyDeconvolutedStreamlineTrack()
    >>> sdtrack.inputs.in_file = 'data.Bfloat'
    >>> sdtrack.inputs.seed_file = 'seed_mask.nii'
    >>> sdtrack.run()

Inputs:

    [Mandatory]
    in_file: (an existing file name)
            the image containing the source data.The type of data required
            depends on the type of tracking as set in the preceeding argument.
            For DT methods, the base DWI are needed. For SD methods, the SH
            harmonic coefficients of the FOD are needed.
            flag: %s, position: -2
    terminal_output: ('stream' or 'allatonce' or 'file' or 'none')
            Control terminal output: `stream` - displays to terminal
            immediately, `allatonce` - waits till command is finished to display
            output, `file` - writes output to file, `none` - output is ignored

    [Optional]
    args: (a string)
            Additional parameters to the command
            flag: %s
    cutoff_value: (a float)
            Set the FA or FOD amplitude cutoff for terminating tracks (default
            is 0.1).
            flag: -cutoff %s
    desired_number_of_tracks: (an integer)
            Sets the desired number of tracks.The program will continue to
            generate tracks until this number of tracks have been selected and
            written to the output file(default is 100 for *_STREAM methods, 1000
            for *_PROB methods).
            flag: -number %d
    do_not_precompute: (a boolean)
            Turns off precomputation of the legendre polynomial values. Warning:
            this will slow down the algorithm by a factor of approximately 4.
            flag: -noprecomputed
    environ: (a dictionary with keys which are a value of type 'str' and
             with values which are a value of type 'str', nipype default value:
             {})
            Environment variables
    exclude_file: (an existing file name)
            exclusion file
            flag: -exclude %s
            mutually_exclusive: exclude_file, exclude_spec
    exclude_spec: (a list of from 4 to 4 items which are a float)
            exclusion specification in mm and radius (x y z r)
            flag: -exclude %s, position: 2
            mutually_exclusive: exclude_file, exclude_spec
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the
            interface fails to run
    include_file: (an existing file name)
            inclusion file
            flag: -include %s
            mutually_exclusive: include_file, include_spec
    include_spec: (a list of from 4 to 4 items which are a float)
            inclusion specification in mm and radius (x y z r)
            flag: -include %s, position: 2
            mutually_exclusive: include_file, include_spec
    initial_cutoff_value: (a float)
            Sets the minimum FA or FOD amplitude for initiating tracks (default
            is twice the normal cutoff).
            flag: -initcutoff %s
    initial_direction: (a list of from 2 to 2 items which are an integer)
            Specify the initial tracking direction as a vector
            flag: -initdirection %s
    inputmodel: ('DT_STREAM' or 'SD_PROB' or 'SD_STREAM', nipype default
             value: DT_STREAM)
            input model type
            flag: %s, position: -3
    mask_file: (an existing file name)
            mask file. Only tracks within mask.
            flag: -mask %s
            mutually_exclusive: mask_file, mask_spec
    mask_spec: (a list of from 4 to 4 items which are a float)
            Mask specification in mm and radius (x y z r). Tracks will be
            terminated when they leave the ROI.
            flag: -mask %s, position: 2
            mutually_exclusive: mask_file, mask_spec
    maximum_number_of_tracks: (an integer)
            Sets the maximum number of tracks to generate.The program will not
            generate more tracks than this number, even if the desired number of
            tracks hasn't yet been reached(default is 100 x number).
            flag: -maxnum %d
    maximum_tract_length: (a float)
            Sets the maximum length of any track in millimeters (default is 200
            mm).
            flag: -length %s
    minimum_radius_of_curvature: (a float)
            Set the minimum radius of curvature (default is 2 mm for DT_STREAM,
            0 for SD_STREAM, 1 mm for SD_PROB and DT_PROB)
            flag: -curvature %s
    minimum_tract_length: (a float)
            Sets the minimum length of any track in millimeters (default is 10
            mm).
            flag: -minlength %s
    no_mask_interpolation: (a boolean)
            Turns off trilinear interpolation of mask images.
            flag: -nomaskinterp
    out_file: (a file name)
            output data file
            flag: %s, position: -1
    seed_file: (an existing file name)
            seed file
            flag: -seed %s
            mutually_exclusive: seed_file, seed_spec
    seed_spec: (a list of from 4 to 4 items which are a float)
            seed specification in mm and radius (x y z r)
            flag: -seed %s, position: 2
            mutually_exclusive: seed_file, seed_spec
    step_size: (a float)
            Set the step size of the algorithm in mm (default is 0.2).
            flag: -step %s
    stop: (a boolean)
            stop track as soon as it enters any of the include regions.
            flag: -stop
    unidirectional: (a boolean)
            Track from the seed point in one direction only (default is to track
            in both directions).
            flag: -unidirectional

Outputs:

    tracked: (an existing file name)
            output file containing reconstructed tracts

## StreamlineTrack

Link to code

Wraps command streamtrack

Performs tractography using one of the following models: ‘dt_prob’, ‘dt_stream’, ‘sd_prob’, ‘sd_stream’, Where ‘dt’ stands for diffusion tensor, ‘sd’ stands for spherical deconvolution, and ‘prob’ stands for probabilistic.

### Example

    >>> import nipype.interfaces.mrtrix as mrt
    >>> strack = mrt.StreamlineTrack()
    >>> strack.inputs.inputmodel = 'SD_PROB'
    >>> strack.inputs.in_file = 'data.Bfloat'
    >>> strack.inputs.seed_file = 'seed_mask.nii'
    >>> strack.inputs.mask_file = 'mask.nii'
    >>> strack.cmdline
    'streamtrack -mask mask.nii -seed seed_mask.nii SD_PROB data.Bfloat data_tracked.tck'
    >>> strack.run()

Inputs:

    [Mandatory]
    in_file: (an existing file name)
            the image containing the source data.The type of data required
            depends on the type of tracking as set in the preceeding argument.
            For DT methods, the base DWI are needed. For SD methods, the SH
            harmonic coefficients of the FOD are needed.
            flag: %s, position: -2
    terminal_output: ('stream' or 'allatonce' or 'file' or 'none')
            Control terminal output: `stream` - displays to terminal
            immediately, `allatonce` - waits till command is finished to display
            output, `file` - writes output to file, `none` - output is ignored

    [Optional]
    args: (a string)
            Additional parameters to the command
            flag: %s
    cutoff_value: (a float)
            Set the FA or FOD amplitude cutoff for terminating tracks (default
            is 0.1).
            flag: -cutoff %s
    desired_number_of_tracks: (an integer)
            Sets the desired number of tracks.The program will continue to
            generate tracks until this number of tracks have been selected and
            written to the output file(default is 100 for *_STREAM methods, 1000
            for *_PROB methods).
            flag: -number %d
    do_not_precompute: (a boolean)
            Turns off precomputation of the legendre polynomial values. Warning:
            this will slow down the algorithm by a factor of approximately 4.
            flag: -noprecomputed
    environ: (a dictionary with keys which are a value of type 'str' and
             with values which are a value of type 'str', nipype default value:
             {})
            Environment variables
    exclude_file: (an existing file name)
            exclusion file
            flag: -exclude %s
            mutually_exclusive: exclude_file, exclude_spec
    exclude_spec: (a list of from 4 to 4 items which are a float)
            exclusion specification in mm and radius (x y z r)
            flag: -exclude %s, position: 2
            mutually_exclusive: exclude_file, exclude_spec
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the
            interface fails to run
    include_file: (an existing file name)
            inclusion file
            flag: -include %s
            mutually_exclusive: include_file, include_spec
    include_spec: (a list of from 4 to 4 items which are a float)
            inclusion specification in mm and radius (x y z r)
            flag: -include %s, position: 2
            mutually_exclusive: include_file, include_spec
    initial_cutoff_value: (a float)
            Sets the minimum FA or FOD amplitude for initiating tracks (default
            is twice the normal cutoff).
            flag: -initcutoff %s
    initial_direction: (a list of from 2 to 2 items which are an integer)
            Specify the initial tracking direction as a vector
            flag: -initdirection %s
    inputmodel: ('DT_STREAM' or 'SD_PROB' or 'SD_STREAM', nipype default
             value: DT_STREAM)
            input model type
            flag: %s, position: -3
    mask_file: (an existing file name)
            mask file. Only tracks within mask.
            flag: -mask %s
            mutually_exclusive: mask_file, mask_spec
    mask_spec: (a list of from 4 to 4 items which are a float)
            Mask specification in mm and radius (x y z r). Tracks will be
            terminated when they leave the ROI.
            flag: -mask %s, position: 2
            mutually_exclusive: mask_file, mask_spec
    maximum_number_of_tracks: (an integer)
            Sets the maximum number of tracks to generate.The program will not
            generate more tracks than this number, even if the desired number of
            tracks hasn't yet been reached(default is 100 x number).
            flag: -maxnum %d
    maximum_tract_length: (a float)
            Sets the maximum length of any track in millimeters (default is 200
            mm).
            flag: -length %s
    minimum_radius_of_curvature: (a float)
            Set the minimum radius of curvature (default is 2 mm for DT_STREAM,
            0 for SD_STREAM, 1 mm for SD_PROB and DT_PROB)
            flag: -curvature %s
    minimum_tract_length: (a float)
            Sets the minimum length of any track in millimeters (default is 10
            mm).
            flag: -minlength %s
    no_mask_interpolation: (a boolean)
            Turns off trilinear interpolation of mask images.
            flag: -nomaskinterp
    out_file: (a file name)
            output data file
            flag: %s, position: -1
    seed_file: (an existing file name)
            seed file
            flag: -seed %s
            mutually_exclusive: seed_file, seed_spec
    seed_spec: (a list of from 4 to 4 items which are a float)
            seed specification in mm and radius (x y z r)
            flag: -seed %s, position: 2
            mutually_exclusive: seed_file, seed_spec
    step_size: (a float)
            Set the step size of the algorithm in mm (default is 0.2).
            flag: -step %s
    stop: (a boolean)
            stop track as soon as it enters any of the include regions.
            flag: -stop
    unidirectional: (a boolean)
            Track from the seed point in one direction only (default is to track
            in both directions).
            flag: -unidirectional

Outputs:

    tracked: (an existing file name)
            output file containing reconstructed tracts

## Tracks2Prob

Link to code

Wraps command tracks2prob

Convert a tract file into a map of the fraction of tracks to enter each voxel - also known as a tract density image (TDI) - in MRtrix’s image format (.mif). This can be viewed using MRview or converted to Nifti using MRconvert.

### Example

    >>> import nipype.interfaces.mrtrix as mrt
    >>> tdi = mrt.Tracks2Prob()
    >>> tdi.inputs.in_file = 'dwi_CSD_tracked.tck'
    >>> tdi.inputs.colour = True
    >>> tdi.run()

Inputs:

    [Mandatory]
    in_file: (an existing file name)
            tract file
            flag: %s, position: -2
    terminal_output: ('stream' or 'allatonce' or 'file' or 'none')
            Control terminal output: `stream` - displays to terminal
            immediately, `allatonce` - waits till command is finished to display
            output, `file` - writes output to file, `none` - output is ignored

    [Optional]
    args: (a string)
            Additional parameters to the command
            flag: %s
    colour: (a boolean)
            add colour to the output image according to the direction of the
            tracks.
            flag: -colour, position: 3
    environ: (a dictionary with keys which are a value of type 'str' and
             with values which are a value of type 'str', nipype default value:
             {})
            Environment variables
    fraction: (a boolean)
            produce an image of the fraction of fibres through each voxel (as a
            proportion of the total number in the file), rather than the count.
            flag: -fraction, position: 3
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the
            interface fails to run
    out_filename: (a file name)
            output data file
            flag: %s, position: -1
    output_datatype: ('Bit' or 'Int8' or 'UInt8' or 'Int16' or 'UInt16'
             or 'Int32' or 'UInt32' or 'float32' or 'float64')
            "i.e. Bfloat". Can be "char", "short", "int", "long", "float" or
            "double"
            flag: -datatype %s, position: 2
    resample: (a float)
            resample the tracks at regular intervals using Hermite
            interpolation. If omitted, the program will select an appropriate
            interpolation factor automatically.
            flag: -resample %d, position: 3
    template_file: (an existing file name)
            an image file to be used as a template for the output (the output
            image wil have the same transform and field of view)
            flag: -template %s, position: 1
    voxel_dims: (a list of from 3 to 3 items which are a float)
            Three comma-separated numbers giving the size of each voxel in mm.
            flag: -vox %s, position: 2

Outputs:

    tract_image: (an existing file name)
            Output tract count or track density image