Hello,
I have used dcm2niix (v1.0.20210317) to convert ADNI DWI data collected on Siemens, GE, and Philips scanners to NIFTI format. I am trying to determine the phase encoding direction of each scan to use the eddy tool for distortion correction.
I am aware from a post on neurostars that only the phase encoding axis can be estimated for Philips (i,j,k) but not the polarity due to missing information from meta-data (https://neurostars.org/t/bids-fmriprep-s...). So it seems, I will have to get that information from ADNI, rather than the JSON files.
For the Siemens and GE files, a majority of phase encoding directions are "j", but some are noted as "j-" in the JSON files. Given that this is an axial acquisition, "j" should map onto the y-axis (PA). I then used fslhd to confirm this by extracting the sform_code and sform_yorient information. For all subjects (regardless of whether PhaseEncodingDirection was coded as j or j-), the sform_yorient is Posterior-to-Anterior.
For subjects with reverse polarity ("j-"), should the sform_yorient instead be coded as Anterior-to-Posterior? Ultimately, I'm wondering if there is any information from fslhd that should code the change in acquisition polarity (e.g., "j-" swapped PE direction)?
Thank you,
Jenna
The sform_yorient informs you that the row order of the image data as stored on disk is Posterior-to-Anterior: it tells you how to map voxels to world space. In contrast, the polarity tells you the direction of the phase encoding. One expects the data to be stored with the same spatial frome of reference, regardless of the order rows are acquired.
Hi Chris,
Thank you for your response. Just to be clear that I'm interpreting your response correctly, would the following two conditions be true:
*A subject with axial acquisition and a "PhaseEncodingDirection: j" should have a sform_yorient="Poster-to-Anterior"
*A subject with axial acquisition and a "PhaseEncodingDirection: j-" should similarly have a sform_yorient "Posterior-to-Anterior".
If so, this indicates that sform_yorient provides information about the acquisition plane and will change based on polarity.
Thank you,
Jenna
Originally posted by Chris Rorden:
The sform_yorient informs you that the row order of the image data as stored on disk is Posterior-to-Anterior: it tells you how to map voxels to world space. In contrast, the polarity tells you the direction of the phase encoding. One expects the data to be stored with the same spatial frome of reference, regardless of the order rows are acquired.
Think of the sform_*orients like a compass drawn on a map, which shows you how to orient the map so you know which direction is North, South, East and West. In contrast, think of the PhaseEncoding Direction as telling you if the farmer ploughed his field from north-to-south, south-to-north, east-to-west or west to east.
Thank you for the explanation. So the sform*orient will provide information on how to map the i, j, k indices in the BIDS JSON to world space.
sform_code 1
sto_xyz:1 -1.367200 -0.000000 0.000000
180.621002
sto_xyz:2 0.000000 1.367200 0.000000
-152.802017
sto_xyz:3 0.000000 0.000000 2.700005
-65.000862
sto_xyz:4 0.000000 0.000000 0.000000
1.000000
sform_xorient Right-to-Left
sform_yorient Posterior-to-Anterior
sform_zorient Inferior-to-Superior
For example, the above information tells us that i maps to RL, j maps to PA, and k maps to IS.
The PhaseEncodingDirection JSON tag then tells us how the data were collected. So, 'j' will indicate PA acquisition, while 'j-' will indicate AP acquisition, correct?
Thank you for your patience. I want to make sure I'm interpreting this information correctly.
Jenna
sform_xorient converts columns to world space
sform_yorient converts rows to world space
sform_zorient converts slices to world space
The PhaseEncodingDirection i/i- reveals phase encoding in ascending/descending columns.
The PhaseEncodingDirection j/j- reveals phase encoding in ascending/descending rows.