-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update validator.yml
to fix maintenance issues (dependencies, disk space, error throwing)
#168
base: master
Are you sure you want to change the base?
Update validator.yml
to fix maintenance issues (dependencies, disk space, error throwing)
#168
Conversation
This will make it so that simple errors won't stop other checks, while also making it easier for me to focus on the "core" changes.
- name: Checking BIDS compliance | ||
run: bids-validator --verbose ./ | ||
if: always() | ||
run: | | ||
bids-validator --verbose ./ | tee bids.txt | ||
printf "\nShort summary:\n\n" | ||
# FIXME: This should be replaced with bids-validator settings: A) throw error on warning or B) warning ignores | ||
! grep "\[WARN\]\|\[ERR\]" bids.txt # ! -> Reverse error code so "found == error thrown" | ||
|
||
- name: Checking acquisition parameters | ||
run: sg_params_checker -path-in ./ | ||
if: always() | ||
run: | | ||
sg_params_checker -path-in ./ | tee params.txt | ||
# FIXME: Checking the output like this should be replaced with SG throwing actual errors | ||
! grep "WARNING" params.txt # ! -> Reverse error code so "found == error thrown" | ||
|
||
- name: Checking data consistency | ||
run: sg_check_data_consistency -path-in ./ | ||
if: always() | ||
run: | | ||
sg_check_data_consistency -path-in ./ | tee consistency.txt | ||
# FIXME: Checking the output like this should be replaced with SG throwing actual errors | ||
! grep "Warning\|Missing" consistency.txt | ||
grep "all good" consistency.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: The failures on this PR are to be expected, because all 3 of these checks throw warnings/errors:
- BIDS validation: Link
ERR: code 1 - NOT_INCLUDED
WARNING: code 38 - INCONSISTENT_SUBJECTS
WARNING: code 39 - INCONSISTENT_PARAMETERS
WARNING: code 101 - README_FILE_MISSING
- Acquisition parameters: Link
WARNING: Incorrect RepetitionTime
WARNING: Incorrect FlipAngle
WARNING: Model 'MAGNETOM Vida' not present
WARNING: Missing 'Manufacturer' key in json sidecar
- Data consistency: Link
WARNING: Missing jsonSidecar
WARNING: Invalid number of columns. The schema specifies 13, but the data frame has 15
We should brainstorm on how to best fix these issues! Or, if they don't need to be fixed, we should explicitly add ignore rules for them so that they don't get thrown in the first place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BIDS: The WARNINGs can be ignored. (README can be fixed.) ERR should be fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Automated testing was done right before a conference, just for demo purposes, so these warnings aren't actually taken into account for acquisition parameters/data consistency.
Fixes #167.
From the issue description:
In summary: I've fixed everything I can within
validator.yml
itself, and now the checks run (and subsequently throw quite a lot of warnings, which I've escalated to errors). See https://github.com/joshuacwnewton/data-multi-subject/actions/runs/9690897116/job/26741501317 for a sample run on my fork.But, I haven't yet done anything to actually address those errors (e.g. by setting
bids-validator
ignore configs for specific warnings, fixing warnings in the repo, or updating the spine-generic scripts upstream to avoid throwing erroneous warnings/errors). That could be done here, or perhaps in a separate PR.