BIDS validator appears not to follow some specs

bids

#1

Hello,

I’m in the process of converting a fairly large dataset into BIDS format, and have been trying to test in-house/adapted conversion tools piecemeal in order to ensure that each step will properly validate. I’ve been using this tool., which should be following the current BIDS spec. However, I’ve run into a few issues validating even simple subsets of our dataset.

The issues are the following:

  • Inheritance principle is not properly applied
    I’ve tried including JSON files at the root, subject, and session level, named exactly according to the BIDS spec, to specify parameters (specifically “RepetitionTime” and “TaskName”) for multiple BOLD runs, but this has not worked. The validator throws three errors for each NIfTI file (JSON not formatted correctly, “RepetitionTime” not found, “TaskName” not found). It’s odd, as I’ve named this file exactly what the validator suggests, and have tried placing it at every point the validator suggests, but with no luck.

  • .bidsignore file not read
    I’m using a version of dcm2bids to do conversion, which creates a folder named tmp_dcm2bids that stores unmatched run names for each session converted. I created a file at the root level named .bidsignore, per the BIDS spec, and included several variations of tmp_dcm2bids/* to ignore, but the validator still reads the contents of tmp_dcm2bids each time and throws errors.

Has anyone else run into this same issue? I’ve tried many slight variations on placement and naming, none of which have worked. The setup follows the BIDS spec to the letter - I’d appreciate any advice if others have had this same problem, or if there might be a bug in the validator itself.

Thanks very much!
Austin Marcus, Carnegie Mellon University


#2

We recently fixed a bug concerning hierarchical rule - when was the last time you used the validator?

Are you seeing any errors concerning JSON schema?

Could you share the full validation log?

Could you share a minimal dataset exhibits those issues so we could try to replicate the problem and fix it?


#3

I’ve just run a pared-down version of the dataset through the validator, and encountered the same issues.
I’ll share a Dropbox link to the minimal dataset and validator log output through Gmail (I have your contact info via John Pyles).

Thanks so much!


#4

Thanks for sending the data over email.

  1. I was not able to replicate the issue with hierarchical rule. I’ve tried the online and the command line validator. Both worked correctly. Could you try refreshing your browser cache?

  2. The dataset you sent me did not include a /.bidsignore file so the leftover files in the tmp_dcm2bids/ subfolder raised errors. I added a /.bidsignore (no extension, “dot” in the beginning) file in the root of the dataset (the same level as sub-01/ subfolders) with a single line in it:

tmp_dcm2bids/

This correctly instructed the validator to ignore the leftover files.

PS I had a look at the content of tmp_dcm2bids/. I get why you ignore the validator, but I also noticed that there are two fieldmap related files. Why not bidsify them?


#5

I cleared the browser cache and re-ran the validator on the same dataset, and it now works correctly! Thank you for looking into this. I’m assuming that fix was made quite recently?

My original .bidsignore file (which Ubuntu may have failed to attach as a hidden file) contained a wildcard (tmp_dcm2bids/*), which seems to be the reason it didn’t correctly flag the contents of tmp_dcm2bids. Just thought I should point that out, as I’m accustomed to the shell-like syntax of .gitignore files.