-
Notifications
You must be signed in to change notification settings - Fork 24
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
Add zarr3 streaming v0 #7941
Add zarr3 streaming v0 #7941
Conversation
- Added mag/zarr.json & mag/coords route for datasets (not annotations)
…non-numerical characters
…knossos into add-zarr3-streaming-v0
- wk seems to send c.0.x.y.z requests and the c at the start does not match with the regex resulting in invalid coordinate parsing
This is great! 🙌🏽 When there's a URL that can be tested, please let me know. |
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.
Looking pretty good already :) I added a couple comments. Will do some testing next
...tore/app/com/scalableminds/webknossos/datastore/dataformats/zarr/ZarrCoordinatesParser.scala
Outdated
Show resolved
Hide resolved
...tastore/app/com/scalableminds/webknossos/datastore/controllers/ZarrStreamingController.scala
Outdated
Show resolved
Hide resolved
...tastore/app/com/scalableminds/webknossos/datastore/controllers/ZarrStreamingController.scala
Outdated
Show resolved
Hide resolved
...tastore/app/com/scalableminds/webknossos/datastore/controllers/ZarrStreamingController.scala
Outdated
Show resolved
Hide resolved
...tastore/app/com/scalableminds/webknossos/datastore/controllers/ZarrStreamingController.scala
Outdated
Show resolved
Hide resolved
...tastore/app/com/scalableminds/webknossos/datastore/controllers/ZarrStreamingController.scala
Outdated
Show resolved
Hide resolved
@@ -57,6 +58,22 @@ object NgffMultiscalesItem { | |||
implicit val jsonFormat: OFormat[NgffMultiscalesItem] = Json.format[NgffMultiscalesItem] | |||
} | |||
|
|||
case class NgffMultiscalesItemV2( |
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’d say the v2 stuff should be in separate file. If some code is shared between v1 and v2, maybe add a third file for the shared stuff.
Also, is v2 the right version number? I thought they were like at 0.5?
Also, please add some links here to the spec documents.
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 put the shared classes into SharedNgffMetadataAttributes.scala
and named the new NgffMetadata version "NgffMetadataV0_5". Should I rename the old version to NgffMetadataV0_4
accordingly?
...atastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3ArrayHeader.scala
Outdated
Show resolved
Hide resolved
...atastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3GroupHeader.scala
Show resolved
Hide resolved
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.
@normanrz do you think we should also already add a datasource-properties.json route and directory listing routes? Will some clients need that?
webknossos-datastore/conf/com.scalableminds.webknossos.datastore.routes
Outdated
Show resolved
Hide resolved
webknossos-datastore/conf/com.scalableminds.webknossos.datastore.routes
Outdated
Show resolved
Hide resolved
Yes, I think that would be useful. |
…knossos into add-zarr3-streaming-v0
This is the how the view of a existing color layer looks like when listing an annotation. It says that the layer belongs to a organization and certain dataset. It this alright or should the title be changed? (Bc it kinda leeks the organization & dataset name (although this is already likely leaked via some properties sent to the client) |
It should be done. See the added routes in the testing guide. |
I think the metadata is not correct yet. For example, https://addzarrstreamingv.webknossos.xyz/data/zarr3_experimental/sample_organization/l4_sample/color/zarr.json should be similar to this: {
"zarr_format": 3,
"node_type": "group",
"attributes": {
"ome": {
"version": "0.5-dev2",
"multiscales": [{ ... }]
}
}
} You can validate with https://deploy-preview-36--ome-ngff-validator.netlify.app/?source=https://addzarrstreamingv.webknossos.xyz/data/zarr3_experimental/sample_organization/l4_sample/color |
Thanks for poiting this out @normanrz But the validator seems broken to me. It shows some warnings about not being able to find schema definitions. A auick look showed that the referenced schema json for the version is no longer available under the link linked in the schema definition of https://raw.githubusercontent.com/normanrz/ngff/spec-rfc2/latest/schemas/image.schema Thus, I just used a different json validator and with the assumption that |
...datastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr/NgffMetadataV0_5.scala
Outdated
Show resolved
Hide resolved
…e/datareaders/zarr/NgffMetadataV0_5.scala
Awesome 🎉 🚀 |
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.
This looks very nice! Thanks.
I just pinged you again on this one comment by @fm3.
...atastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3GroupHeader.scala
Show resolved
Hide resolved
This reverts commit cb1331b.
URL of deployed dev instance (used for testing):
Steps to test:
Issues:
(Please delete unneeded items, merge only when none are left open)