Summary of what happened:
Dear pyAFQ experts,
I am performing tractometry using ParticipantAFQ()
. The processing completed without any errors, but the number of bundles output does not match those mentioned in the AFQ Browser or Kruper et al. (2021).
The main bundles mentioned in Kruper et al. (2021) are the following 18:
- Left arcuate
- Right arcuate
- Left thalamic radiation
- Right thalamic radiation
- Left cingulum cingulate
- Right cingulum cingulate
- Left corticospinal
- Right corticospinal
- Callosum forceps minor
- Callosum forceps major
- Left inferior fronto-occipital fasciculus
- Right inferior fronto-occipital fasciculus
- Left inferior longitudinal fasciculus
- Right inferior longitudinal fasciculus
- Left superior longitudinal fasciculus
- Right superior longitudinal fasciculus
- Left uncinate
- Right uncinate
On the other hand, in my analysis, the following 28 bundles were output:
(The parts that differ from Kruper et al. (2021) are highlighted in bold.)
- Left Anterior Thalamic
- Right Anterior Thalamic
- Left Cingulum Cingulate
- Right Cingulum Cingulate
- Left Corticospinal
- Right Corticospinal
- Left Inferior Fronto-Occipital
- Right Inferior Fronto-Occipital
- Left Inferior Longitudinal
- Right Inferior Longitudinal
- Left Superior Longitudinal
- Right Superior Longitudinal
- Left Arcuate
- Right Arcuate
- Left Uncinate
- Right Uncinate
- Left Posterior Arcuate
- Right Posterior Arcuate
- Callosum Anterior Frontal
- Callosum Motor
- Callosum Occipital
- Callosum Orbital
- Callosum Posterior Parietal
- Callosum Superior Frontal
- Callosum Superior Parietal
- Callosum Temporal
Question 1:
On what kind of atlas are these 28 bundles based?
Question 2:
Is it possible to display these 28 bundles in AFQ Browser?
Question 3:
What should be added to the following script to output the same 18 bundles as in Kruper et al. (2021)? The pyAFQ documentation only mentions how to output a subset of bundles.
Best,
Command used :
import os
import os.path as op
from AFQ.api.participant import ParticipantAFQ
from AFQ.definitions.image import ImageFile
bids_path = op.join('/media/brain', 'my_disk', 'my_project')
dwi_path = op.join(bids_path, 'derivatives', 'my_preproc_pipeline', 'sub-N0001', 'dwi', 'sub-N0001_dir-AP_dwi.nii.gz')
bval_path = op.join(bids_path, 'derivatives', 'my_preproc_pipeline', 'sub-N0001', 'dwi', 'sub-N0001_dir-AP_dwi.bval')
bvec_path = op.join(bids_path, 'derivatives', 'my_preproc_pipeline', 'sub-N0001', 'dwi', 'sub-N0001_dir-AP_dwi.bvec')
mask_path = op.join(bids_path, 'derivatives', 'my_preproc_pipeline', 'sub-N0001', 'dwi', 'sub-N0001_mask.nii.gz')
tck_path = op.join(bids_path, 'derivatives', 'my_tractography', 'sub-N0001', 'dwi', 'sub-N0001_CSD_Prob_ACT_5000000_tractography.tck')
out_dir = op.join(bids_path, 'derivatives', 'afq', 'sub-N0001')
brain_mask_definition = ImageFile(
path = mask_path,
suffix = "mask",
filters = {"scope":"my_preproc_pipeline"})
myafq = ParticipantAFQ(
dwi_path, bval_path, bvec_path, out_dir,
import_tract = tck_path,
brain_mask_definition = brain_mask_definition,
mapping_definition = None)
myafq.export_all()