Skip to content

RFC5 - confusing that 'intrinsic system' is the last entry in coordinateSystems #402

@dstansby

Description

@dstansby

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions