ome / ome-ngff-validator

Web page for validating OME-NGFF files
https://ome.github.io/ome-ngff-validator
BSD 2-Clause "Simplified" License
4 stars 3 forks source link

V05 dev2 #36

Open will-moore opened 2 months ago

will-moore commented 2 months ago

This updates the validator to support v0.5-dev2 data, as specified at https://github.com/ome/ngff/pull/242.

Validating against image schema at https://raw.githubusercontent.com/normanrz/ngff/spec-rfc2/latest/schemas/image.schema and also loading version schema from https://raw.githubusercontent.com/normanrz/ngff/spec-rfc2/latest/schemas/version.schema

Preview build viewing sample data: https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=https://minio-dev.openmicroscopy.org/idr/v0.5-dev2/6001240.zarr

cc @normanrz

TODO:

netlify[bot] commented 2 months ago

Deploy Preview for ome-ngff-validator ready!

Name Link
Latest commit 0efe2a22b087c36d5e75188c86acf93b6a547f6a
Latest deploy log https://app.netlify.com/sites/ome-ngff-validator/deploys/66d6e55ed946f900086a27ca
Deploy Preview https://deploy-preview-36--ome-ngff-validator.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

joshmoore commented 1 month ago

@will-moore @manzt: I've also hard-coded the URL for https://github.com/hms-dbmi/vizarr/pull/172 here as well :+1:

joshmoore commented 1 month ago

When using ome_zarr view idr0001-2551.zarr

image

When using .../idr0001-2551.zarr $ http-server --cors

image

joshmoore commented 3 weeks ago

:+1: from my side on the additional column:

image

will-moore commented 3 weeks ago

@joshmoore Not exactly sure what you're doing there....

$ ls plates/
2783928.zarr    4403.zarr   51.zarr
$ http-server --cors

https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=http://127.0.0.1:8080/plates/4403.zarr Looks good.

Also e.g.

$ $ http-server plates --cors

Works at https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=http://127.0.0.1:8080/4403.zarr etc.

joshmoore commented 3 weeks ago

Sorry, I just wanted to get a screenshot in place. No complaints :smile:

joshmoore commented 3 weeks ago

Initial RO-Crate validation! πŸŽ‰

image

cc: @sherwoodf

will-moore commented 3 weeks ago

@sherwoodf - I noticed you had key licence at https://github.com/ome/ome2024-ngff-challenge/blob/53cdf2b73dec2a8341998b7a114a16dea3e5424f/dev3/zarr-crate/example_usage/example_ro_crate/ro-crate-metadata.json#L26C7-L26C65 and Josh had the same in the sample above. But we think this should be license as at https://schema.org/license. So the validator is checking for license.

NB: for name, description and license I'm just looking for the first "@graph" item that has those attributes, which is very simplistic. Any suggestions on improvements to this validation logic would be appreciated!

sherwoodf commented 3 weeks ago

@will-moore On license vs licence - you're definitely correct it should be licen_s_e

I think looking for objects with those fields works for the basic ro-crates that we're expecting to get.

If you wanted to invest in something longer term right now (which might be over the top), I would recommend using some sort of ro-crate/linked data tooling instead because the flattened data structure isn't wonderful for parsing, and we can probably update rules we go.

I've only used the python one, but there is a javascript package that might work with svelte: https://www.npmjs.com/package/ro-crate - it mentions an 'in development' validation promises.

We could write shacl shapes and run on the rdf graph that gets produced (https://github.com/zazuko/rdf-validate-shacl) - again, probably over engineering a solution for what we need right now. I could write us some shapes if we wanted to go down that route (if you're not familiar with them they're essentially schema descriptions for validating rdf graphs)

sherwoodf commented 3 weeks ago

@will-moore ignore the bit about shacl - i've just remembered that we don't have terms for the fbbi_id yet so it gets dropped from the RDF graph.

joshmoore commented 3 weeks ago

See https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=https://data-humerus.webknossos.org/data/zarr3_experimental/scalable_minds/l4_sample/color for a webknossos dataset that is currently erroring because sharding isn't used.

will-moore commented 2 weeks ago

@joshmoore @normanrz That non-sharded image is fixed now: https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=https://data-humerus.webknossos.org/data/zarr3_experimental/scalable_minds/l4_sample/color But I don't see any chunks being loaded. I'm getting 404s when I try to load any chunk, and I'm not seeing anything in vizarr either. It is mostly a sparse image or is something broken?

Screenshot 2024-08-22 at 08 51 14

normanrz commented 2 weeks ago

The dataset is sparse indeed. Data starts at 3072,3072,512. Unfortunately, OME-Zarr or Zarr don't have metadata for storing data offsets like this.

Screenshot 2024-08-22 at 11 34 54

https://webknossos.org/links/EIyfC3zTaCNnB8Df

will-moore commented 2 weeks ago

That last commit attempts to look-up Organism and Imaging method. E.g. https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=https://uk1s3.embassy.ebi.ac.uk/idr/share/ome2024-ngff-challenge/0.0.5/idr0010/76-45.zarr

Screenshot 2024-08-22 at 12 35 35

joshmoore commented 2 weeks ago

Only quick thought is if we can have two more levels of "not there":