Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions rfc/4/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -579,3 +579,4 @@ End-user applications SHOULD display the encoded information with, for example,
| 2026-06-04 | Clarify that an absent `orientation` and an explicit `null` `orientation` are equivalent and leave the orientation undefined. | [https://github.com/fideus-labs/ngff-zarr/pull/523](https://github.com/fideus-labs/ngff-zarr/pull/523) |
| 2026-06-12 | Clarify that `orientation` describes a single, primary orientation; note that secondary orientations are not supported and could be expressed via a future generic vector data structure, and record the primary-vs-secondary alternative considered. | [https://github.com/ome/ngff/pull/528](https://github.com/ome/ngff/pull/528) |
| 2026-08-27 | Take the `type` constant and the `AnatomicalOrientationValues` range back into the generated artifacts, which had stopped enforcing the vocabulary this document defines. | [https://github.com/ome/ngff/pull/595](https://github.com/ome/ngff/pull/595) |
| 2026-09-01 | Give the `orientation` slot its range directly, so the generated schema stops emitting a stray `type: string` beside the `AnatomicalOrientation` reference and the TypeScript interface types the attribute. | [https://github.com/ome/ngff/pull/599](https://github.com/ome/ngff/pull/599) |
3 changes: 2 additions & 1 deletion rfc/4/markdown/AnatomicalOrientation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ orphan: true
URI: [ngff:AnatomicalOrientation](https://w3id.org/ome/ngff/AnatomicalOrientation)


[![img](https://yuml.me/diagram/nofunky;dir:TB/class/[Orientation],[Orientation]^-[AnatomicalOrientation|type:string;value:AnatomicalOrientationValues])](https://yuml.me/diagram/nofunky;dir:TB/class/[Orientation],[Orientation]^-[AnatomicalOrientation|type:string;value:AnatomicalOrientationValues])
[![img](https://yuml.me/diagram/nofunky;dir:TB/class/[Orientation],[SpaceAxis]++-%20orientation%200..1>[AnatomicalOrientation|type:string;value:AnatomicalOrientationValues],[Orientation]^-[AnatomicalOrientation],[SpaceAxis])](https://yuml.me/diagram/nofunky;dir:TB/class/[Orientation],[SpaceAxis]++-%20orientation%200..1>[AnatomicalOrientation|type:string;value:AnatomicalOrientationValues],[Orientation]^-[AnatomicalOrientation],[SpaceAxis])

## Parents

* is_a: [Orientation](Orientation.md)

## Referenced by Class

* **None** *[➞orientation](spaceAxis__orientation.md)* <sub>0..1</sub> **[AnatomicalOrientation](AnatomicalOrientation.md)**

## Attributes

Expand Down
4 changes: 2 additions & 2 deletions rfc/4/markdown/SpaceAxis.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ orphan: true
URI: [ngff:SpaceAxis](https://w3id.org/ome/ngff/SpaceAxis)


[![img](https://yuml.me/diagram/nofunky;dir:TB/class/[Axis]^-[SpaceAxis&#124;unit:SpaceUnit;orientation:string%20%3F;name:SpaceAxesNames;type:string],[Axis])](https://yuml.me/diagram/nofunky;dir:TB/class/[Axis]^-[SpaceAxis&#124;unit:SpaceUnit;orientation:string%20%3F;name:SpaceAxesNames;type:string],[Axis])
[![img](https://yuml.me/diagram/nofunky;dir:TB/class/[AnatomicalOrientation]<orientation%200..1-++[SpaceAxis&#124;unit:SpaceUnit;name:SpaceAxesNames;type:string],[Axis]^-[SpaceAxis],[Axis],[AnatomicalOrientation])](https://yuml.me/diagram/nofunky;dir:TB/class/[AnatomicalOrientation]<orientation%200..1-++[SpaceAxis&#124;unit:SpaceUnit;name:SpaceAxesNames;type:string],[Axis]^-[SpaceAxis],[Axis],[AnatomicalOrientation])

## Parents

Expand All @@ -30,7 +30,7 @@ URI: [ngff:SpaceAxis](https://w3id.org/ome/ngff/SpaceAxis)
* [➞orientation](spaceAxis__orientation.md) <sub>0..1</sub>
* Description: The direction of an axis of type space. This attribute is OPTIONAL. An axis with no orientation and an axis whose orientation is null are equivalent: in both cases the orientation of that axis is undefined, and neither implies a default value. Writers SHOULD omit the attribute rather than serialize a null value.

* Range: [String](types/String.md)
* Range: [AnatomicalOrientation](AnatomicalOrientation.md)
* [SpaceAxis➞name](SpaceAxis_name.md) <sub>1..1</sub>
* Range: [SpaceAxesNames](SpaceAxesNames.md)
* [SpaceAxis➞type](SpaceAxis_type.md) <sub>1..1</sub>
Expand Down
2 changes: 1 addition & 1 deletion rfc/4/markdown/spaceAxis__orientation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ URI: [ngff:spaceAxis__orientation](https://w3id.org/ome/ngff/spaceAxis__orientat

## Domain and Range

None &#8594; <sub>0..1</sub> [String](types/String.md)
None &#8594; <sub>0..1</sub> [AnatomicalOrientation](AnatomicalOrientation.md)

## Parents

Expand Down
4 changes: 1 addition & 3 deletions rfc/4/orientation.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,9 +354,7 @@ class SpaceAxis(Axis):
unit: SpaceUnit = Field(default=..., description="""Physical unit for spatial measurement along the axis, selected from a standardized list of distance units (e.g., micrometer, nanometer).
""", json_schema_extra = { "linkml_meta": {'alias': 'unit', 'domain_of': ['SpaceAxis', 'TimeAxis']} })
orientation: Optional[AnatomicalOrientation] = Field(default=None, description="""The direction of an axis of type space. This attribute is OPTIONAL. An axis with no orientation and an axis whose orientation is null are equivalent: in both cases the orientation of that axis is undefined, and neither implies a default value. Writers SHOULD omit the attribute rather than serialize a null value.
""", json_schema_extra = { "linkml_meta": {'alias': 'orientation',
'any_of': [{'range': 'AnatomicalOrientation'}],
'domain_of': ['SpaceAxis']} })
""", json_schema_extra = { "linkml_meta": {'alias': 'orientation', 'domain_of': ['SpaceAxis']} })
name: SpaceAxesNames = Field(default=..., json_schema_extra = { "linkml_meta": {'alias': 'name', 'domain_of': ['Axis']} })
type: Literal["space"] = Field(default="space", json_schema_extra = { "linkml_meta": {'alias': 'type',
'domain_of': ['Axis', 'Orientation'],
Expand Down
3 changes: 1 addition & 2 deletions rfc/4/orientation.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,7 @@
"type": "null"
}
],
"description": "The direction of an axis of type space. This attribute is OPTIONAL. An axis with no orientation and an axis whose orientation is null are equivalent: in both cases the orientation of that axis is undefined, and neither implies a default value. Writers SHOULD omit the attribute rather than serialize a null value.\n",
"type": "string"
"description": "The direction of an axis of type space. This attribute is OPTIONAL. An axis with no orientation and an axis whose orientation is null are equivalent: in both cases the orientation of that axis is undefined, and neither implies a default value. Writers SHOULD omit the attribute rather than serialize a null value.\n"
},
"type": {
"const": "space",
Expand Down
2 changes: 1 addition & 1 deletion rfc/4/orientation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ export interface SpaceAxis extends Axis {
unit: string,
/** The direction of an axis of type space. This attribute is OPTIONAL. An axis with no orientation and an axis whose orientation is null are equivalent: in both cases the orientation of that axis is undefined, and neither implies a default value. Writers SHOULD omit the attribute rather than serialize a null value.
*/
orientation?: string,
orientation?: AnatomicalOrientation,
}


Expand Down
3 changes: 1 addition & 2 deletions rfc/4/orientation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,7 @@ classes:
The direction of an axis of type space. This attribute is OPTIONAL. An axis with no orientation and an axis
whose orientation is null are equivalent: in both cases the orientation of that axis is undefined, and
neither implies a default value. Writers SHOULD omit the attribute rather than serialize a null value.
any_of:
- range: AnatomicalOrientation
range: AnatomicalOrientation
required: false
defining_slots:
- name
Expand Down
Loading