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)