Yes, I used the most recent dcm2bids I could find. Typing dcm2bids --version gives:
dcm2bids version: 3.2.0
Based on BIDS version: v1.9.0
But you must be right that I’ve got something wrong, because fMRIPrep doesn’t actually output a fmap directory. The directory that dcm2bids creates has 3 files: 2 magnitude images and a phasediff image. Here’s the json for the first magnitude image:
{
"Modality": "MR",
"MagneticFieldStrength": 3,
"ImagingFrequency": 123.251257,
"Manufacturer": "Siemens",
"ManufacturersModelName": "Prisma",
"InstitutionName": "RUBIC",
"InstitutionalDepartmentName": "Department",
"InstitutionAddress": "University Ave. 197,Newark,NJ,US,07102",
"DeviceSerialNumber": "166188",
"StationName": "AWP166188",
"BodyPart": "BRAIN",
"PatientPosition": "HFS",
"ProcedureStepDescription": "Gluck^Miray",
"SoftwareVersions": "syngo MR E11",
"MRAcquisitionType": "2D",
"StudyDescription": "Gluck^Miray",
"SeriesDescription": "GF_Map",
"ProtocolName": "GF_Map",
"ScanningSequence": "GR",
"SequenceVariant": "SP",
"SequenceName": "*fm2d2r",
"ImageType": [
"ORIGINAL",
"PRIMARY",
"M",
"ND",
"MAGNITUDE"
],
"NonlinearGradientCorrection": false,
"SeriesNumber": 5,
"AcquisitionTime": "14:03:12.940000",
"AcquisitionNumber": 1,
"SliceThickness": 3,
"SpacingBetweenSlices": 3,
"SAR": 0.103875,
"TablePosition": [
0,
0,
0
],
"EchoNumber": 1,
"EchoTime": 0.00519,
"RepetitionTime": 0.588,
"FlipAngle": 60,
"PartialFourier": 1,
"BaseResolution": 64,
"ShimSetting": [
6205,
-7027,
9103,
182,
41,
-250,
254,
58
],
"TxRefAmp": 249.802,
"PhaseResolution": 1,
"ReceiveCoilName": "HeadNeck_64",
"ReceiveCoilActiveElements": "HC1-7;NC1",
"PulseSequenceDetails": "%SiemensSeq%\\gre_field_mapping",
"CoilCombinationMethod": "Sum of Squares",
"ConsistencyInfo": "N4_VE11E_LATEST_20181129",
"MatrixCoilMode": "SENSE",
"PercentPhaseFOV": 100,
"PercentSampling": 100,
"PhaseEncodingSteps": 64,
"AcquisitionMatrixPE": 64,
"ReconMatrixPE": 64,
"PixelBandwidth": 260,
"DwellTime": 3e-05,
"PhaseEncodingDirection": "j-",
"SliceTiming": [
0,
0.29688,
0.01562,
0.3125,
0.03125,
0.32812,
0.03125,
0.32812,
0.04688,
0.34375,
0.0625,
0.35938,
0.0625,
0.375,
0.07812,
0.375,
0.09375,
0.39062,
0.10938,
0.40625,
0.10938,
0.40625,
0.125,
0.42188,
0.14062,
0.4375,
0.14062,
0.45312,
0.15625,
0.45312,
0.17188,
0.46875,
0.1875,
0.48438,
0.1875,
0.48438,
0.20312,
0.5,
0.21875,
0.51562,
0.21875,
0.53125,
0.23438,
0.53125,
0.25,
0.54688,
0.25,
0.5625,
0.26562,
0.5625,
0.28125,
0.57812,
0.29688
],
"ImageOrientationPatientDICOM": [
0.999556,
-0.0242543,
-0.017288,
0.0237304,
0.999271,
-0.0298921
],
"ImageOrientationText": "Tra>Cor(-1.7)>Sag(-1.0)",
"InPlanePhaseEncodingDirectionDICOM": "COL",
"BidsGuess": [
"fmap",
"_acq-fm2_magnitude1"
],
"ConversionSoftware": "dcm2niix",
"ConversionSoftwareVersion": "v1.0.20241211",
"Dcm2bidsVersion": "3.2.0"
}
and the phasediff image:
{
"Modality": "MR",
"MagneticFieldStrength": 3,
"ImagingFrequency": 123.251257,
"Manufacturer": "Siemens",
"ManufacturersModelName": "Prisma",
"InstitutionName": "RUBIC",
"InstitutionalDepartmentName": "Department",
"InstitutionAddress": "University Ave. 197,Newark,NJ,US,07102",
"DeviceSerialNumber": "166188",
"StationName": "AWP166188",
"BodyPart": "BRAIN",
"PatientPosition": "HFS",
"ProcedureStepDescription": "Gluck^Miray",
"SoftwareVersions": "syngo MR E11",
"MRAcquisitionType": "2D",
"StudyDescription": "Gluck^Miray",
"SeriesDescription": "GF_Map",
"ProtocolName": "GF_Map",
"ScanningSequence": "GR",
"SequenceVariant": "SP",
"SequenceName": "*fm2d2r",
"ImageType": [
"ORIGINAL",
"PRIMARY",
"P",
"ND",
"PHASE"
],
"NonlinearGradientCorrection": false,
"SeriesNumber": 6,
"AcquisitionTime": "14:03:13.530000",
"AcquisitionNumber": 1,
"SliceThickness": 3,
"SpacingBetweenSlices": 3,
"SAR": 0.103875,
"TablePosition": [
0,
0,
0
],
"EchoNumber": 2,
"EchoTime": 0.00765,
"RepetitionTime": 0.588,
"FlipAngle": 60,
"EchoTime1": 0.00519,
"EchoTime2": 0.00765,
"PartialFourier": 1,
"BaseResolution": 64,
"ShimSetting": [
6205,
-7027,
9103,
182,
41,
-250,
254,
58
],
"TxRefAmp": 249.802,
"PhaseResolution": 1,
"ReceiveCoilName": "HeadNeck_64",
"ReceiveCoilActiveElements": "HC1-7;NC1",
"PulseSequenceDetails": "%SiemensSeq%\\gre_field_mapping",
"CoilCombinationMethod": "Sum of Squares",
"ConsistencyInfo": "N4_VE11E_LATEST_20181129",
"MatrixCoilMode": "SENSE",
"PercentPhaseFOV": 100,
"PercentSampling": 100,
"PhaseEncodingSteps": 64,
"AcquisitionMatrixPE": 64,
"ReconMatrixPE": 64,
"PixelBandwidth": 260,
"DwellTime": 3e-05,
"PhaseEncodingDirection": "j-",
"SliceTiming": [
0,
0.29688,
0.01562,
0.3125,
0.01562,
0.32812,
0.03125,
0.32812,
0.04688,
0.34375,
0.04688,
0.35938,
0.0625,
0.35938,
0.07812,
0.375,
0.09375,
0.39062,
0.09375,
0.40625,
0.10938,
0.40625,
0.125,
0.42188,
0.125,
0.4375,
0.14062,
0.4375,
0.15625,
0.45312,
0.17188,
0.46875,
0.17188,
0.46875,
0.1875,
0.48438,
0.20312,
0.5,
0.21875,
0.51562,
0.21875,
0.51562,
0.23438,
0.53125,
0.25,
0.54688,
0.25,
0.54688,
0.26562,
0.5625,
0.28125,
0.57812,
0.28125
],
"ImageOrientationPatientDICOM": [
0.999556,
-0.0242543,
-0.017288,
0.0237304,
0.999271,
-0.0298921
],
"ImageOrientationText": "Tra>Cor(-1.7)>Sag(-1.0)",
"InPlanePhaseEncodingDirectionDICOM": "COL",
"BidsGuess": [
"fmap",
"_acq-fm2_phasediff"
],
"ConversionSoftware": "dcm2niix",
"ConversionSoftwareVersion": "v1.0.20241211",
"Dcm2bidsVersion": "3.2.0"
}
And just to err on the side of TMI, I’m attaching my dcm2bids_config.json file as well:
{
"descriptions": [
{
"datatype": "anat",
"suffix": "T1w",
"criteria": {
"SeriesDescription": "MPRage"
}
},
{
"datatype": "anat",
"suffix": "FLAIR",
"criteria": {
"SeriesDescription": "Sagittal 3D FLAIR",
"EchoTime": 0.393
},
"sidecar_changes": {
"ProtocolName": "FLAIR"
}
},
{
"datatype": "anat",
"suffix": "T2w",
"criteria": {
"SeriesDescription": "Sag_T2w_SPC",
"EchoTime": 0.564
},
"sidecar_changes": {
"ProtocolName": "T2"
}
},
{
"datatype": "func",
"suffix": "bold",
"custom_entities": "task-rest",
"criteria": {
"SeriesDescription": "MB_fMRI_resting_state"
},
"sidecar_changes": {
"TaskName": "rest"
}
},
{
"datatype": "fmap",
"suffix": "magnitude1",
"intendedFor": [
9
],
"EchoTime": 0.00519,
"B0FieldIdentifier": "GF_Map",
"criteria": {
"EchoNumber": "1",
"SeriesNumber": "5"
}
},
{
"datatype": "fmap",
"suffix": "magnitude2",
"intendedFor": [
9
],
"EchoTime": 0.00765,
"B0FieldIdentifier": "GF_Map",
"criteria": {
"EchoNumber": "2",
"SeriesNumber": "5"
}
},
{
"datatype": "fmap",
"suffix": "phasediff",
"intendedFor": [
9
],
"EchoTime1": 0.00519,
"EchoTime2": 0.00765,
"B0FieldIdentifier": "GF_Map",
"criteria": {
"SeriesNumber": "6"
}
}
]
}
Turns out I do use B0FieldIdnetifier, but not B0FieldSource.
Best,
Will