Skip to content

Conversation

@jo-mueller
Copy link
Collaborator

@jo-mueller jo-mueller commented Oct 21, 2025

Built on top top of #14 and #20 (requires these two to be merged first). Contains the changes proposed in the latest versions of rfc5.

@jo-mueller jo-mueller added the RFC Changes that are part of an [RFC-process](https://ngff.openmicroscopy.org/rfc/index.html) label Oct 21, 2025
@jo-mueller jo-mueller changed the title Rfc5 RFC5: coordinate systems and transformations Oct 21, 2025
@github-actions
Copy link

Automated Review URLs

Copy link
Member

@will-moore will-moore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trying to use this branch from the validator...
The image.schema has

"$id": "https://ngff.openmicroscopy.org/0.6.dev1/schemas/image.schema",

and

"$ref": "https://ngff.openmicroscopy.org/0.6.dev1/schemas/_version.schema"

https://deploy-preview-48--ome-ngff-validator.netlify.app/?source=http://localhost:8000/4995115_tiles.zarr/4995115_cropped_400_100_400_400_rot10.zarr/
Is currently failing with

can't resolve reference coordinate_transformations.schema from id https://ngff.openmicroscopy.org/0.6.dev1/schemas/image.schema

So hopefully that will be fixed by addressing those lines 🤞

@jo-mueller
Copy link
Collaborator Author

jo-mueller commented Oct 29, 2025

@will-moore can you take a look at the schemas over at this PR? I haven't done much work on the schemas here yet (seemed like a big beast to tackle while the spec text was still changing), but now I think I'm almost there.

Edit: Oh and I am seeing that I changed all the versionings at said PR to 0.6dev2. Should it rather be 0.6.dev2?

@will-moore
Copy link
Member

I think 0.6dev2 is OK.

Fixed it to use that branch in ome/ome-ngff-validator@b4ee3bb

and this is looking good now, thanks. See

https://deploy-preview-48--ome-ngff-validator.netlify.app/?source=https://uk1s3.embassy.ebi.ac.uk/idr/zarr/test-data/v0.6dev2/idr0067/9036345_tiles.zarr/9036345_cropped_200_200_200_200_rot30.zarr/

jo-mueller and others added 3 commits October 29, 2025 13:16
I'm merging this so that all necessary changes regarding the addition of rfc5-stuff to the main branch of the ngff-spec repo can be in one place. This branch was supposed to be a break-out to keep the commit-history of ome#17 clean.

* Update input/output to input_axes/output_axes in schema

* Add description and required field to byDimension

* Update mapAxis schema to use integer array

* Add path and interpolation to displacements schema

The displacements object now includes a required 'path' property for specifying the zarr array location and an 'interpolation' property with supported methods. This enhances the schema's ability to describe displacement fields and their application.

* Add path and interpolation to coordinates schema

Introduces 'path' and 'interpolation' properties to the 'coordinates' object in the schema, specifying the location of the coordinate field and the interpolation method to use. The 'path' property is now required.

* only allow paths, no URLs

* move required fields to correct places

* name musnt't be empty

* added axis types to schema

* Added descriptions to schemas

* updated versions to 0.6dev2

* fix paths and versions

* pull schema from correct location

* Added action to run the tests

* update config reference

* update versions in test suite

* Revert "update config reference"

This reverts commit ff3fedd.

* update all version references to "0.6dev2"

* update version reference

* at least two spatial axes

* allow any axis type

* update version reference

* Add maxItems constraint to axes schema

Set a maximum of 5 items for the axes array in the schema to enforce limits on the number of axes allowed.

* Refactor image schema for coordinate transformations

Refactors the definition of coordinateTransformations and coordinateSystems to use inline array schemas with stricter constraints. Adds a new multiscale_coordinateTransformations definition to support scale and translate transformations for multiscale datasets.

* Update to NGFF 0.6dev2 and refactor coordinate systems

Updated example and test JSON files to use the NGFF 0.6dev2 specification. Replaced 'axes' with 'coordinateSystems', added explicit 'input' and 'output' fields to coordinateTransformations, and restructured transformation chains for clarity and compliance with the new spec.

* fix schema resolution
Co-authored-by: Will Moore <[email protected]>
Co-authored-by: David Stansby <[email protected]>
Co-authored-by: Davis Bennett <[email protected]>
@jo-mueller
Copy link
Collaborator Author

jo-mueller commented Nov 3, 2025

@dstansby

sorry, don't think I'll have the time to look into this in detail. What I will do at some point is try and validate metadata produced by ome-zarr-models against these as a way of checking them (and checking ome-zarr-models!)

That's what I had in mind. Thanks! We can also do that at the Hackathon?

@will-moore

The schemas on this branch are currently being used by ome-ngff-validator at ome/ome-ngff-validator#48

Sorry, I probably broke that. I wanted to have everything in one place here to avoid polluting the commit history any worse than it already is :D Changing the schemas for the validator to this place should fix it, though!

@will-moore
Copy link
Member

@jo-mueller I pushed a fix about the same time as I made that comment (when I realised it was broken).
ome/ome-ngff-validator@5afaab5
So it should be working now?

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

Labels

RFC Changes that are part of an [RFC-process](https://ngff.openmicroscopy.org/rfc/index.html)

Projects

Status: No status
Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants