-
Notifications
You must be signed in to change notification settings - Fork 161
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
[ENH] Microscopy: NGFF format support #1104
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1104 +/- ##
==========================================
+ Coverage 75.20% 76.00% +0.80%
==========================================
Files 11 11
Lines 1359 1363 +4
==========================================
+ Hits 1022 1036 +14
+ Misses 337 327 -10
Continue to review full report at Codecov.
|
This looks good, thanks @satra and @TheChymera for this initiative! Regarding the example and validation, there are 4 JSON fields that are currently checked for consistency between the JSON metadata and the OME-TIFF metadata: Is NGFF using the same OME data model? If so, it may require to update the description of those fields and the validator accordingly. |
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.
I have a concern of using .ngff/
which is not reflective of the underlying container (zarr) and seems not used by OME NGFF community itself.
@mariehbourget, the latest versions of NGFF will also support the same OME-XML as is embedded in OME-TIFF so for those fields, the same validation would be feasible. However, there's added complication that some values on your list like PixelSize also have a representation in NGFF. They are intended to be the same value in two representations, but you might decide to cross-validate. |
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.
There appears to be a small typo in the updated text, but other than that this looks good to me.
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.
@TheChymera I see a corresponding examples PR (bids-standard/bids-examples#315), but no validator PR. Could you please open one?
I also tagged Remi and Marie-Helene to give this a review.
@sappelhoff on it, needs a bit more work since thus far paths are all treated as files, so validating directories needs to be built into the logic. |
Co-authored-by: Satrajit Ghosh <[email protected]>
Co-authored-by: Yaroslav Halchenko <[email protected]>
Co-authored-by: Yaroslav Halchenko <[email protected]>
Co-authored-by: Yaroslav Halchenko <[email protected]>
@sappelhoff there we go :) damage should be undone now. |
Should be handled by: 4fb2574 |
Also have a PR for the production JS validator: bids-standard/bids-validator#1467 |
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.
The changes to the schema and specification look good to me. The core changes to the code also make sense to me, but I think we could change some of the wording to make it easier to understand.
@tsalo ok, ready :) |
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.
LGTM. Thanks!
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.
The changes looks good!
I have a few suggestions for consistency with the OME-TIFF formats.
When we worked on the BEP, we were asked to validate consistency of metadata that were both present in the file metadata and in the json sidecar metadata.
In the current spec, this consistency validation is done for PixelSize
, Immersion
, Magnification
and NumericalAperture
, (see previous comment here #1104 (comment))
It was confirmed that those fields are also present in NGFF (#1104 (comment)).
I don't know if this type of validation is possible right now with NGFF in javascript in the validator but I wanted to mention it.
If the validation is done, then the descriptions of these fields would also need to be updated to match in metadata.yaml.
@mariehbourget I added a new commit expanding the explanation of OME-ZARR (aka NGFF). @chrisgorgo looks good? |
Co-authored-by: Satrajit Ghosh [email protected]