Error bids validation after dcm2bids conversion: 'RepetitionTime' and 'AcquisitionDuration' are mutually exclusive

Hello,

we used dcm2bids to convert our MRI pilot data to BIDS (Data acquired on Siemens MAGNETOM Prisma). I upload my BIDS folder in the BIDS validator I keep getting the error below. I am afraid there might be something wrong with the export at the scanner (we choose ‘image conversion - enhanced’ and exported both in ‘create DICOM file system’ mode and with the box unchecked) . Note that I collected data two summers ago with siemens and I had no issues with the conversion.

error bids validator:

The fields ‘RepetitionTime’ and ‘AcquisitionDuration’ for this file are mutually exclusive. To specify acquisition duration, use ‘SliceTiming’ or ‘DelayTime’ (RepetitionTime - AcquisitionDuration).

  • /sub-01/anat/sub-01_T1w.nii.gz
  • /sub-01/fmap/sub-01_magnitude1.nii.gz
  • /sub-01/fmap/sub-01_magnitude2.nii.gz
  • /sub-01/fmap/sub-01_phasediff.nii.gz
  • /sub-01/func/sub-01_task-WM_run-01_bold.nii.gz
  • /sub-01/func/sub-01_task-WM_run-02_bold.nii.gz
  • /sub-01/func/sub-01_task-WM_run-03_bold.nii.gz

When I run dcm2bids, I get no errors but the following warnings appear (even for my T1 I get a warning for incorrect slicetiming which is weird):

I am not able to attach a json file so I pasted the content below (this is for one of the functional fmri runs).

anyone with experience with this? Thank you in advance for your help!

Nina

{
    "Modality": "MR",
    "MagneticFieldStrength": 3,
    "ImagingFrequency": 123.241502,
    "Manufacturer": "Siemens",
    "ManufacturersModelName": "MAGNETOM Prisma Fit",
    "BodyPartExamined": "BRAIN",
    "PatientPosition": "HFS",
    "ProcedureStepDescription": "Sequence Region Customer Sequences",
    "SoftwareVersions": "syngo MR XA60",
    "MRAcquisitionType": "2D",
    "SeriesDescription": "FUNC_RUN1",
    "ProtocolName": "FUNC_RUN1",
    "ScanningSequence": "EP",
    "SequenceVariant": "SK",
    "ScanOptions": "FS",
    "PulseSequenceName": "*epfid2d1_104",
    "ImageType": [
        "ORIGINAL",
        "PRIMARY",
        "FMRI",
        "NONE"
    ],
    "ImageTypeText": [
        "ORIGINAL",
        "PRIMARY",
        "M",
        "ND",
        "NORM"
    ],
    "NonlinearGradientCorrection": false,
    "SeriesNumber": 8,
    "AcquisitionTime": "15:01:28.515000",
    "AcquisitionNumber": 1,
    "SliceThickness": 2,
    "SpacingBetweenSlices": 2,
    "EchoTime": 0.03,
    "RepetitionTime": 1.5,
    "MTState": false,
    "FlipAngle": 65,
    "PartialFourier": 1,
    "BaseResolution": 104,
    "ShimSetting": [
        5091,
        -7539,
        -7718,
        335,
        -182,
        -70,
        61,
        51
    ],
    "TxRefAmp": 260.906,
    "PhaseResolution": 1,
    "ReceiveCoilName": "HeadNeck_64",
    "ReceiveCoilActiveElements": "HC1-7",
    "CoilString": "HeadNeck_64",
    "PulseSequenceDetails": "%SiemensSeq%\\ep2d_bold",
    "RefLinesPE": 24,
    "CoilCombinationMethod": "Sum of Squares",
    "MultibandAccelerationFactor": 3,
    "PercentPhaseFOV": 100,
    "PercentSampling": 100,
    "EchoTrainLength": 51,
    "PhaseEncodingSteps": 104,
    "FrequencyEncodingSteps": 104,
    "AcquisitionMatrixPE": 104,
    "ReconMatrixPE": 104,
    "BandwidthPerPixelPhaseEncode": 34.341,
    "ParallelReductionFactorInPlane": 2,
    "ParallelAcquisitionTechnique": "SMS",
    "EffectiveEchoSpacing": 0.000279997,
    "DerivedVendorReportedEchoSpacing": 0.000559994,
    "AcquisitionDuration": 916.417,
    "TotalReadoutTime": 0.0288397,
    "PixelBandwidth": 2090,
    "DwellTime": 2.3e-06,
    "PhaseEncodingDirection": "j",
    "SliceTiming": [
        1.11,
        0,
        0.74,
        0.0625,
        0.8025,
        0.125,
        0.865,
        0.185,
        0.925,
        0.2475,
        0.9875,
        0.31,
        1.05,
        0.4325,
        1.1725,
        0.495,
        1.235,
        0.555,
        1.295,
        0.6175,
        1.3575,
        0.68,
        1.42,
        0.37,
        1.11,
        0,
        0.74,
        0.0625,
        0.8025,
        0.125,
        0.865,
        0.185,
        0.925,
        0.2475,
        0.9875,
        0.31,
        1.05,
        0.4325,
        1.1725,
        0.495,
        1.235,
        0.555,
        1.295,
        0.6175,
        1.3575,
        0.68,
        1.42,
        0.37,
        1.11,
        0,
        0.74,
        0.0625,
        0.8025,
        0.125,
        0.865,
        0.185,
        0.925,
        0.2475,
        0.9875,
        0.31,
        1.05,
        0.4325,
        1.1725,
        0.495,
        1.235,
        0.555,
        1.295,
        0.6175,
        1.3575,
        0.68,
        1.42,
        0.37
    ],
    "ImageOrientationPatientDICOM": [
        0.999455,
        -0.00309175,
        0.0328565,
        0.00610544,
        0.995738,
        -0.0920225
    ],
    "InPlanePhaseEncodingDirectionDICOM": "COL",
    "BidsGuess": [
        "func",
        "_acq-epfid2p2m3_dir-PA_run-8_bold"
    ],
    "ConversionSoftware": "dcm2niix",
    "ConversionSoftwareVersion": "v1.0.20240202",
    "Dcm2bidsVersion": "3.2.0",
    "TaskName": "WM"
}

edited your post to “prettify” the json rendering

OK first you are doing the good thing to run the validator after converting your data: using a converter is not enough to make your dataset a valid BIDS dataset

some more info on that error

Relevant part of the spec: Magnetic Resonance Imaging - Brain Imaging Data Structure 1.10.1-dev

Especially see the table right above this section: Magnetic Resonance Imaging - Brain Imaging Data Structure 1.10.1-dev

fix

I am pretty sure that the “AcquisitionDuration” can be deleted from your json file: it seems to reflect more the total duration of your scan than the duration of the acquisition of one volume.

how many volumes did you acquire?

@abore any suggestion?

Thanks Remi! AcquisitionDuration is the maximum duration of the scan, but we manually stop the acquisition when the task finishes. So it is set to 15min (which is 916s) but we always manually stop the functional epi runs after 8 tot 10 min (depending on the speed of the participant). It seems that the time in the json file still reflects this maximum duration and not the actual duration. This AcquisitionDuration field is new to me, never had this in my json files in previous studies (while I always stop the scan earlier for task runs).

Do you think it also triggers the slicetiming warnings when running dcm2bids?

Nina

OK so defo remove that from the json file as it is just confusing things in any case.

I think the slice timing warning is caused by something else: not sure what.