-
Notifications
You must be signed in to change notification settings - Fork 137
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
New dataset "dwi_deriv" for scanner-generated DWI derivatives #452
New dataset "dwi_deriv" for scanner-generated DWI derivatives #452
Conversation
I'm getting warnings & errors attempting to run the validator locally on this proposed dataset utilising the specification version in bids-standard/bids-specification#1864. I'm not so familiar with the ecosystem so might need some help.
If the dataset is proposed for compatibility with a future update to the BIDS specification, and that has been hard-coded into
"phenotype" seems to be a catch-all rule that will therefore be flagged in any such error.
This seems unusual to me. For any 4D temporal dataset (eg. fMRI, DWI), EDIT: I should add that these fields were both present in unmodified
|
This is a bug. I've not been digging into it because it's a warning instead of an error, but it is misleading. I'll try to get to it soon.
This should be fixed by https://github.com/bids-standard/bids-validator/pull/2079. Can you try the latest (pre-release, so let me know if you need instructions) version?
The reason for this was to avoid duplication and thus possible inconsistency. We could suppress the warning if the AcquisitionDuration implied by SliceTiming matches the actually found duration.
The schema validator warns on all missing RECOMMENDED fields. It's going to get very noisy, but it's unclear what the purpose of RECOMMENDing is if not to warn. I think we should demote a lot of RECOMMENDED to OPTIONAL, as most do not impact the ability to interpret a dataset. |
Not high priority; just curious if it's something that many had encountered previously and there was an accepted solution.
Was not successful re-attempting based on prior instruction. Certainly got a different set of warnings upon updating / reloading, but core issue (claiming files with new suffixes are violations) still there. Might need an expert hand, there's too many moving parts here with which I'm unfamiliar.
While it's possible that in some circumstances there may be duplication, I don't think that's always the case. Consider the DWI acquisition here:
|
Testing your updated schema in bids-standard/bids-specification#1864 and the latest validator ( Output❯ BIDS_SCHEMA=file:///$HOME/Projects/bids/specification/src/schema.json deno run -A https://github.com/bids-standard/bids-validator/raw/master/bids-validator/src/bids-validator.ts --ignoreNiftiHeaders dwi_deriv
[WARNING] The BIDSVersion field of 'dataset_description.json' does not match a known release.
The BIDS Schema used for validation may be out of date.
(UNKNOWN_BIDS_VERSION)
./dataset_description.json
Evidence: schema.rules.rules.checks.dataset.UnknownVersion
1 more files with the same issue
Please visit https://neurostars.org/search?q=UNKNOWN_BIDS_VERSION for existing conversations about this issue.
[WARNING] The 'Authors' field of 'dataset_description.json' should contain an array of values -
with one author per value.
This was triggered based on the presence of only one author field.
Please ignore if all contributors are already properly listed.
(TOO_FEW_AUTHORS)
./dataset_description.json
Evidence: schema.rules.rules.checks.hints.TooFewAuthors
1 more files with the same issue
Please visit https://neurostars.org/search?q=TOO_FEW_AUTHORS for existing conversations about this issue.
[ERROR] Empty files not allowed. (EMPTY_FILE)
./sub-01/dwi/sub-01_ADC.nii
./sub-01/dwi/sub-01_FA.nii
./sub-01/dwi/sub-01_S0map.nii
7 more files with the same issue
Please visit https://neurostars.org/search?q=EMPTY_FILE for existing conversations about this issue.
[WARNING] A data file's JSON sidecar is missing a key listed as recommended. (SIDECAR_KEY_RECOMMENDED)
./sub-01/dwi/sub-01_ADC.nii
Evidence: missing InstitutionAddress as per schema.rules.rules.sidecars.mri.MRIInstitutionInformation
./sub-01/dwi/sub-01_FA.nii
Evidence: missing InstitutionAddress as per schema.rules.rules.sidecars.mri.MRIInstitutionInformation
./sub-01/dwi/sub-01_S0map.nii
Evidence: missing InstitutionAddress as per schema.rules.rules.sidecars.mri.MRIInstitutionInformation
8 more files with the same issue
Please visit https://neurostars.org/search?q=SIDECAR_KEY_RECOMMENDED for existing conversations about this issue.
[ERROR] 'SliceTiming' is defined for this file.
Neither 'DelayTime' nor 'AcquisitionDuration' may be defined in addition.
(SLICE_TIMING_AND_DURATION_MUTUALLY_EXCLUSIVE)
./sub-01/dwi/sub-01_dwi.bval
Evidence: schema.rules.rules.checks.func.SliceTimingAcquisitionDurationMutex
./sub-01/dwi/sub-01_dwi.bvec
Evidence: schema.rules.rules.checks.func.SliceTimingAcquisitionDurationMutex
./sub-01/dwi/sub-01_dwi.nii
Evidence: schema.rules.rules.checks.func.SliceTimingAcquisitionDurationMutex
3 more files with the same issue
Please visit https://neurostars.org/search?q=SLICE_TIMING_AND_DURATION_MUTUALLY_EXCLUSIVE for existing conversations about this issue.
Summary: Available Tasks: Available Modalities:
18 Files, 21.4 kB MRI
1 - Subjects 1 - Sessions
If you have any questions, please post on https://neurostars.org/tags/bids. So the I presume In any case, I don't see a way to resolve this in BIDS without breaking backwards compatibility. I think the thing to do is just filter it from your JSON files. |
I reread the BIDS and DICOM sections, and it looks like the inconsistency is internal to BIDS, not between the two specs: bids-standard/bids-specification#1906 I'm removing the |
Prevents irerlevant validator warning.
eaf5ab0
to
883bbe4
Compare
Relates to:
My current plan is to supersede bids-standard/bids-specification#1831 by extending it to include missing DWI sequence derivatives and resolve bids-standard/bids-specification#1862. Will need to wait to see how that discussion pans out as to whether any of these data need to be changed.