Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
11e46d2
Update input/output to input_axes/output_axes in schema
jo-mueller Oct 24, 2025
0615a22
Add description and required field to byDimension
jo-mueller Oct 24, 2025
90d49bc
Update mapAxis schema to use integer array
jo-mueller Oct 24, 2025
c083688
Add path and interpolation to displacements schema
jo-mueller Oct 24, 2025
53f2ae8
Add path and interpolation to coordinates schema
jo-mueller Oct 24, 2025
da238c1
only allow paths, no URLs
jo-mueller Oct 24, 2025
9969e4d
move required fields to correct places
jo-mueller Oct 24, 2025
1440931
name musnt't be empty
jo-mueller Oct 24, 2025
f0fbb02
added axis types to schema
jo-mueller Oct 24, 2025
763cb91
Added descriptions to schemas
jo-mueller Oct 24, 2025
85afeea
updated versions to 0.6dev2
jo-mueller Oct 24, 2025
10e8e9f
fix paths and versions
jo-mueller Oct 24, 2025
d15301e
pull schema from correct location
jo-mueller Oct 24, 2025
40bf356
Added action to run the tests
jo-mueller Oct 24, 2025
ff3fedd
update config reference
jo-mueller Oct 24, 2025
bad006b
update versions in test suite
jo-mueller Oct 24, 2025
7e97f37
Revert "update config reference"
jo-mueller Oct 24, 2025
f0cd2ac
update all version references to "0.6dev2"
jo-mueller Oct 28, 2025
5719082
update version reference
jo-mueller Oct 28, 2025
57bbfba
at least two spatial axes
jo-mueller Oct 28, 2025
7691cb7
allow any axis type
jo-mueller Oct 28, 2025
5c8bb7d
update version reference
jo-mueller Oct 28, 2025
fd09279
Add maxItems constraint to axes schema
jo-mueller Oct 28, 2025
b428ee2
Refactor image schema for coordinate transformations
jo-mueller Oct 28, 2025
7b32f3a
Update to NGFF 0.6dev2 and refactor coordinate systems
jo-mueller Oct 28, 2025
6ef928e
fix schema resolution
jo-mueller Nov 3, 2025
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
16 changes: 16 additions & 0 deletions .github/workflows/validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Validation
on:
push:
pull_request:

jobs:
validate:
name: Validation
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: python -mpip install --upgrade wheel tox
- run: tox
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"input": "2",
"output": "physical"
}
]
]
}
],
"type": "gaussian",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
"multiscales": [
{
"version": "0.5-dev",
"version": "0.6dev2",
"name": "example",
"coordinateSystems" : [
{
"name" : "exampleCoordinateSystem",
"axes": [
{"name": "t", "type": "time", "unit": "millisecond"},
{"name": "c", "type": "channel"},
{"name": "z", "type": "space", "unit": "micrometer"},
{"name": "y", "type": "space", "unit": "micrometer"},
{"name": "x", "type": "space", "unit": "micrometer"}
]
"name" : "world",
"axes": {
"t": {"type": "time", "unit": "millisecond"},
"c": {"type": "channel"},
"z": {"type": "space", "unit": "micrometer"},
"y": {"type": "space", "unit": "micrometer"},
"x": {"type": "space", "unit": "micrometer"}
}
},
{
"name" : "array_0",
"name" : "intrinsic",
"axes": [
{"name": "t", "type": "time", "unit": "millisecond"},
{"name": "c", "type": "channel"},
Expand All @@ -27,12 +27,14 @@
],
"datasets": [
{
"path": "0",
// the transformation of other arrays are defined relative to this, the highest resolution, array
"path": "s0",
// the transformation of other arrays are
// defined relative to this, the highest resolution, array
"coordinateTransformations": [{
"type": "identity",
"input": "/0",
"output": "array_0"
"type": "scale",
"scale": [1, 1, 1, 1, 1],
"input": "s0",
"output": "intrinsic"
}]
},
{
Expand All @@ -56,21 +58,15 @@
}]
}
],
"coordinateTransformations": [{
// the time unit (0.1 milliseconds), the voxel size for all spatial axes of "0" (0.5 micrometers)
"type": "scale",
"scale": [0.1, 1.0, 0.5, 0.5, 0.5],
"input" : "array_0",
"output" : "exampleCoordinateSystem"
}],
"type": "gaussian",
"metadata": {
"description": "the fields in metadata depend on the downscaling implementation. Here, the parameters passed to the skimage function are given",
"method": "skimage.transform.pyramid_gaussian",
"version": "0.16.1",
"args": "[true]",
"kwargs": {"multichannel": true}
}
"coordinateTransformations": [
{
"name": "additional_translation",
"type": "translation",
"translation": [0, 0, 10, 20, 30],
"input": "intrinsic",
"output": "world"
}
]
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,39 @@
"node_type": "group",
"attributes": {
"ome": {
"version": "0.5",
"version": "0.6dev2",
"multiscales": [
{
"axes": [
"coordinateSystems": [
{
"name": "y",
"type": "space",
"unit": "micrometer"
"name": "physical",
"axes": [
{
"name": "y",
"type": "space",
"unit": "micrometer"
},
{
"name": "x",
"type": "space",
"unit": "micrometer"
}
]
},
{
"name": "x",
"type": "space",
"unit": "micrometer"
"name": "intrinsic",
"axes": [
{
"name": "y",
"type": "space",
"unit": "micrometer"
},
{
"name": "x",
"type": "space",
"unit": "micrometer"
}
]
}
],
"datasets": [
Expand All @@ -24,15 +44,19 @@
"coordinateTransformations": [
{
"scale": [1, 1],
"type": "scale"
"type": "scale",
"input": "0",
"output": "intrinsic"
}
]
}
],
"coordinateTransformations": [
{
"scale": [10, 10],
"type": "scale"
"type": "scale",
"input": "intrinsic",
"output": "physical"
}
],
"name": "image_with_coordinateTransformations",
Expand Down
4 changes: 2 additions & 2 deletions ngff_spec/schemas/_version.schema
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ngff.openmicroscopy.org/0.6.dev1/schemas/_version.schema",
"$id": "https://ngff.openmicroscopy.org/0.6dev2/schemas/_version.schema",
"title": "OME-Zarr Metadata version",
"description": "The version of the OME-Zarr Metadata",
"type": "string",
"enum": [
"0.6.dev1"
"0.6dev2"
]
}
10 changes: 6 additions & 4 deletions ngff_spec/schemas/axes.schema
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ngff.openmicroscopy.org/latest/schemas/axes.schema",
"$id": "https://ngff.openmicroscopy.org/0.6dev2/schemas/axes.schema",
"title": "NGFF Axes",
"description": "JSON from OME-NGFF .zattrs",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"maxItems": 5,
"items": {
"$ref": "#/$defs/axis"
},
Expand All @@ -27,23 +28,24 @@
}
}
},
"minContains": 0,
"minContains": 2,
"maxContains": 3,
"$defs": {
"axis": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the axis"
"minLength": 1,
"description": "Name of the axis. Must be unique within the coordinate system."
},
"longName": {
"type": "string",
"description": "Longer name or description of the axis."
},
"type": {
"type": "string",
"description": "Dimension of the axis"
"description": "Type of the axis. Can be a predefined type or custom type."
},
"discrete": {
"type": "boolean",
Expand Down
4 changes: 2 additions & 2 deletions ngff_spec/schemas/bf2raw.schema
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ngff.openmicroscopy.org/0.6.dev1/schemas/bf2raw.schema",
"$id": "https://ngff.openmicroscopy.org/0.6dev2/schemas/bf2raw.schema",
"title": "OME-Zarr container produced by bioformats2raw",
"description": "The zarr.json attributes key",
"type": "object",
Expand All @@ -17,7 +17,7 @@
]
},
"version": {
"$ref": "https://ngff.openmicroscopy.org/0.6.dev1/schemas/_version.schema"
"$ref": "https://ngff.openmicroscopy.org/0.6dev2/schemas/_version.schema"
}
},
"required": [
Expand Down
5 changes: 3 additions & 2 deletions ngff_spec/schemas/coordinate_systems.schema
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ngff.openmicroscopy.org/latest/schemas/coordinate_systems.schema",
"$id": "https://ngff.openmicroscopy.org/0.6dev2/schemas/coordinate_systems.schema",
"title": "NGFF CoordinateSystem",
"description": "JSON from OME-NGFF .zattrs",
"type": "array",
Expand All @@ -15,7 +15,8 @@
"properties": {
"name": {
"type": "string",
"description": "Name of coordinate system"
"minLength": 1,
"description": "Name of coordinate system. Must be unique among all coordinate systems."
},
"axes": {
"$ref": "axes.schema"
Expand Down
8 changes: 5 additions & 3 deletions ngff_spec/schemas/coordinate_systems_and_transforms.schema
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ngff.openmicroscopy.org/latest/schemas/coordinate_systems_and_transforms.schema",
"$id": "https://ngff.openmicroscopy.org/0.6dev2/schemas/coordinate_systems_and_transforms.schema",
"title": "NGFF Coordinate Systems and Transforms",
"description": "Coordinate Systems and transforms for OME-NGFF",
"type": "object",
"properties": {
"coordinateSystems": {
"$ref": "coordinate_systems.schema"
"$ref": "coordinate_systems.schema",
"description": "Coordinate systems to combine with transforms to define spatial relationships"
},
"coordinateTransformations": {
"$ref": "coordinate_transformations.schema"
"$ref": "coordinate_transformations.schema",
"description": "Coordinate transformations defining spatial relationships between coordinate systems"
},
"arrayCoordinateSystem": {
"type": "object",
Expand Down
Loading