TractoFlow UKBiobank process - neurohub/neurohub_documentation GitHub Wiki

TractoFlow - UKBB Documentation

The full documentation provided by Brent McPherson, is available on Beluga at the following path:

/lustre03/project/6008063/neurohub/ukbb/new/Derived/TractoFlow_README.md

Technical Details

  • Developer: Brent McPherson
  • TractoFlow Version: v2.2.1
  • GitHub of processing notes: github
  • Container Link: Docker Hub

Introduction

TractoFlow performs a sequence of noise removal and correction steps that prepare dMRI data (and a required T1w image) for further analysis. Additionally, it performs a standard sequence of common models and stores the most commonly used derivatives.

The processing steps are performed on both the dMRI and structural MRI (sMRI; T1w) images. The T1w images are used for registration and to improve the quality of the default tractography.

Data are available for the first 2 imaging time points (ses-2 and ses-3), with the majority of participants with complete inputs available in the .squashfs archives.

Processing for ses-3 will continue as more data is made available through the project.

File structure on Beluga

TractoFlow data is currently archived at the following path:

/lustre03/project6008063/neurohub/ukbb/new/Derived

Within this directory, there are 2 folders with TractoFlow outputs: tractoflow_out and tractoflow_creating.

Completed archives typically contain between 150-200 participant outputs.

tractoflow_out

Contains the initial processing of the majority of the subjects available for the first imaging time point (ses-2). However, some of these archived outputs are incomplete. Typically, if they are incomplete they are only missing the tractography. This is typically from a timeout due to slow performance from the single threaded PFT Tracking implemented by scilpy.

Newly completed subjects will be added and archived as completed.

tractoflow_creating

Contains a large batch of the attempted and incomplete ses-2 participants as well as participants that were not completed as part of the first attempt.

Additionally, this is where all the completed ses-3 archives are stored. More will be added as data are released.

Example of data available per archived subject

/tractoflow_results/sub-1000083_ses-2:
Bet_DWI		Bet_T1       Crop_DWI  Denoise_DWI  DTI_Metrics  Extract_B0     Extract_FODF_Shell	N4_DWI	Normalize_DWI	  PFT_Tracking       Register_T1  Resample_DWI	Segment_Tissues
Bet_Prelim_DWI	Compute_FRF  Crop_T1   Denoise_T1   Eddy_Topup	 Extract_DTI_Shell  FODF_Metrics	N4_T1	PFT_Seeding_Mask  PFT_Tracking_Maps  Resample_B0  Resample_T1	Topup

/tractoflow_results/sub-1000083_ses-2/Bet_DWI:
sub-1000083_ses-2__b0_bet_mask.nii.gz  sub-1000083_ses-2__b0_bet.nii.gz  sub-1000083_ses-2__dwi_bet.nii.gz

/tractoflow_results/sub-1000083_ses-2/Bet_Prelim_DWI:
sub-1000083_ses-2__b0_bet_mask_dilated.nii.gz  sub-1000083_ses-2__b0_bet_mask.nii.gz  sub-1000083_ses-2__b0_bet.nii.gz

/tractoflow_results/sub-1000083_ses-2/Bet_T1:
sub-1000083_ses-2__t1_bet_mask.nii.gz  sub-1000083_ses-2__t1_bet.nii.gz

/tractoflow_results/sub-1000083_ses-2/Compute_FRF:
sub-1000083_ses-2__frf.txt

/tractoflow_results/sub-1000083_ses-2/Crop_DWI:
sub-1000083_ses-2__b0_cropped.nii.gz  sub-1000083_ses-2__b0_mask_cropped.nii.gz  sub-1000083_ses-2__dwi_cropped.nii.gz

/tractoflow_results/sub-1000083_ses-2/Crop_T1:
sub-1000083_ses-2__t1_bet_cropped.nii.gz  sub-1000083_ses-2__t1_bet_mask_cropped.nii.gz

/tractoflow_results/sub-1000083_ses-2/Denoise_DWI:
sub-1000083_ses-2__dwi_denoised.nii.gz

/tractoflow_results/sub-1000083_ses-2/Denoise_T1:
sub-1000083_ses-2__t1_denoised.nii.gz

/tractoflow_results/sub-1000083_ses-2/DTI_Metrics:
sub-1000083_ses-2__ad.nii.gz        sub-1000083_ses-2__evecs.nii.gz	sub-1000083_ses-2__ga.nii.gz           sub-1000083_ses-2__pulsation_std_dwi.nii.gz     sub-1000083_ses-2__residual_q1_residuals.npy	sub-1000083_ses-2__tensor.nii.gz
sub-1000083_ses-2__evals_e1.nii.gz  sub-1000083_ses-2__evecs_v1.nii.gz	sub-1000083_ses-2__md.nii.gz           sub-1000083_ses-2__rd.nii.gz            sub-1000083_ses-2__residual_q3_residuals.npy
sub-1000083_ses-2__evals_e2.nii.gz  sub-1000083_ses-2__evecs_v2.nii.gz	sub-1000083_ses-2__mode.nii.gz         sub-1000083_ses-2__residual_iqr_residuals.npy   sub-1000083_ses-2__residual_residuals_stats.png
sub-1000083_ses-2__evals_e3.nii.gz  sub-1000083_ses-2__evecs_v3.nii.gz	sub-1000083_ses-2__nonphysical.nii.gz  sub-1000083_ses-2__residual_mean_residuals.npy  sub-1000083_ses-2__residual_std_residuals.npy
sub-1000083_ses-2__evals.nii.gz     sub-1000083_ses-2__fa.nii.gz	sub-1000083_ses-2__norm.nii.gz         sub-1000083_ses-2__residual.nii.gz          sub-1000083_ses-2__rgb.nii.gz

/tractoflow_results/sub-1000083_ses-2/Eddy_Topup:
sub-1000083_ses-2__b0_bet_mask.nii.gz  sub-1000083_ses-2__bval_eddy  sub-1000083_ses-2__dwi_corrected.nii.gz  sub-1000083_ses-2__dwi_eddy_corrected.bvec

/tractoflow_results/sub-1000083_ses-2/Extract_B0:
sub-1000083_ses-2__b0.nii.gz

/tractoflow_results/sub-1000083_ses-2/Extract_DTI_Shell:
sub-1000083_ses-2__bval_dti  sub-1000083_ses-2__bvec_dti  sub-1000083_ses-2__dwi_dti.nii.gz

/tractoflow_results/sub-1000083_ses-2/Extract_FODF_Shell:
sub-1000083_ses-2__bval_fodf  sub-1000083_ses-2__bvec_fodf  sub-1000083_ses-2__dwi_fodf.nii.gz

/tractoflow_results/sub-1000083_ses-2/FODF_Metrics:
sub-1000083_ses-2__afd_max.nii.gz  sub-1000083_ses-2__afd_sum.nii.gz  sub-1000083_ses-2__afd_total.nii.gz  sub-1000083_ses-2__fodf.nii.gz  sub-1000083_ses-2__nufo.nii.gz  sub-1000083_ses-2__peak_indices.nii.gz  sub-1000083_ses-2__peaks.nii.gz

/tractoflow_results/sub-1000083_ses-2/N4_DWI:
sub-1000083_ses-2__dwi_n4.nii.gz

/tractoflow_results/sub-1000083_ses-2/N4_T1:
sub-1000083_ses-2__t1_n4.nii.gz

/tractoflow_results/sub-1000083_ses-2/Normalize_DWI:
sub-1000083_ses-2__dwi_normalized.nii.gz  sub-1000083_ses-2_fa_wm_mask.nii.gz

/tractoflow_results/sub-1000083_ses-2/PFT_Seeding_Mask:
sub-1000083_ses-2__pft_seeding_mask.nii.gz

/tractoflow_results/sub-1000083_ses-2/PFT_Tracking:
sub-1000083_ses-2__pft_tracking_prob_wm_seed_0.trk

/tractoflow_results/sub-1000083_ses-2/PFT_Tracking_Maps:
sub-1000083_ses-2__interface.nii.gz  sub-1000083_ses-2__map_exclude.nii.gz  sub-1000083_ses-2__map_include.nii.gz

/tractoflow_results/sub-1000083_ses-2/Register_T1:
sub-1000083_ses-2__output0GenericAffine.mat  sub-1000083_ses-2__output1InverseWarp.nii.gz  sub-1000083_ses-2__output1Warp.nii.gz  sub-1000083_ses-2__t1_mask_warped.nii.gz  sub-1000083_ses-2__t1_warped.nii.gz

/tractoflow_results/sub-1000083_ses-2/Resample_B0:
sub-1000083_ses-2__b0_mask_resampled.nii.gz  sub-1000083_ses-2__b0_resampled.nii.gz

/tractoflow_results/sub-1000083_ses-2/Resample_DWI:
sub-1000083_ses-2__dwi_resampled.nii.gz

/tractoflow_results/sub-1000083_ses-2/Resample_T1:
sub-1000083_ses-2__t1_resampled.nii.gz

/tractoflow_results/sub-1000083_ses-2/Segment_Tissues:
sub-1000083_ses-2__map_csf.nii.gz  sub-1000083_ses-2__map_gm.nii.gz  sub-1000083_ses-2__map_wm.nii.gz  sub-1000083_ses-2__mask_csf.nii.gz  sub-1000083_ses-2__mask_gm.nii.gz  sub-1000083_ses-2__mask_wm.nii.gz

/tractoflow_results/sub-1000083_ses-2/Topup:
sub-1000083_ses-2__corrected_b0s.nii.gz  sub-1000083_ses-2__rev_b0_warped.nii.gz  topup_results_fieldcoef.nii.gz  topup_results_movpar.txt

Processing Steps

dMRI Image Processing

  • Brain Extraction (FSL)
  • Denoising (MRTrix3)
  • TopUp (FSL)
  • Eddy (FSL)
  • N4 Bias Field Correction (ANTs)
  • Resampling (Dipy)
  • DTI Metrics (Dipy)
  • fODF Metrics (Dipy)

Tractography

  • Particle Filter (PFT) Tractography (scilpy)

T1w sMRI Image Processing

  • Brain Extraction (ANTs)
  • Denoising (Dipy)
  • N4 Bias Field Removal (ANTs)
  • Resampling (Dipy)
  • Registration (Dipy)
  • Tissue Segmentation (FSL)