Skip to content

scene.coordinateTransformations path optional for input and output#149

Open
will-moore wants to merge 4 commits into
ome:mainfrom
will-moore:scene_coordinateTransformations_input_path_optional
Open

scene.coordinateTransformations path optional for input and output#149
will-moore wants to merge 4 commits into
ome:mainfrom
will-moore:scene_coordinateTransformations_input_path_optional

Conversation

@will-moore

@will-moore will-moore commented Jun 17, 2026

Copy link
Copy Markdown
Member

Fixes #148 (hopefully!)

The scene uses coordinate_transformations.schema#/$defs/coordinateTransformation for transforms, which only requires type to be specified for transforms.

The scene.schema then adds input and output objects, both of which only require name.
This leaves path as optional for both input and output objects (instead of being required for input objects).

To test, we can use the validator modified at ome/ome-ngff-validator#80 to accept a URL to a specific schemas location. Using that to point at this branch, we can see that the sample from #148 above is passing validation (just looking at the top-level scene, not the child images).

https://deploy-preview-80--ome-ngff-validator.netlify.app/?source=https://livingobjects.ebi.ac.uk/idr/zarr/test-data/v0.6.dev4/idr0050/4995115_output_to_ms.zarr&schemas=https://raw.githubusercontent.com/will-moore/ngff-spec/refs/heads/scene_coordinateTransformations_input_path_optional/schemas/

@github-actions

Copy link
Copy Markdown

Automated Review URLs

@will-moore will-moore force-pushed the scene_coordinateTransformations_input_path_optional branch from cc78660 to 408e44d Compare June 17, 2026 13:52
@will-moore will-moore force-pushed the scene_coordinateTransformations_input_path_optional branch from 408e44d to 565a6cd Compare June 17, 2026 13:57
@jo-mueller jo-mueller moved this to In review in OME-ZARR 0.6 release Jun 17, 2026
@jo-mueller

jo-mueller commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

@will-moore I think that's ok. Could you add the json of the scene file that was previously failing to the tests folder? You need to remove the outer attributes field for it to work though.

@jo-mueller

Copy link
Copy Markdown
Contributor

Additionally we could restructure the coordinate_transformations.schema slightly to just contain a bunch of $refs (i.e., inputoutput, coordinateTransformation (singular) and coordinateTransformations (plural) rather than defining the latter at the top-level. That would maybe make the structure a bit cleaner.

@will-moore

Copy link
Copy Markdown
Member Author

@jo-mueller I am reluctant to refactor the schemas too much as I'm not very familiar with all the moving parts and relationships. Takes a while to get my head around them!

I've added a validator test in description above

@jo-mueller

Copy link
Copy Markdown
Contributor

@will-moore

I am reluctant to refactor the schemas too much as I'm not very familiar with all the moving parts and relationships. Takes a while to get my head around them!

fair :) I sent you a PR to add the tested (repviously invalid) json to the tests here. looks good otherwise from my side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Issue]: Bug: RFC-5 scene.coordinateTransformation.input path is required

2 participants