Phase encoding: acquisition parameters

Hi,
my name is Marta and I am a student working on the dwi data. I am suppose to run the topup and would need help to figure out what is the phase encoding. The images were acquired on a 3 Tesla scanner Discovery MR750 (General Electric, Milwaukee, Wisconsin) using an eight-channel head coil. I have received data devided in folders based on their b- value. I have the following data set: : b0, b100, b100_AP, b500, b1000, b1500, b2000 and b2500. I opened some dicom images from b100_AP and compared them with the dicom images from folders b100 and b500. I could clearly see that images from b100_AP folder were a bit darker and more distorted which I think suggests that AP is the opposite phase encoding direction but I am not sure.

By using dcm2niix I was able to generate json file, nii.gz, bval and bvec.
According to information from json file our data have been acquired with “j” phase encoding direction; please see how my json file looks like at the the bottom of this message;I could not uploaded it here as I am a new user. Unfortunately, I cannot count on the technitian help.
It is difficult for me to understand wether our data were acquired with P=> A or A=>P phase encoding and how this can be translated into a numerical values as I need an acquisition parameters file which should look like here : https://fsl.fmrib.ox.ac.uk/fslcourse/lectures/practicals/fdt1/index.html ;see running topup.

Does the echo time stand for total readout time? So, for my data it would be 0.096?

Would my acquisition parameter file look like this:
0 -1 0 0.096
0 1 0 0.096 (opposite phase encoding)?
or rather like this:
0 1 0 0.096
0 -1 0 0.096 (opposite phase encoding)?

Is the “ImageOrientationPatientDICOM” from the json file important for the acquisition parametrs for running topup?

Please help me with this. I find interpreting the phase encoding very hard and cannot go forward without solving this matter.

JSON FILE CONTENT
{
	"Modality": "MR",
	"MagneticFieldStrength": 3,
	"ImagingFrequency": 127.76,
	"Manufacturer": "GE",
	"ManufacturersModelName": "DISCOVERY_MR750w",
	"PatientPosition": "HFS",
	"ProcedureStepDescription": "MR_OPEN_VRAA",
	"SoftwareVersions": "24_LX_MR_Software_release:DV24.0_R01_1344.a",
	"MRAcquisitionType": "2D",
	"SeriesDescription": "DTIs3-dir15-b1000",
	"ProtocolName": "DTIs3-dir15-b1000",
	"ScanningSequence": "EP_SE",
	"SequenceVariant": "NONE",
	"ScanOptions": "SAT_GEMS_EPI_GEMS_ART_GEMS_FILTERED_GEMS_ACC_GEMS_PFF_FS",
	"ImageType": ["ORIGINAL", "PRIMARY", "OTHER"],
	"SeriesNumber": 10,
	"AcquisitionTime": "12:37:11.000000",
	"AcquisitionNumber": 1,
	"SliceThickness": 2.5,
	"SpacingBetweenSlices": 2.5,
	"SAR": 0.100645,
	"EchoTime": 0.096,
	"RepetitionTime": 9.2,
	"FlipAngle": 90,
	"PhaseEncodingPolarityGE": "Flipped",
	"CoilString": "8HRBRAIN",
	"PercentPhaseFOV": 75,
	"AcquisitionMatrixPE": 100,
	"ReconMatrixPE": 100,
	"EffectiveEchoSpacing": 0.001036,
	"TotalReadoutTime": 0.102564,
	"PixelBandwidth": 5000,
	"PhaseEncodingDirection": "j",
	"SliceTiming": [
		0,
		4.784,
		0.184,
		4.968,
		0.368,
		5.152,
		0.552,
		5.336,
		0.736,
		5.52,
		0.92,
		5.704,
		1.104,
		5.888,
		1.288,
		6.072,
		1.472,
		6.256,
		1.656,
		6.44,
		1.84,
		6.624,
		2.024,
		6.808,
		2.208,
		6.992,
		2.392,
		7.176,
		2.576,
		7.36,
		2.76,
		7.544,
		2.944,
		7.728,
		3.128,
		7.912,
		3.312,
		8.096,
		3.496,
		8.28,
		3.68,
		8.464,
		3.864,
		8.648,
		4.048,
		8.832,
		4.232,
		9.016,
		4.416,
		9.2	],
	"ImageOrientationPatientDICOM": [
		1,
		-0,
		0,
		-0,
		1,
		0	],
	"InPlanePhaseEncodingDirectionDICOM": "COL",
	"ConversionSoftware": "dcm2niix",
	"ConversionSoftwareVersion": "v1.0.20190902"
}

Best regards,

Marta

Welcome Marta!

Ultimately topup is an FSL command, so I’m hesitant to invest a lot of effort in instructing in its direct utilisation. Indeed I’ve invested a lot of effort into the dwifslpreproc wrapper script over the years specifically so that fewer users would need to deal with these esoteric details. In the extreme case, using the -rpe_header option pulls the phase encoding information directly from the image header(s) (JSON data can be inserted into image headers using mrconvert -json_import), and figures out for you how topup and eddy should be run.

Cheers
Rob

Hello!
My name is Maria and I have the same issue than Marta, hope someone has solved this or explain the way to extract this information from the json header.

Thank you in advance

Hi Maria,

It’s unclear exactly which aspect of the original post applies to your case. I can point you to the documentation page on how phase encoding information is handled in MRtrix3, including the image header / JSON fields involved. If all you want is to extract the phase encoding information from an existing JSON file, then it’s just a matter of finding the relevant fields within the file: PhaseEncodingDirection and TotalReadoutTime are BIDS fields and will be saved by many DICOM conversion softwares; whereas “pe_scheme” is specific to MRtrix3 and is only utilised in more complex scenarios where the former do not suffice (as is explained in the Documentation). If anything remains outstanding, do let us know.

Cheers
Rob