Your dataset is not a valid BIDS dataset

I wonder if the error output is because you have spaces in your path? That’s something the command line version of bids-validator may be able to handle.

Would this be BIDS-compatible?

I’m checking with you to make sure it’s correct before I do this for the remaining participants?

No, there should be a - between run and the run number.

Is this okay now?

No, there should be an underscore between the subject number and the run.

How about now?

That looks fine, I don’t know what the contents of the json files or tsv look like, but at least the file naming convention seems right.

Okay, thank you so much for your help, I really appreciate it!

I hope the BIDS-validator works once I make the changes for the remaining participants.

1 Like

Hi @Rubina,

In addition to Steven’s comments, I’d also just like to add that since this data that you’ve screenshot is in your func directory, you’ll also need to add the _task- label. For example: sub-A0123061_task-rest_run-1_bold.nii.gz

In the example, I’m assuming it’s a resting state acquisition, but the task label can be whatever you want to name it, though I’d recommend using the CogAtlas.

In addition to having the task label in the file names, in the JSON files you’ll need to have a line that reads something like TaskName: rest, where the task name matches the label in the file name.

This task name requirement is only required for files within your func directory though, just FYI.

1 Like

good catch, forgot about that!

Hi @dlevitas,

Thank you for pointing this out. This is a motor imagery dataset.

Would be it be acceptable if I changed it to this in the func directory:

sub-A0123061_task-1_run-1_bold.nii.gz
sub-A0123061_task-1_run-1_bold.json
sub-A0123061_task-2_run-2_bold.nii.gz
sub-A0123061_task-2_run-2_bold.json
sub-A0123061_task-3_run-3_bold.nii.gz
sub-A0123061_task-3_run-3_bold.json

Also, I’m not sure of the task label you talk about, how do I create this?

The problem here, even though it is technically bids compliant, is that task-3_run-3 implies you have three runs of task-3, which it does not seem you do. Is this one task done three times or three tasks done one time?

sub-A0123061_task-motor_run-1_bold.nii.gz
sub-A0123061_task-motor_run-1_bold.json
sub-A0123061_task-motor_run-2_bold.nii.gz
sub-A0123061_task-motor_run-2_bold.json
sub-A0123061_task-motor_run-3_bold.nii.gz
sub-A0123061_task-motor_run-3_bold.json

If it is one task done three times.

We had 3 runs. I think this should work right?

If it’s three runs of one task, do the naming convention in my last reply.

Thank you, Steven, will do.

I have a follow-up question: do I still need to add a task label? If so, how do I create it?

You do not need to. However you should make you add a field in the appropriate json files TaskName: motor so software can be sure to associate run metadata with the functional image.

Noted. Thank you, once again, Steven.

No problem, good luck!

Hi Steven,

So, I followed your instructions and changed the naming structure in each participant folder and tried to run the code in Python using this code:

BIDSValidator().is_bids (‘C:\Users\rubin\Documents 2021\Germany\fMRI data\Motor imagery dataset\BIDS’)

It returned: “False”

Does this still mean that my dataset is not a valid one?