BIDS standard/extension for storing QC information


Are there any initiative to store standardized QC information in BIDS that could be parsed and queried by pybids? QC info could be filled automatically or manually from reports.
Then we would be able to filter acquisition from metadata, let say my analysis wants all functional scans with pass+maybe QC, or rating 4-10 stars, or whatever the QC is.

This relates to the question: what would you do with failed or not-optimal scans in a shared dataset, do you remove the scan, the whole session/subject, or do you let it in the dataset with information about what happened (and the mitigation strategy: eg. rescan), and users can decide to include or not if not-optimal?

Thanks for your input.

Hi @bpinsard !

Based on this discussion, I don’t think there’s yet a standardized way to include QC information. If you’re interested in pushing that forward, I’m sure lots of folks would benefit from it !

For now, if you have a free standing .json file with QC information, pybids should be able to index it, at least based on this issue. I haven’t tried it myself, though !



Hi @emdupre,

Thanks for the pointers, I had not found these.
I have not really deeply thought about what would be stored and in which format, but it is definitely something that would need to be standardized.
This is not an easy task, especially for 4d imaging, this could include QC/censoring at the volume level.
In DWI there could be QC/censoring at the slice level before processing.
It can be both at the raw or derivatives level.
@surchs would you be interested in drafting a BEP for storing QC values in BIDS?

From the pybids point-of-view, it would not be queryable with BIDSLayout.get, but could be filtered from metadata after query, event if slower (because of JSON loading).
Something like:

bolds_qc_pass = [bold for bold in bolds if bold.get_metadata()['qc']=='pass']

Hi all,

thanks @bpinsard for the mention and I think that’s an excellent idea. I’d be happy to make a push for a QC BEP. Looks like that github convo @emdupre linked would be a good starting point. I expect that the question of how to implement this will be somewhat linked to the question of how to standardize QC for different modalities, which is also very exciting.

Somewhat more concretely: from the BEP guide it seems that starting a BEP is opening a google doc and telling others about it. Is that about right?


Yes, exactly ! @franklin can comment if there are any other tips / tricks to starting a BEP, but to my knowledge creating a Google doc is the best way to get started.

Looking forward to it, and happy to help connect with other, related efforts !


This thread is an important reference!msg/bids-discussion/21NOkxDSUqE/7zVWvwQeAAAJ

Yep I think a google doc is a good starting place (as @emdupre mentioned - BIDS standard/extension for storing QC information). Perhaps a few recent BEP examples to reference, a recently officialized BEP (BEP31: Histology), started here with Chris M.'s comments a few posts below. We also had BEP29 and BEP30 were recently made official BEPs too. These examples can help formulate your BEP and move it forward.

Thank you,

Thanks for the pointers and examples. I’ll get something started and then circulate.