Error code 66: Slicing time greater than RepetitionTime

1: [ERR] "SliceTiming" value/s contains invalid value as it is greater than RepetitionTime.  SliceTiming values should be in seconds not milliseconds (common mistake). (code: 66 - SLICETIMING_VALUES_GREATOR_THAN_REPETITION_TIME)
                ./sub-101/ses-visit1/func/sub-101_ses-visit1_task-mv_bold.nii.gz
                        Evidence: 1255, 1322.5, 70, 1392.5, 137.5, 1462.5, 207.5, 1532.5, 277.5, 1602.5, 347.5, 1672.5, 417.5, 1742.5, 487.5, 1812.5, 557.5, 1882.5, 627.5, 1950, 695, 2020, 765, 2090, 835, 2160, 905, 2230, 975, 2300, 1045, 2370, 1115, 2440, 1185

Here’s the relevant file:

{
 "RepetitionTime": 2.5,
 "TaskName": "Matched visual stimulus",
 "Manufacturer": "Siemens",
 "ManufacturersModelName": "TrioTim",
 "MagneticFieldStrength": 3.0,
 "HardcopyDeviceSoftwareVersion": "syngo MR B17",
 "ReceiveCoilName": "Invivo 8-channel",
 "PulseSequenceType": "Gradient echo EPI",
 "PulseSequenceDetails": "SequenceName is epfid2d1_64",
 "ParallelReductionFactorInPlane": 2,
 "EffectiveEchoSpacing": 0.0004699954987,
 "PhaseEncodingDirection": "j-",
 "EchoTime": 0.03,
 "SliceTiming": [1255, 0, 1322.5, 70, 1392.5, 137.5, 1462.5, 207.5, 1532.5, 277.5, 1602.5, 347.5, 1672.5, 417.5, 1742.5, 487.5, 1812.5, 557.5, 1882.5, 627.5, 1950, 695, 2020, 765, 2090, 835, 2160, 905, 2230, 975, 2300, 1045, 2370, 1115, 2440, 1185],
 "FlipAngle": 80,
 "Instructions": "During this scan you will see a yellow bar on the screen in front of you. The bar will move on your own and will not reflect your finger movements, but please try to use the finger device to track the movement of the bar as closely as you can.",
 "TaskDescription": "The yellow bar is controlled by a stimulus vector which is matched to one of the subjects own prior pain rating runs, so this serves as a visuomotor control for their pain rating task but will differ from one subject to the next to the extent to which their pain rating reports differred."
}

Thanks in advance.

For full answer, you need to also post the contents of the file ./sub-101/ses-visit1/func/sub-101_ses-visit1_task-mv_bold.json. However, the output suggests that the SliceTiming field in that file is an array with values in the range 70…2440 while your TR is 2.5 seconds. I suspect the error is that someone entered the slice timing fields in milliseconds, while the BIDS format requires these values to be specified in seconds. So dividing the values by 1000 seems correct. I was also a little puzzled why the lowest value was 70 not 0. Since the slice timing parameter refers to the start of slice acquisition, the first slice is usually at time zero.

These are all the files that are present in the dataset.

I don’t think the file you’re for is even present. Here’s a link to the dataset: GitHub - big-data-lab-team/openpain-subacute_longitudinal_study: A Datalad dataset for OpenPain's subacute_longitudinal_study dataset (http://openpain.org), for integration in CONP (http://conp.ca)

You need to apply the inheritance principle, in this case the task-mv_bold.json in the parent folder.

Seems the file content shows a 0 but not a warning of the validator. That’s odd.

@ psymbio thanks for sharing the JSON. It clearly looks like the SliceTiming array has been specified in seconds, while the BIDS specification demands seconds. Fix this and the error should be resolved.

Sorry, how do I fix this error, do I divide the array by 1000?

Yes, convert the array from milliseconds to seconds.