Hi all,
I’m trying to determine the phase encoding directionality for some diffusion-weighted scans acquired by a Siemens Prisma scanner. dcm2niix (@neurolabusc) seems to determine phase encoding smoothly, however, looking at the private tags, I couldn’t find the private tag (0019, 100e) or any other tag that adequately differentiates the two.
Looking deeper into the Series’ CSA header revealed some differences under the “Diffusion” tag, however, I could not determine with confidence which of these differences is a reliable source for deducing the directionality. E.g. for an AP-encoded series:
{'Mode': 1,
'Scheme': 1,
'QSpaceCoverage': 1,
'QSpaceSampling': 1,
'QSpaceSteps': 1,
'BValue': {'__attribute__': {'size': 128}},
'Averages': {'__attribute__': {'size': 128}},
'FreeDiffusionData': {'CoordinateSystem': 1,
'Normalization': 1,
'DiffDirVector': {'__attribute__': {'size': 0}}}}
and for a PA-encoded series:
{'DiffWeightings': 2,
'NoiseLevel': 40,
'DiffDirections': 6,
'Mode': 128,
'Scheme': 2,
'QSpaceCoverage': 1,
'QSpaceSampling': 1,
'QSpaceMaxBValue': 5,
'QSpaceSteps': 1,
'BValue': [4000],
'Averages': [1],
'Averages[0]': 1,
'FreeDiffusionData': {'Comment': {'0': " = 0x62 # 'b'",
'1': " = 0x30 # '0'",
'2': " = 0x73 # 's'",
'3': " = 0x5f # '_'",
'4': " = 0x64 # 'd'",
'5': " = 0x69 # 'i'",
'6': " = 0x72 # 'r'",
'7': " = 0x65 # 'e'",
'8': " = 0x63 # 'c'",
'9': " = 0x74 # 't'",
'10': " = 0x69 # 'i'",
'11': " = 0x6f # 'o'",
'12': " = 0x6e # 'n'",
'13': " = 0x5f # '_'",
'14': " = 0x69 # 'i'",
'15': " = 0x64 # 'd'",
'16': " = 0x6f # 'o'",
'17': " = 0x2e # '.'",
'18': " = 0x64 # 'd'",
'19': " = 0x76 # 'v'",
'20': " = 0x73 # 's'",
'21': ' = 0xa',
'22': " = 0x53 # 'S'",
'23': " = 0x49 # 'I'",
'24': " = 0x45 # 'E'",
'25': " = 0x4d # 'M'",
'26': " = 0x45 # 'E'",
'27': " = 0x4e # 'N'",
'28': " = 0x53 # 'S'",
'29': ' = 0xa',
'30': " = 0x49 # 'I'",
'31': " = 0x6e # 'n'",
'32': " = 0x74 # 't'",
'33': " = 0x65 # 'e'",
'34': " = 0x72 # 'r'",
'35': " = 0x6e # 'n'",
'36': " = 0x61 # 'a'",
'37': " = 0x6c # 'l'",
'38': " = 0x20 # ' '",
'39': " = 0x36 # '6'",
'40': " = 0x2d # '-'",
'41': " = 0x64 # 'd'",
'42': " = 0x69 # 'i'",
'43': " = 0x72 # 'r'",
'44': " = 0x65 # 'e'",
'45': " = 0x63 # 'c'",
'46': " = 0x74 # 't'",
'47': " = 0x69 # 'i'",
'48': " = 0x6f # 'o'",
'49': " = 0x6e # 'n'",
'50': " = 0x73 # 's'",
'51': " = 0x20 # ' '",
'52': " = 0x73 # 's'",
'53': " = 0x65 # 'e'",
'54': " = 0x74 # 't'"},
'DiffDirections': 6,
'CoordinateSystem': 1,
'Normalization': 1,
'DiffDirVector': [{'Sag': 1, 'Tra': 1},
{'Sag': -1, 'Tra': 1},
{'Cor': 1, 'Tra': 1},
{'Cor': 1, 'Tra': -1},
{'Sag': 1, 'Cor': 1},
{'Sag': -1, 'Cor': 1}]}}
Any help figuring this out will be greatly appreciated!
Best,
Zvi