Skip to content

Extension points #344

@normanrz

Description

@normanrz

As we move toward OME-Zarr 1.0, we want to provide enough extension points in the specification to avoid having to issue breaking changes in new specification versions.
As a preparation, I though it would be useful to collect a list of extension points that emerge from the various in-flight RFCs:

Metadata field RFC Useful for
axes -> type RFC-5 new image axis types
axes -> unit RFC-5 new image axis unit types (e.g. in combination with a new axis type)
coordinateTransforms -> type RFC-5 new coordinate transformations, (e.g. thin-plate-spline transforms)
coordinateTransforms -> type = coordinates or type = displacement -> interpolation RFC-5 new interpolation types
axes -> orientation -> type RFC-4 new orientation type
nodes -> type RFC-8 new node type, e.g. tables, meshes
nodes -> attributes RFC-8 custom metadata for nodes in a collection

These extension points would allow any implementor to add new functionality within the scope of the extension points. In the case of collection node types and attributes that would be quite broad. To manage the namespace, an idea is to use prefixes separated by a colon (:). There would be a central repository where implementors or users can register their prefix (e.g., mobie:, neuroglancer:, fractal:, webknossos:).
Unprefixed names would be reserved for in-spec types/attributes/etc. and would need to be added via the RFC process. This would allow for a progression from prefixed extension (for experimentation and customization) to standardized in-spec feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions