TFF_GENERATE_TRX_FROM_SCRATCH.PY(1)

NAME
tff_generate_trx_from_scratch.py - generate a TRX file from CSV, TXT or NPY files

DESCRIPTION
usage: tff_generate_trx_from_scratch.py [-h] [--positions POSITIONS]

[--offsets OFFSETS]
    [--positions_csv POSITIONS] [--space {RASMM,VOXMM,VOX}] [--origin {NIFTI,TRACKVIS}] [--positions_dtype {float16,float32,float64}] [--offsets_dtype {uint32,uint64}] [--dpv FILE DTYPE] [--dps FILE DTYPE] [--groups FILE DTYPE] [--dpg GROUP FILE DTYPE] [--verify_invalid] [-f] reference OUT_TRACTOGRAM

Generate TRX file from a collection of CSV, TXT or NPY files by individually specifying positions, offsets, data_per_vertex, data_per_streamlines, groups and data_per_group. Each file must have its data type specified by the users.

A reference file must be provided (NIFTI) and the option --verify_invalid will remove invalid streamlines (outside of the bounding box in VOX space).

All dimensions (nbr_vertices and nbr_streamlines) and groups/dpg must match otherwise the script will (likely) crash.

Each instance of --dps, --dpv, --groups require 2 arguments (FILE, DTYPE). --dpg requires 3 arguments (GROUP, FILE, DTYPE). The choice of DTYPE are:

    - (u)int8, (u)int16, (u)int32, (u)int64 - float16, float32, float64 - bool

Example command: tff_generate_trx_from_scratch.py fa.nii.gz generated.trx -f --positions test_npy/positions.npy --positions_dtype float16 --offsets test_npy/offsets.npy --offsets_dtype uint32 --dpv test_npy/dpv_cx.npy uint8 --dpv test_npy/dpv_cy.npy uint8 --dpv test_npy/dpv_cz.npy uint8 --dps test_npy/dps_algo.npy uint8 --dps test_npy/dps_cw.npy float64 --groups test_npy/g_AF_L.npy int32 --groups test_npy/g_AF_R.npy int32 --dpg g_AF_L test_npy/dpg_AF_L_mean_fa.npy float32 --dpg g_AF_R test_npy/dpg_AF_R_mean_fa.npy float32 --dpg g_AF_L test_npy/dpg_AF_L_volume.npy float32

  positional arguments:

reference
    Reference anatomy for tck/vtk/fib/dpy file support (.nii or .nii.gz).

OUT_TRACTOGRAM
    Output filename. Format must be one of trk, tck, vtk, fib, dpy, trx.

  options:

-h, --help
    show this help message and exit

--verify_invalid
    Verify that the positions are all valid. None outside of the bounding box in VOX space. Requires Dipy (due to use of SFT).

-f  Force overwriting of the output files.

  Positions options:

--positions POSITIONS
    Binary file containing the streamlines coordinates. Must be Nx3 (.npy)

--offsets OFFSETS
    Binary file containing the streamlines offsets (.npy)

--positions_csv POSITIONS
    CSV file containing the streamlines coordinates. Rows for each streamlines organized as x1,y1,z1, x2,y2,z2,...,xN,yN,zN

--space {RASMM,VOXMM,VOX}
    Space in which the coordinates are declared.[RASMM] Non-default option requires Dipy.

--origin {NIFTI,TRACKVIS}
    Origin in which the coordinates are declared. [NIFTI] Non-default option requires Dipy.

  Data type options:

--positions_dtype {float16,float32,float64}
    Specify the datatype for positions for trx. [float32]

--offsets_dtype {uint32,uint64}
    Specify the datatype for offsets for trx. [uint64]

  Streamlines metadata options:

--dpv FILE DTYPE
    Binary file containing data_per_vertex. Must haveNB_VERTICES as first dimension (.npy)

--dps FILE DTYPE
    Binary file containing data_per_vertex. Must haveNB_STREAMLINES as first dimension (.npy)

--groups FILE DTYPE
    Binary file containing a sparse group (indices). Indices should be lower than NB_STREAMLINES (.npy)

--dpg GROUP FILE DTYPE
    Binary file containing data_per_group.

    Must have(1,) as first dimension (.npy)