TFF_GENERATE_...OM_SCRATCH.PY(1)

πŸ“¦
version 0.3 Β· 3 versions
, in debian trixie, ubuntu questing

🌸 NAME 🌸

tff_generate_trx_from_scratch.py β€” a User Commands icon, and she generates a TRX file from CSV, TXT or NPY files. periodt. πŸŽ€


✨ DESCRIPTION ✨

okay bestie, first things first, here's the whole vibe:

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

So what she does is generate a TRX file from a collection of CSV, TXT or NPY files, by you individually specifying positions, offsets, data_per_vertex, data_per_streamlines, groups and data_per_group. and like… every single file has to have its data type specified by the users. that's you. yes you. πŸ’…

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

πŸ’€ All dimensions (nbr_vertices and nbr_streamlines) and groups/dpg must match, otherwise the script will (likely) crash. like, crash crash. no cap. 😭

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 β€” the Reference anatomy for tck/vtk/fib/dpy file support (.nii or .nii.gz). the blueprint, the moment, the main character. πŸ‘‘
  • OUT_TRACTOGRAM β€” Output filename. Format must be one of trk, tck, vtk, fib, dpy, trx. pick your fighter. πŸ₯Š

πŸ”₯ options πŸ”₯

  • -h, --help β€” show this help message and exit. the classic. the icon.
  • --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. she said move, we're going in. πŸ’₯

🧚 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. yes bestie, the whole comma situation. πŸ“
  • --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 have NB_VERTICES as first dimension (.npy).
  • --dps FILE DTYPE β€” Binary file containing data_per_vertex. Must have NB_STREAMLINES as first dimension (.npy). (yep, the manpage says data_per_vertex right there, we're just reporting the news 🫑)
  • --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). one row. that's the whole flex. 🌈

and that's the page, bestie!! πŸ’– this lil masterpiece is tff_generate_trx_from_scratch.p... from the User Commands manual, dated July 2024 β€” go forth and generate those tractograms, you absolute legend πŸ§šβœ¨πŸ‘‘

πŸ“¦ where this page comes from