Warning 'INCONSISTENT_PARAMETERS' for bold between runs

Hey everyone!

I am using HeuDiConv to convert my raw data to BIDS-valid format. While most things work fine, I have some warnings, one of which is about INCONSISTENT_PARAMETERS between files.

Here’s a sample of my BIDS data structure for one of my subjects:

...
├── sub-07
│   ├── ses-001
│   │   ├── anat
│   │   │   ├── sub-07_ses-001_T1w.json
│   │   │   └── sub-07_ses-001_T1w.nii.gz
│   │   ├── fmap
│   │   │   ├── sub-07_ses-001_acq-func_dir-PA_run-001_epi.json
│   │   │   ├── sub-07_ses-001_acq-func_dir-PA_run-001_epi.nii.gz
│   │   │   ├── sub-07_ses-001_acq-func_dir-PA_run-002_epi.json
│   │   │   ├── sub-07_ses-001_acq-func_dir-PA_run-002_epi.nii.gz
│   │   │   ├── sub-07_ses-001_acq-func_dir-PA_run-003_epi.json
│   │   │   └── sub-07_ses-001_acq-func_dir-PA_run-003_epi.nii.gz
│   │   ├── func
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-001_bold.json
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-001_bold.nii.gz
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-001_events.tsv
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-001_sbref.json
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-001_sbref.nii.gz
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-002_bold.json
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-002_bold.nii.gz
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-002_events.tsv
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-002_sbref.json
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-002_sbref.nii.gz
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-003_bold.json
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-003_bold.nii.gz
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-003_events.tsv
│   │   │   ├── sub-07_ses-001_task-backtothefuture_run-003_sbref.json
│   │   │   └── sub-07_ses-001_task-backtothefuture_run-003_sbref.nii.gz
│   │   └── sub-07_ses-001_scans.tsv
│   └── ses-002
│       ├── anat
│       │   ├── sub-07_ses-002_T1w.json
│       │   └── sub-07_ses-002_T1w.nii.gz
│       ├── fmap
│       │   ├── sub-07_ses-002_acq-motor_dir-PA_epi.json
│       │   ├── sub-07_ses-002_acq-motor_dir-PA_epi.nii.gz
│       │   ├── sub-07_ses-002_acq-pRF_dir-PA_epi.json
│       │   ├── sub-07_ses-002_acq-pRF_dir-PA_epi.nii.gz
│       │   ├── sub-07_ses-002_acq-tonotopy_dir-PA_epi.json
│       │   └── sub-07_ses-002_acq-tonotopy_dir-PA_epi.nii.gz
│       ├── func
│       │   ├── sub-07_ses-002_task-motor_run-001_bold.json
│       │   ├── sub-07_ses-002_task-motor_run-001_bold.nii.gz
│       │   ├── sub-07_ses-002_task-motor_run-001_events.tsv
│       │   ├── sub-07_ses-002_task-motor_run-001_sbref.json
│       │   ├── sub-07_ses-002_task-motor_run-001_sbref.nii.gz
│       │   ├── sub-07_ses-002_task-motor_run-002_bold.json
│       │   ├── sub-07_ses-002_task-motor_run-002_bold.nii.gz
│       │   ├── sub-07_ses-002_task-motor_run-002_events.tsv
│       │   ├── sub-07_ses-002_task-motor_run-002_sbref.json
│       │   ├── sub-07_ses-002_task-motor_run-002_sbref.nii.gz
│       │   ├── sub-07_ses-002_task-pRF_run-001_bold.json
│       │   ├── sub-07_ses-002_task-pRF_run-001_bold.nii.gz
│       │   ├── sub-07_ses-002_task-pRF_run-001_events.tsv
│       │   ├── sub-07_ses-002_task-pRF_run-001_sbref.json
│       │   ├── sub-07_ses-002_task-pRF_run-001_sbref.nii.gz
│       │   ├── sub-07_ses-002_task-pRF_run-002_bold.json
│       │   ├── sub-07_ses-002_task-pRF_run-002_bold.nii.gz
│       │   ├── sub-07_ses-002_task-pRF_run-002_events.tsv
│       │   ├── sub-07_ses-002_task-pRF_run-002_sbref.json
│       │   ├── sub-07_ses-002_task-pRF_run-002_sbref.nii.gz
│       │   ├── sub-07_ses-002_task-pRF_run-003_bold.json
│       │   ├── sub-07_ses-002_task-pRF_run-003_bold.nii.gz
│       │   ├── sub-07_ses-002_task-pRF_run-003_events.tsv
│       │   ├── sub-07_ses-002_task-pRF_run-003_sbref.json
│       │   ├── sub-07_ses-002_task-pRF_run-003_sbref.nii.gz
│       │   ├── sub-07_ses-002_task-tonotopy_run-001_bold.json
│       │   ├── sub-07_ses-002_task-tonotopy_run-001_bold.nii.gz
│       │   ├── sub-07_ses-002_task-tonotopy_run-001_events.tsv
│       │   ├── sub-07_ses-002_task-tonotopy_run-001_sbref.json
│       │   ├── sub-07_ses-002_task-tonotopy_run-001_sbref.nii.gz
│       │   ├── sub-07_ses-002_task-tonotopy_run-002_bold.json
│       │   ├── sub-07_ses-002_task-tonotopy_run-002_bold.nii.gz
│       │   └── sub-07_ses-002_task-tonotopy_run-002_events.tsv
│       └── sub-07_ses-002_scans.tsv
...

When I run the BIDS validator:

sudo docker run --rm -v path/to/bids:/data:ro bids/validator /data --verbose

I get a warning (along with others that I understand):

...
2: [WARN] Not all subjects/sessions/runs have the same scanning parameters. (code: 39 - INCONSISTENT_PARAMETERS)
		./sub-01/ses-001/func/sub-01_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-01/ses-002/func/sub-01_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-02/ses-001/func/sub-02_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-02/ses-002/func/sub-02_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-03/ses-001/func/sub-03_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-03/ses-001/func/sub-03_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-03/ses-002/func/sub-03_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-04/ses-001/func/sub-04_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-04/ses-001/func/sub-04_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-05/ses-001/func/sub-05_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-05/ses-001/func/sub-05_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-05/ses-002/func/sub-05_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-06/ses-001/func/sub-06_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-06/ses-001/func/sub-06_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-06/ses-002/func/sub-06_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-07/ses-001/func/sub-07_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-07/ses-001/func/sub-07_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-07/ses-002/func/sub-07_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-08/ses-001/func/sub-08_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-08/ses-001/func/sub-08_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-09/ses-001/func/sub-09_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-09/ses-001/func/sub-09_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-09/ses-002/func/sub-09_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-10/ses-001/func/sub-10_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-10/ses-002/func/sub-10_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-11/ses-001/func/sub-11_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-11/ses-001/func/sub-11_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-11/ses-002/func/sub-11_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-12/ses-001/func/sub-12_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-12/ses-001/func/sub-12_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-12/ses-002/func/sub-12_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-13/ses-001/func/sub-13_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-13/ses-001/func/sub-13_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-13/ses-002/func/sub-13_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-14/ses-001/func/sub-14_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-14/ses-001/func/sub-14_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-14/ses-002/func/sub-14_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-16/ses-001/func/sub-16_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-16/ses-001/func/sub-16_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-16/ses-002/func/sub-16_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
		./sub-17/ses-001/func/sub-17_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-17/ses-001/func/sub-17_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-19/ses-001/func/sub-19_ses-001_task-backtothefuture_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1522 (voxels).
		./sub-19/ses-001/func/sub-19_ses-001_task-backtothefuture_run-003_bold.nii.gz
			 The most common set of dimensions is: 106,106,72,1360 (voxels), This file has the dimensions: 106,106,72,1608 (voxels).
		./sub-19/ses-002/func/sub-19_ses-002_task-motor_run-002_bold.nii.gz
			 The most common set of dimensions is: 106,106,44,467 (voxels), This file has the dimensions: 106,106,44,469 (voxels).
...

Here are the versions of my packages:

Docker version 24.0.5, build ced0996
bids-validator 1.14.6
heudiconv 1.1.0

I double-checked the actual size of the files with AFNI 3dinfo command and they seem correct to me: 1360, 1522, and 1608 for runs 1, 2, and 3, respectively.

I’m unsure why it says, “The most common set of dimensions is: 106,106,72,1360” when I have three different runs for the task ‘backtothefuture,’ and each run has its own number of TRs. The dimensions (106,106,72,1360) are correct for run-001, but for run-002 and run-003, they are 1522 and 1608, respectively. Why does the BIDS validator consider the dimensions from the first run as the most common ones?

Should I be concerned about this? Any advice or recommendations would be helpful :slight_smile:

Best,
Egor

1 Like

Hi @egor.levchenko,

I wouldn’t be too concerned, as long as the number of TRs in your files are what you expect. BIDS expects that different “runs” of an acquisition should all be the same, and if there were different acquisition parameters, they would instead be differentiated by the acq-<> label. So, perhaps you’ll want to use that instead, but what you have now shouldn’t cause errors in apps like fmriprep.

Best,
Steven

2 Likes

Hey Steven!

Great, thank you for the detailed explanation!