-
Notifications
You must be signed in to change notification settings - Fork 59
Description
The current working iteration of RFC5 says:
Each multiscales dictionary MUST contain the field “coordinateSystems”, whose value is an array containing coordinate system metadata (see coordinate systems). The last entry of this array is the “intrinsic” coordinate system
and
Each dictionary in datasets MUST contain the field coordinateTransformations ... The value of the transformation’s output MUST be the name of the “intrinsic” coordinate system.
This constraint is currently violated by many of the examples at https://github.com/jo-mueller/ngff-rfc5-coordinate-transformation-examples. In at least the example I contributed, this is because I set up transforms from the data arrays to an 'intrinsic' coordinate system, then listed additional coordinate systems after the intrinsic coordinate system. I think this is a logical order to think about the creation of the metadata in.
I suspect that users will happily construct metadata like this, without realising it's invalid by the current draft of RFC5. So I'd propose that the restriction on
The value of the transformation’s output MUST be the name of the “intrinsic” coordinate system.
being replaced with
The value of the transformation’s output MUST be the same for every dataset in a single multiscales.
This way all the arrays still transform to the same system, but it doesn't have to be the last one in the list of coordinateSystems.
I fully appreciate the ship may have sailed on this, but I thought it was worth raising since even the 'official' RFC5 examples violate the constraint above, so it's likely users will also violate it without realising.