Conversation
* .json nesting style change, latency channel added * Updated to adhere to spec change, minor corrections. Motion.json contains fields from deprecated coordsys. Other minor differences result from updated version of FT data2bids. * Each tracksys has own json and channels * .json and channels.tsv bug fix, trim events Removed undefined field ExternalSoftwareVersions from motion.json Replaced undfined type values in motion channels.tsv Trimmed events.tsv filed that were too large * motion.json has now doi and funding info Added values for doi and funding fields in motion.json * Undoing mistaken changes to motion.json By mistake I had changed motion.json not dataset_description.json. Now correcting that. * eeg.json wrong fields also removed from body session * [ADD] dataset for dual motion capture systems, no brain imaging * [FIX] remove example dataset from this branch * [ADD] motion systemvalidation dataset * [FIX] smaller comments by @sappelhoff --------- Co-authored-by: sjeung <seinjeung@gmail.com>
to be reverted before merging!
|
@sjeung @JuliusWelzel look at my commit: 7939067 if the motion validator branch is working correctly and the dataset examples here are working as expected, the CI checks for "master" should come back green here. Those for "stable" will remain red. Before merging this PR, we will revert that commit. More comments:
|
|
Update: The CI checks for "master" do not come back green as expected, unfortunately -- could you have a look why that might be the case? Remember to ping Ross in case you need help with the validator branch! :-) |
* Add dual task data set * Update motion.json and channels.tsv motion.json has author names in correct format channels.tsv type column has "confidence" renamed to "misc" events are trimmed * Undoing change by mistake and doing the actual fix Authors, Funding, ReferenceAndLinks fields in dataset_description.json are now arrays. Removed wrongly added Authors field in motion.json and eeg.json files. * Update names in channel count fields * Remove headers from motion.tsv * Cut down number of participants For brevity only include 5 participants in the example. * Rename channel count json fields Multi run files were missing in the previous fix * Do not escape slashes * Delete ._.DS_Store * Update .gitignore * Remove invalid component entry * Added dualwalking data set to the main README --------- Co-authored-by: Stefan Appelhoff <stefan.appelhoff@mailbox.org>
|
For the systemvalidation dataset I get a code 129 error (1: [ERR] The filename in scans.tsv file does not match what is present in the BIDS dataset. (code: 129 - SCANS_FILENAME_NOT_MATCH_DATASET)). I believe this might be an OS related path issue as the relative path looks fine on my windows machine |
* added two motion datasets spotrotation: physical and virtual motion tracking and simultaneous eeg recording dualtask: multiple marker from optical system and simultaneous eeg recording * adjusted names * add stand session * Update participants.tsv * corrected file hierarchy * add example dataset motion_dualsystem_validation Example dataset for the BEP029 was added which includes 2 synchronised data recordings of optical motion capture and inertial measurement units * updated motion dualsystem example dataset * New files added to motion_dualsystem dataset * updated spotrotation and dualtask * updated dataset desc and participant json * empty motion.tsv files and added scans.json * .json nesting style change and latency channels added * Overall update. Deprecated coordsys, single tracksys is presented as array. * [FIX] Updated motion_dualsystem_validation dataset according to new BEP029 dev * Separate json and channel files for different tracksys * Remove other motion data sets than spot-rotation * Channel type fix and json extra field removal * Remove headers, use quaternions * Channel types in .json count fields updated * Cut down number of participants For brevity only include 5 participants in the example. * Remove escaped slashes * Add quat_prefix to quat components And modify wrong entries for components (latency, yaw) * Create README.md * Update README.md * Add motion_spotrotation to main README --------- Co-authored-by: Soeren <65068522+sgrothk@users.noreply.github.com> Co-authored-by: Julius Welzel <julius.welzel@gmail.com> Co-authored-by: Stefan Appelhoff <stefan.appelhoff@mailbox.org>
right ... I looked at the scans file and it looks good to me. The files that are mentioned there do exist. @rwblair do you have time to look into this? |
✔️
fyi, I have done that in b0f825a |
Thank you Stefan! Now these are all three examples we have at the moment, and only spot rotation is shared fully on OpenNeuro. |
sappelhoff
left a comment
There was a problem hiding this comment.
@sjeung @JuliusWelzel there are some things you can do about the examples.
- spotrotation seems to pass ✔️
- dualtask has some erros
- there are properties in the motion JSON file that are not defined in the JSON schema (note: this is a link to the file on Sein's validator branch, and this is NOT about the BIDS schema; JSON schema is a separate thing only used by the validator currently) --> if the "additionalProperties" key in the JSON schema is false (which it is), then any keys that are present in the motion JSON file but not declared in the JSON schema file will result in an error (
Evidence: should NOT have additional properties) - There is a warning that should be addressed:
Tabular file contains custom columns not described in a data dictionary - And the README for that dataset is missing, which should be remedied
- there are properties in the motion JSON file that are not defined in the JSON schema (note: this is a link to the file on Sein's validator branch, and this is NOT about the BIDS schema; JSON schema is a separate thing only used by the validator currently) --> if the "additionalProperties" key in the JSON schema is false (which it is), then any keys that are present in the motion JSON file but not declared in the JSON schema file will result in an error (
- systemvalidation has some problems as well
- one with the scans tsv, mentioned above
- a link to the full data is missing from the overall README
- a dataset specific README is missing
Please let me know if you don't understand what I mean or if you need help looking up the points that I mention.
I see: it's not a requirement that the data are openly shared ... but it'd be preferable. If you share the data in the future, please make sure to add the link here then! |
|
Apologies for how long its taken me to respond.
Looks like this is coming from the first line of bidsignore file for that dataset: I removed the line, but now the files aren't being recognized as bids. First glance the regex looks good. I'll look into this further to see what the issue is. |
|
ah nice, thanks Ross. Perhaps we should remove the bidsignore file altogether? Is the remaining |
|
When testing with the bep_029 validator branch locally the files are recognized and the dataset passes validation. |
|
I think in CI it passes as well now. It seems like the only missing thing is for the dualtask dataset what I mentioned above:
|
No, I think it can be removed |
* Add dual task data set * Update motion.json and channels.tsv motion.json has author names in correct format channels.tsv type column has "confidence" renamed to "misc" events are trimmed * Undoing change by mistake and doing the actual fix Authors, Funding, ReferenceAndLinks fields in dataset_description.json are now arrays. Removed wrongly added Authors field in motion.json and eeg.json files. * Update names in channel count fields * Remove headers from motion.tsv * Cut down number of participants For brevity only include 5 participants in the example. * Rename channel count json fields Multi run files were missing in the previous fix * Do not escape slashes * Delete ._.DS_Store * Update .gitignore * Remove invalid component entry * Added dualwalking data set to the main README * Bidsignore (#351) * Removed patterns in bidsignore which do not correspond to actual files * Added ingored invalid file * Update readme and license * Fix typo in readme * Remove headers from motion.tsv * Update json field name One subject was missing from the last update * Replace invalid compnent entry with n/a Again a subject was missing from last touchup * Compnent column entry for latency channel is n/a * Compnent column entry for latency channel is n/a * Remove undefined fields from json of sub20 --------- Co-authored-by: Stefan Appelhoff <stefan.appelhoff@mailbox.org> Co-authored-by: Horea Christian <chr@chymera.eu>
* [FIX] reorder columns to match schema * add latest changes * fix dataset name in readme * Remove repeating entries in scans.tsv --------- Co-authored-by: Julius Welzel <julius.welzel@gmail.com>
...k/sub-07/ses-stand/motion/sub-07_ses-stand_task-dualWalking_tracksys-PhaseSpace1_motion.json
Show resolved
Hide resolved
There was a problem hiding this comment.
Can I be annoying and request that, for one dataset at least, there is a motion.json file with at least some metadata in the root of the dataset as an example of the inheritance principle?
I currently have to update qmri datasets examples + validator to make sure that the inheritance principle is supported for this type of data and I think it is better to test this now rather than fix it after the BEP is merged. :-)
* [FIX] reorder columns to match schema * add latest changes * fix dataset name in readme * Remove repeating entries in scans.tsv * StartTime is removed from spec --------- Co-authored-by: Julius Welzel <julius.welzel@gmail.com>
Yeah no problem, @JuliusWelzel I will get to this with the dualtask data set as this would be most beneficial for one like this with lots of files sharing the same metadata |
Would you have a look at this data set and see if this is implemented the way you meant it? https://github.com/sjeung/bids-examples/tree/bep029_motion/motion_dualtask There is now 'task-dualwalking_motion.json' in root directory but now validator throws a new error that there is an invalid field in data directory .json files (not the root one). |
that defo looks like what I am looking for. is the error due to the fact that you have a duplication of |
Include age range in "young"
Include age range in "old"
@Remi-Gau Oh well spotted! I tried removing it, still the same error. |
|
Ok will have a look. |
|
To be sure we are on the same page:
bids-validator ~/github/bids/examples/motion_dualtask --config.ignore=99 --config.ignore=36Getting this error: |
|
So having a task-dualWalking_motion.json with this content gives a valid bids dataset {
"TaskName":"dualWalking",
"SamplingFrequency":480
} |
|
With this file content {
"TaskName":"dualWalking"
}We get this error which feels like too strict a requirement: There should not be a requirement for JSON files in the root directory to contain all required metadata. This looks like a validator error. @rwblair any idea? |
|
Also by trial and error it seems that the additional property error was due to the field:
|
|
Current bep029_motion validator branch seems to be working well with the example datasets. Confirmed locally as well. |
|
Okay, I am merging this one -- we can still work on this via PRs in the |
This PR is to be merged into the
masterbranch when the BEP029 Motion is integrated into the BIDS specification.You can properly view the three example datasets here:
Leads:
Links:
To do:
ds000248that somehow creeped into this PR