Determine the type of Philips fieldmaps, its units, and adjustments for BIDS

My issue is similar to Converting Philips Fieldmaps to BIDS and finding Echo time 1 and Echo time 2 - #11 by Carlos_Z

I am processing certain Philips Achieva and Achieva dStream scans around the 2014 era. I do have access to the DICOM files. When I run these files through dcm2niix (at default settings) I tend to receive a magnitude image (i.e. only has a _real suffix) and an image that has the suffix _real_ph

Here is a view of the magnitude image and its sidecar:

{
	"Modality": "MR",
	"MagneticFieldStrength": 3,
	"ImagingFrequency": 127.726096,
	"Manufacturer": "Philips",
	"ManufacturersModelName": "Achieva",
	"BodyPartExamined": "BRAIN",
	"PatientPosition": "HFS",
	"SoftwareVersions": "3.2.3\\3.2.3.0",
	"MRAcquisitionType": "2D",
	"ScanningSequence": "GR",
	"SequenceVariant": "SS",
	"ScanOptions": "FC",
	"PulseSequenceName": "FFE",
	"ImageType": ["ORIGINAL", "PRIMARY", "M", "FFE", "M", "FFE", "REAL"],
	"SeriesNumber": 601,
	"AcquisitionTime": "17:18:2.620000",
	"AcquisitionNumber": 6,
	"PhilipsRescaleSlope": 1.2862,
	"PhilipsRescaleIntercept": 0,
	"PhilipsScaleSlope": 0.000195649,
	"UsePhilipsFloatNotDisplayScaling": 1,
	"SliceThickness": 3,
	"SpacingBetweenSlices": 4,
	"SAR": 0.139658,
	"EchoTime": 0.004606,
	"RepetitionTime": 0.688001,
	"MTState": false,
	"FlipAngle": 60,
	"CoilString": "Dual coil",
	"PercentPhaseFOV": 100,
	"PercentSampling": 100,
	"PartialFourierDirection": "FREQUENCY",
	"PhaseEncodingSteps": 64,
	"FrequencyEncodingSteps": 64,
	"PhaseEncodingStepsOutOfPlane": 1,
	"AcquisitionMatrixPE": 64,
	"ReconMatrixPE": 64,
	"WaterFatShift": 1.51277,
	"EstimatedEffectiveEchoSpacing": 2.76468e-05,
	"EstimatedTotalReadoutTime": 0.00174175,
	"AcquisitionDuration": 90.8161,
	"PixelBandwidth": 287,
	"PhaseEncodingAxis": "j",
	"ImageOrientationPatientDICOM": [
		1,
		0,
		0,
		0,
		0.961913,
		-0.273354	],
	"InPlanePhaseEncodingDirectionDICOM": "COL",
	"BidsGuess": ["anat","_acq-SSGRFFE_run-601_part-mag_T2starw"],
	"ConversionSoftware": "dcm2niix",
	"ConversionSoftwareVersion": "v1.0.20240202"
}

And here is the image with the _real_ph suffix plus its sidecar:

{
	"Modality": "MR",
	"MagneticFieldStrength": 3,
	"ImagingFrequency": 127.726096,
	"Manufacturer": "Philips",
	"ManufacturersModelName": "Achieva",
	"BodyPartExamined": "BRAIN",
	"PatientPosition": "HFS",
	"SoftwareVersions": "3.2.3\\3.2.3.0",
	"MRAcquisitionType": "2D",
	"ScanningSequence": "GR",
	"SequenceVariant": "SS",
	"ScanOptions": "FC",
	"PulseSequenceName": "FFE",
	"ImageType": ["ORIGINAL", "PRIMARY", "VELOCITY MAP", "P", "PCA", "PHASE", "REAL"],
	"SeriesNumber": 601,
	"AcquisitionTime": "17:18:2.620000",
	"AcquisitionNumber": 6,
	"PhilipsRescaleSlope": 0.0991453,
	"PhilipsRescaleIntercept": -203,
	"PhilipsScaleSlope": 10.0737,
	"UsePhilipsFloatNotDisplayScaling": 1,
	"SliceThickness": 3,
	"SpacingBetweenSlices": 4,
	"SAR": 0.139658,
	"EchoTime": 0.004606,
	"RepetitionTime": 0.688001,
	"MTState": false,
	"FlipAngle": 60,
	"CoilString": "Dual coil",
	"PercentPhaseFOV": 100,
	"PercentSampling": 100,
	"PartialFourierDirection": "FREQUENCY",
	"PhaseEncodingSteps": 64,
	"FrequencyEncodingSteps": 64,
	"PhaseEncodingStepsOutOfPlane": 1,
	"AcquisitionMatrixPE": 64,
	"ReconMatrixPE": 64,
	"WaterFatShift": 1.51277,
	"EstimatedEffectiveEchoSpacing": 2.76468e-05,
	"EstimatedTotalReadoutTime": 0.00174175,
	"AcquisitionDuration": 90.8161,
	"PixelBandwidth": 287,
	"PhaseEncodingAxis": "j",
	"ImageOrientationPatientDICOM": [
		1,
		0,
		0,
		0,
		0.961913,
		-0.273354	],
	"InPlanePhaseEncodingDirectionDICOM": "COL",
	"BidsGuess": ["anat","_acq-SSGRFFE_run-601_part-phase_T2starw"],
	"ConversionSoftware": "dcm2niix",
	"ConversionSoftwareVersion": "v1.0.20240202"
}

To my understanding:

  • This is a fully preprocessed fieldmap and NOT a phasediff. Therefore to be BIDS compliant, I would have to denote this file with the _fieldmap suffix
  • The units are in Hz. If true, then BIDS compliance necessitates that the Units key be added to the sidecar. For future note and for scripting purposes, is the following DICOM field a reliable giveaway? It had the value “HERTZ” in the data I work with: (2005,1346) MRSpectroFrequencyUnit
  • Assuming the above are true & implemented along with other keys like IntendedFor, this is ready for use in tools like fMRIPrep

I would like to ask whether anyone can confirm or deny the above.

I will investigate.For details see dcm2niix issue 455