From 1832e14977d73c67a7a3d57b9e514825dc6def39 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 12:41:14 +0100 Subject: [PATCH 01/17] simple scene test --- .../valid/scene/simple.ome.zarr/zarr.json | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json diff --git a/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json new file mode 100644 index 0000000..d3990d4 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json @@ -0,0 +1,58 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "scale": [ + 2, + 2 + ], + "type": "scale" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} From 525eb2bc01ce03ebe8c80bc36f302d0217e93e6f Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 12:46:22 +0100 Subject: [PATCH 02/17] add simple parse_attributes scene --- .../v0.6/core/valid/scene/simple.json | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 cases/parse_attributes/v0.6/core/valid/scene/simple.json diff --git a/cases/parse_attributes/v0.6/core/valid/scene/simple.json b/cases/parse_attributes/v0.6/core/valid/scene/simple.json new file mode 100644 index 0000000..a27d6c6 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/valid/scene/simple.json @@ -0,0 +1,86 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "c", + "type": "channel" + }, + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "translated_x50" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "rotated", + "path": "4995115_cropped_400_100_400_400_rot10.zarr" + }, + "name": "translate_tile_to_stitched_position", + "output": { + "name": "translated_x50" + }, + "translation": [ + 0, + 0, + 30.608878192215265, + 11.21775638443053 + ], + "type": "translation" + }, + { + "input": { + "name": "rotated", + "path": "4995115_cropped_700_700_400_400_rot45.zarr" + }, + "name": "translate_tile_to_stitched_position", + "output": { + "name": "translated_x50" + }, + "translation": [ + 0, + 0, + 91.8266345766458, + 41.8266345766458 + ], + "type": "translation" + }, + { + "input": { + "name": "translated_x50" + }, + "name": "translate_tile_to_stitched_position", + "output": { + "name": "physical", + "path": "4995115_full.zarr" + }, + "translation": [ + 0, + 0, + 0, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} From fb64c28caa6addaba846aa45c4379c87c19592c4 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 15:03:43 +0100 Subject: [PATCH 03/17] valid scenes Also simplify the scene attribute tests, and add a minimal image test --- .../v0.6/core/valid/scene/path_to_name.json | 40 +++++++++ .../v0.6/core/valid/scene/path_to_path.json | 24 +++++ .../v0.6/core/valid/scene/scene.json | 86 ------------------ .../v0.6/core/valid/scene/simple.json | 60 +++---------- .../v0.6/core/valid/scene/tile_stitching.json | 88 ------------------- .../valid/image/simple.ome.zarr/s0/zarr.json | 32 +++++++ .../valid/image/simple.ome.zarr/zarr.json | 46 ++++++++++ .../path_to_name.ome.zarr/img/s0/zarr.json | 32 +++++++ .../scene/path_to_name.ome.zarr/img/zarr.json | 46 ++++++++++ .../scene/path_to_name.ome.zarr/zarr.json | 44 ++++++++++ .../path_to_path.ome.zarr/img/s0/zarr.json | 32 +++++++ .../scene/path_to_path.ome.zarr/img/zarr.json | 46 ++++++++++ .../path_to_path.ome.zarr/img2/s0/zarr.json | 32 +++++++ .../path_to_path.ome.zarr/img2/zarr.json | 46 ++++++++++ .../scene/path_to_path.ome.zarr/zarr.json | 28 ++++++ .../valid/scene/simple.ome.zarr/zarr.json | 8 +- 16 files changed, 466 insertions(+), 224 deletions(-) create mode 100644 cases/parse_attributes/v0.6/core/valid/scene/path_to_name.json create mode 100644 cases/parse_attributes/v0.6/core/valid/scene/path_to_path.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/scene/scene.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/scene/tile_stitching.json create mode 100644 cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/zarr.json diff --git a/cases/parse_attributes/v0.6/core/valid/scene/path_to_name.json b/cases/parse_attributes/v0.6/core/valid/scene/path_to_name.json new file mode 100644 index 0000000..f5fe860 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/valid/scene/path_to_name.json @@ -0,0 +1,40 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "intrinsic", + "path": "img" + }, + "output": { + "name": "atlas1" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/valid/scene/path_to_path.json b/cases/parse_attributes/v0.6/core/valid/scene/path_to_path.json new file mode 100644 index 0000000..d0d5985 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/valid/scene/path_to_path.json @@ -0,0 +1,24 @@ +{ + "ome": { + "scene": { + "coordinateTransformations": [ + { + "input": { + "name": "intrinsic", + "path": "img" + }, + "output": { + "name": "intrinsic", + "path": "img2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/valid/scene/scene.json b/cases/parse_attributes/v0.6/core/valid/scene/scene.json deleted file mode 100644 index a27d6c6..0000000 --- a/cases/parse_attributes/v0.6/core/valid/scene/scene.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "ome": { - "scene": { - "coordinateSystems": [ - { - "axes": [ - { - "name": "c", - "type": "channel" - }, - { - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "translated_x50" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "rotated", - "path": "4995115_cropped_400_100_400_400_rot10.zarr" - }, - "name": "translate_tile_to_stitched_position", - "output": { - "name": "translated_x50" - }, - "translation": [ - 0, - 0, - 30.608878192215265, - 11.21775638443053 - ], - "type": "translation" - }, - { - "input": { - "name": "rotated", - "path": "4995115_cropped_700_700_400_400_rot45.zarr" - }, - "name": "translate_tile_to_stitched_position", - "output": { - "name": "translated_x50" - }, - "translation": [ - 0, - 0, - 91.8266345766458, - 41.8266345766458 - ], - "type": "translation" - }, - { - "input": { - "name": "translated_x50" - }, - "name": "translate_tile_to_stitched_position", - "output": { - "name": "physical", - "path": "4995115_full.zarr" - }, - "translation": [ - 0, - 0, - 0, - 50 - ], - "type": "translation" - } - ] - }, - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/scene/simple.json b/cases/parse_attributes/v0.6/core/valid/scene/simple.json index a27d6c6..ebdef92 100644 --- a/cases/parse_attributes/v0.6/core/valid/scene/simple.json +++ b/cases/parse_attributes/v0.6/core/valid/scene/simple.json @@ -5,14 +5,20 @@ { "axes": [ { - "name": "c", - "type": "channel" + "name": "y", + "type": "space", + "unit": "micrometer" }, { - "name": "z", + "name": "x", "type": "space", "unit": "micrometer" - }, + } + ], + "name": "atlas1" + }, + { + "axes": [ { "name": "y", "type": "space", @@ -24,57 +30,19 @@ "unit": "micrometer" } ], - "name": "translated_x50" + "name": "atlas2" } ], "coordinateTransformations": [ { "input": { - "name": "rotated", - "path": "4995115_cropped_400_100_400_400_rot10.zarr" - }, - "name": "translate_tile_to_stitched_position", - "output": { - "name": "translated_x50" - }, - "translation": [ - 0, - 0, - 30.608878192215265, - 11.21775638443053 - ], - "type": "translation" - }, - { - "input": { - "name": "rotated", - "path": "4995115_cropped_700_700_400_400_rot45.zarr" - }, - "name": "translate_tile_to_stitched_position", - "output": { - "name": "translated_x50" - }, - "translation": [ - 0, - 0, - 91.8266345766458, - 41.8266345766458 - ], - "type": "translation" - }, - { - "input": { - "name": "translated_x50" + "name": "atlas1" }, - "name": "translate_tile_to_stitched_position", "output": { - "name": "physical", - "path": "4995115_full.zarr" + "name": "atlas2" }, "translation": [ - 0, - 0, - 0, + 50, 50 ], "type": "translation" diff --git a/cases/parse_attributes/v0.6/core/valid/scene/tile_stitching.json b/cases/parse_attributes/v0.6/core/valid/scene/tile_stitching.json deleted file mode 100644 index a88565c..0000000 --- a/cases/parse_attributes/v0.6/core/valid/scene/tile_stitching.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "ome": { - "scene": { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical", - "path": "tile_0" - }, - "name": "tile_0_mm to world", - "output": { - "name": "world" - }, - "translation": [ - 0, - 0 - ], - "type": "translation" - }, - { - "input": { - "name": "physical", - "path": "tile_1" - }, - "name": "tile_1_mm to world", - "output": { - "name": "world" - }, - "translation": [ - 0, - 348 - ], - "type": "translation" - }, - { - "input": { - "name": "physical", - "path": "tile_2" - }, - "name": "tile_2_mm to world", - "output": { - "name": "world" - }, - "translation": [ - 276, - 0 - ], - "type": "translation" - }, - { - "input": { - "name": "physical", - "path": "tile_3" - }, - "name": "tile_3_mm to world", - "output": { - "name": "world" - }, - "translation": [ - 276, - 348 - ], - "type": "translation" - } - ] - }, - "version": "0.6" - } -} diff --git a/cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/s0/zarr.json b/cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/s0/zarr.json new file mode 100644 index 0000000..c29b2c3 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/s0/zarr.json @@ -0,0 +1,32 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 10, + 10 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "name": "bytes" + } + ], + "data_type": "uint8", + "fill_value": 0, + "node_type": "array", + "shape": [ + 10, + 10 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/zarr.json new file mode 100644 index 0000000..1b6e790 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/image/simple.ome.zarr/zarr.json @@ -0,0 +1,46 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "intrinsic" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "intrinsic" + }, + "type": "identity" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/s0/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/s0/zarr.json new file mode 100644 index 0000000..c29b2c3 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/s0/zarr.json @@ -0,0 +1,32 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 10, + 10 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "name": "bytes" + } + ], + "data_type": "uint8", + "fill_value": 0, + "node_type": "array", + "shape": [ + 10, + 10 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/zarr.json new file mode 100644 index 0000000..1b6e790 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/img/zarr.json @@ -0,0 +1,46 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "intrinsic" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "intrinsic" + }, + "type": "identity" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/zarr.json new file mode 100644 index 0000000..d6887ee --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_name.ome.zarr/zarr.json @@ -0,0 +1,44 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "intrinsic", + "path": "img" + }, + "output": { + "name": "atlas1" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/s0/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/s0/zarr.json new file mode 100644 index 0000000..c29b2c3 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/s0/zarr.json @@ -0,0 +1,32 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 10, + 10 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "name": "bytes" + } + ], + "data_type": "uint8", + "fill_value": 0, + "node_type": "array", + "shape": [ + 10, + 10 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/zarr.json new file mode 100644 index 0000000..1b6e790 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img/zarr.json @@ -0,0 +1,46 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "intrinsic" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "intrinsic" + }, + "type": "identity" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/s0/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/s0/zarr.json new file mode 100644 index 0000000..c29b2c3 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/s0/zarr.json @@ -0,0 +1,32 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 10, + 10 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "name": "bytes" + } + ], + "data_type": "uint8", + "fill_value": 0, + "node_type": "array", + "shape": [ + 10, + 10 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/zarr.json new file mode 100644 index 0000000..1b6e790 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/img2/zarr.json @@ -0,0 +1,46 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "intrinsic" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "intrinsic" + }, + "type": "identity" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/zarr.json new file mode 100644 index 0000000..43788d2 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/scene/path_to_path.ome.zarr/zarr.json @@ -0,0 +1,28 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateTransformations": [ + { + "input": { + "name": "intrinsic", + "path": "img" + }, + "output": { + "name": "intrinsic", + "path": "img2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json index d3990d4..f3652f4 100644 --- a/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json +++ b/cases/validate_zarr/v0.6/core/valid/scene/simple.ome.zarr/zarr.json @@ -42,11 +42,11 @@ "output": { "name": "atlas2" }, - "scale": [ - 2, - 2 + "translation": [ + 50, + 50 ], - "type": "scale" + "type": "translation" } ] }, From 14a2fe1261c07bba7ad7693a2932ade9354864ca Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 16:20:13 +0100 Subject: [PATCH 04/17] Invalid scene tests --- .../scene/input_output_not_object.json | 50 ++++++++++++ .../core/invalid/scene/missing_scene.json | 52 ++++++++++++ ...ions.json => missing_transformations.json} | 8 +- ...ssing_params.json => missing_version.json} | 32 ++++---- .../scene/scene_input_output_not_object.json | 80 ------------------- .../invalid/scene/scene_missing_scene.json | 24 ------ .../invalid/scene/scene_missing_version.json | 24 ------ .../scene/unknown_coordinate_system.json | 39 +++++++++ .../zarr.json | 54 +++++++++++++ .../scene/missing_scene.ome.zarr/zarr.json} | 43 +++++----- .../zarr.json | 28 +++++++ .../scene/missing_version.ome.zarr/zarr.json | 57 +++++++++++++ .../zarr.json | 43 ++++++++++ 13 files changed, 361 insertions(+), 173 deletions(-) create mode 100644 cases/parse_attributes/v0.6/core/invalid/scene/input_output_not_object.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/scene/missing_scene.json rename cases/parse_attributes/v0.6/core/invalid/scene/{scene_missing_transformations.json => missing_transformations.json} (81%) rename cases/parse_attributes/v0.6/core/invalid/scene/{scene_bijection_forward_missing_params.json => missing_version.json} (69%) delete mode 100644 cases/parse_attributes/v0.6/core/invalid/scene/scene_input_output_not_object.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_scene.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_version.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/scene/unknown_coordinate_system.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/scene/input_output_not_object.ome.zarr/zarr.json rename cases/{parse_attributes/v0.6/core/invalid/scene/scene_bijection_inverse_missing_params.json => validate_zarr/v0.6/core/invalid/scene/missing_scene.ome.zarr/zarr.json} (66%) create mode 100644 cases/validate_zarr/v0.6/core/invalid/scene/missing_transformations.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/scene/missing_version.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/scene/unknown_coordinate_system.ome.zarr/zarr.json diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/input_output_not_object.json b/cases/parse_attributes/v0.6/core/invalid/scene/input_output_not_object.json new file mode 100644 index 0000000..3a9d366 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/scene/input_output_not_object.json @@ -0,0 +1,50 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": "atlas1", + "output": "atlas2", + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/missing_scene.json b/cases/parse_attributes/v0.6/core/invalid/scene/missing_scene.json new file mode 100644 index 0000000..b176630 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/scene/missing_scene.json @@ -0,0 +1,52 @@ +{ + "ome": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ], + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_transformations.json b/cases/parse_attributes/v0.6/core/invalid/scene/missing_transformations.json similarity index 81% rename from cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_transformations.json rename to cases/parse_attributes/v0.6/core/invalid/scene/missing_transformations.json index ea5f5b7..ae8023b 100644 --- a/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_transformations.json +++ b/cases/parse_attributes/v0.6/core/invalid/scene/missing_transformations.json @@ -5,19 +5,17 @@ { "axes": [ { - "discrete": false, - "name": "x", + "name": "y", "type": "space", "unit": "micrometer" }, { - "discrete": false, - "name": "y", + "name": "x", "type": "space", "unit": "micrometer" } ], - "name": "world" + "name": "atlas1" } ] }, diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/scene_bijection_forward_missing_params.json b/cases/parse_attributes/v0.6/core/invalid/scene/missing_version.json similarity index 69% rename from cases/parse_attributes/v0.6/core/invalid/scene/scene_bijection_forward_missing_params.json rename to cases/parse_attributes/v0.6/core/invalid/scene/missing_version.json index c8b777a..46fd7a3 100644 --- a/cases/parse_attributes/v0.6/core/invalid/scene/scene_bijection_forward_missing_params.json +++ b/cases/parse_attributes/v0.6/core/invalid/scene/missing_version.json @@ -5,53 +5,49 @@ { "axes": [ { - "discrete": false, - "name": "x", + "name": "y", "type": "space", "unit": "micrometer" }, { - "discrete": false, - "name": "y", + "name": "x", "type": "space", "unit": "micrometer" } ], - "name": "one" + "name": "atlas1" }, { "axes": [ { - "discrete": false, - "name": "x", + "name": "y", "type": "space", "unit": "micrometer" }, { - "discrete": false, - "name": "y", + "name": "x", "type": "space", "unit": "micrometer" } ], - "name": "two" + "name": "atlas2" } ], "coordinateTransformations": [ { - "forward": { - "type": "scale" - }, "input": { - "name": "one" + "name": "atlas1" }, "output": { - "name": "two" + "name": "atlas2" }, - "type": "bijection" + "translation": [ + 50, + 50 + ], + "type": "translation" } ] - }, - "version": "0.6" + } } } diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/scene_input_output_not_object.json b/cases/parse_attributes/v0.6/core/invalid/scene/scene_input_output_not_object.json deleted file mode 100644 index dab6a24..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/scene/scene_input_output_not_object.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "ome": { - "scene": { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical", - "path": "tile_0" - }, - "name": "tile_0_mm to world", - "output": "world", - "translation": [ - 0, - 0 - ], - "type": "translation" - }, - { - "input": { - "name": "physical", - "path": "tile_1" - }, - "name": "tile_1_mm to world", - "output": "world", - "translation": [ - 0, - 348 - ], - "type": "translation" - }, - { - "input": { - "name": "physical", - "path": "tile_2" - }, - "name": "tile_2_mm to world", - "output": "world", - "translation": [ - 276, - 0 - ], - "type": "translation" - }, - { - "input": { - "name": "physical", - "path": "tile_3" - }, - "name": "tile_3_mm to world", - "output": "world", - "translation": [ - 276, - 348 - ], - "type": "translation" - } - ] - }, - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_scene.json b/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_scene.json deleted file mode 100644 index 7b217ba..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_scene.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "ome": { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_version.json b/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_version.json deleted file mode 100644 index 7b217ba..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/scene/scene_missing_version.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "ome": { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/unknown_coordinate_system.json b/cases/parse_attributes/v0.6/core/invalid/scene/unknown_coordinate_system.json new file mode 100644 index 0000000..f47c5fc --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/scene/unknown_coordinate_system.json @@ -0,0 +1,39 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/validate_zarr/v0.6/core/invalid/scene/input_output_not_object.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/scene/input_output_not_object.ome.zarr/zarr.json new file mode 100644 index 0000000..363a325 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/scene/input_output_not_object.ome.zarr/zarr.json @@ -0,0 +1,54 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": "atlas1", + "output": "atlas2", + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/parse_attributes/v0.6/core/invalid/scene/scene_bijection_inverse_missing_params.json b/cases/validate_zarr/v0.6/core/invalid/scene/missing_scene.ome.zarr/zarr.json similarity index 66% rename from cases/parse_attributes/v0.6/core/invalid/scene/scene_bijection_inverse_missing_params.json rename to cases/validate_zarr/v0.6/core/invalid/scene/missing_scene.ome.zarr/zarr.json index d5e06b6..d541f04 100644 --- a/cases/parse_attributes/v0.6/core/invalid/scene/scene_bijection_inverse_missing_params.json +++ b/cases/validate_zarr/v0.6/core/invalid/scene/missing_scene.ome.zarr/zarr.json @@ -1,57 +1,56 @@ { - "ome": { - "scene": { + "attributes": { + "ome": { "coordinateSystems": [ { "axes": [ { - "discrete": false, - "name": "x", + "name": "y", "type": "space", "unit": "micrometer" }, { - "discrete": false, - "name": "y", + "name": "x", "type": "space", "unit": "micrometer" } ], - "name": "one" + "name": "atlas1" }, { "axes": [ { - "discrete": false, - "name": "x", + "name": "y", "type": "space", "unit": "micrometer" }, { - "discrete": false, - "name": "y", + "name": "x", "type": "space", "unit": "micrometer" } ], - "name": "two" + "name": "atlas2" } ], "coordinateTransformations": [ { "input": { - "name": "one" - }, - "inverse": { - "type": "scale" + "name": "atlas1" }, "output": { - "name": "two" + "name": "atlas2" }, - "type": "bijection" + "translation": [ + 50, + 50 + ], + "type": "translation" } - ] - }, - "version": "0.6" - } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 } diff --git a/cases/validate_zarr/v0.6/core/invalid/scene/missing_transformations.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/scene/missing_transformations.ome.zarr/zarr.json new file mode 100644 index 0000000..0a5e271 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/scene/missing_transformations.ome.zarr/zarr.json @@ -0,0 +1,28 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/scene/missing_version.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/scene/missing_version.ome.zarr/zarr.json new file mode 100644 index 0000000..843bac9 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/scene/missing_version.ome.zarr/zarr.json @@ -0,0 +1,57 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + } + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/scene/unknown_coordinate_system.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/scene/unknown_coordinate_system.ome.zarr/zarr.json new file mode 100644 index 0000000..a4793a1 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/scene/unknown_coordinate_system.ome.zarr/zarr.json @@ -0,0 +1,43 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} From 6ab3d7bf747f75af30a7259927135a2d543ee6aa Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 17:02:49 +0100 Subject: [PATCH 05/17] parse_attributes tests for all coordinate transformations --- .../v0.6/core/valid/transforms/affine.json | 165 ---------------- .../core/valid/transforms/affineParams.json | 80 -------- .../core/valid/transforms/byDimension.json | 103 ---------- .../v0.6/core/valid/transforms/identity.json | 86 +++++---- .../v0.6/core/valid/transforms/mapAxis.json | 157 ---------------- .../core/valid/transforms/projectAxis.json | 168 ----------------- .../core/valid/transforms/projectAxis2.json | 176 ------------------ .../v0.6/core/valid/transforms/rotation.json | 89 --------- .../v0.6/core/valid/transforms/scale.json | 94 +++++----- .../v0.6/core/valid/transforms/sequence.json | 66 +++++++ .../core/valid/transforms/translation.json | 54 ++++++ .../valid/transforms/affine_inline.json | 62 ++++++ .../valid/transforms/affine_path.json | 51 +++++ .../valid/transforms/bijection.json | 64 +++++++ .../valid/transforms/byDimension.json | 89 +++++++++ .../valid/transforms/coordinates.json | 51 +++++ .../valid/transforms/coordinates_interp.json | 52 ++++++ .../valid/transforms/displacements.json | 51 +++++ .../transforms/displacements_interp.json | 52 ++++++ .../valid/transforms/mapAxis.json | 54 ++++++ .../valid/transforms/projectAxis_create.json | 58 ++++++ .../valid/transforms/projectAxis_drop.json | 58 ++++++ .../valid/transforms/rotation_inline.json | 60 ++++++ .../valid/transforms/rotation_path.json | 51 +++++ 24 files changed, 967 insertions(+), 1024 deletions(-) delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/affine.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/affineParams.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/byDimension.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/mapAxis.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/projectAxis.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/projectAxis2.json delete mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/rotation.json create mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/sequence.json create mode 100644 cases/parse_attributes/v0.6/core/valid/transforms/translation.json create mode 100644 cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_inline.json create mode 100644 cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_path.json create mode 100644 cases/parse_attributes/v0.6/transform_bijection/valid/transforms/bijection.json create mode 100644 cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension.json create mode 100644 cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates.json create mode 100644 cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates_interp.json create mode 100644 cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements.json create mode 100644 cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements_interp.json create mode 100644 cases/parse_attributes/v0.6/transform_mapAxis/valid/transforms/mapAxis.json create mode 100644 cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.json create mode 100644 cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.json create mode 100644 cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_inline.json create mode 100644 cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_path.json diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/affine.json b/cases/parse_attributes/v0.6/core/valid/transforms/affine.json deleted file mode 100644 index c34638a..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/affine.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "sheared" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "affine": [ - [ - 3, - 0.4, - 30 - ], - [ - 0.3, - 2, - 20 - ] - ], - "input": { - "name": "physical" - }, - "name": "physical-to-sheared", - "output": { - "name": "sheared" - }, - "type": "affine" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/affineParams.json b/cases/parse_attributes/v0.6/core/valid/transforms/affineParams.json deleted file mode 100644 index c1eb599..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/affineParams.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "sheared" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "shearing-transform", - "output": { - "name": "sheared" - }, - "path": "affineParams", - "type": "affine" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "array-to-physical", - "output": { - "name": "physical" - }, - "scale": [ - 0.5, - 0.5 - ], - "type": "scale" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/byDimension.json b/cases/parse_attributes/v0.6/core/valid/transforms/byDimension.json deleted file mode 100644 index d809d92..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/byDimension.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": true, - "name": "dim_0", - "type": "array" - }, - { - "discrete": true, - "name": "dim_1", - "type": "array" - } - ], - "name": "array_coordinates" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "array_coordinates" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "transformations": [ - { - "inputAxes": [ - 0 - ], - "outputAxes": [ - 0 - ], - "transformation": { - "scale": [ - 2 - ], - "type": "scale" - } - }, - { - "inputAxes": [ - 1 - ], - "outputAxes": [ - 1 - ], - "transformation": { - "translation": [ - -10 - ], - "type": "translation" - } - } - ], - "type": "byDimension" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "transform-name", - "output": { - "name": "array_coordinates" - }, - "type": "identity" - } - ], - "path": "s0" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/identity.json b/cases/parse_attributes/v0.6/core/valid/transforms/identity.json index 91873b8..9e240fe 100644 --- a/cases/parse_attributes/v0.6/core/valid/transforms/identity.json +++ b/cases/parse_attributes/v0.6/core/valid/transforms/identity.json @@ -1,46 +1,50 @@ { "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "identity" + } + ] + }, "version": "0.6" } } diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/mapAxis.json b/cases/parse_attributes/v0.6/core/valid/transforms/mapAxis.json deleted file mode 100644 index ebc8a06..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/mapAxis.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "sheared" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "mapAxis": [ - 1, - 0 - ], - "name": "physical-to-sheared", - "output": { - "name": "sheared" - }, - "type": "mapAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/projectAxis.json b/cases/parse_attributes/v0.6/core/valid/transforms/projectAxis.json deleted file mode 100644 index 01b8126..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/projectAxis.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "createdOutputs": [ - 0, - 1 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/projectAxis2.json b/cases/parse_attributes/v0.6/core/valid/transforms/projectAxis2.json deleted file mode 100644 index 31b34f4..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/projectAxis2.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "createdOutputs": [ - 0 - ], - "droppedInputs": [ - 0 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/rotation.json b/cases/parse_attributes/v0.6/core/valid/transforms/rotation.json deleted file mode 100644 index c3b2b99..0000000 --- a/cases/parse_attributes/v0.6/core/valid/transforms/rotation.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "rotated" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "rotation", - "output": { - "name": "rotated" - }, - "rotation": [ - [ - 0, - 1 - ], - [ - -1, - 0 - ] - ], - "type": "rotation" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "array to physical", - "output": { - "name": "physical" - }, - "scale": [ - 1, - 1 - ], - "type": "scale" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/scale.json b/cases/parse_attributes/v0.6/core/valid/transforms/scale.json index f2afa1e..82b8010 100644 --- a/cases/parse_attributes/v0.6/core/valid/transforms/scale.json +++ b/cases/parse_attributes/v0.6/core/valid/transforms/scale.json @@ -1,50 +1,54 @@ { "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "scale": [ - 3.0, - 2.0 - ], - "type": "scale" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "scale": [ + 1000, + 1000 + ], + "type": "scale" + } + ] + }, "version": "0.6" } } diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/sequence.json b/cases/parse_attributes/v0.6/core/valid/transforms/sequence.json new file mode 100644 index 0000000..8ae6711 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/valid/transforms/sequence.json @@ -0,0 +1,66 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + { + "mapAxis": [ + 1, + 0 + ], + "type": "mapAxis" + } + ], + "type": "sequence" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/valid/transforms/translation.json b/cases/parse_attributes/v0.6/core/valid/transforms/translation.json new file mode 100644 index 0000000..ebdef92 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/valid/transforms/translation.json @@ -0,0 +1,54 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_inline.json b/cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_inline.json new file mode 100644 index 0000000..4f8ab8d --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_inline.json @@ -0,0 +1,62 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0, + 10 + ], + [ + 0, + 1, + 20 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_path.json b/cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_path.json new file mode 100644 index 0000000..080b29e --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_affine/valid/transforms/affine_path.json @@ -0,0 +1,51 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "affine_array", + "type": "affine" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_bijection/valid/transforms/bijection.json b/cases/parse_attributes/v0.6/transform_bijection/valid/transforms/bijection.json new file mode 100644 index 0000000..2a700e1 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_bijection/valid/transforms/bijection.json @@ -0,0 +1,64 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "forward": { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + "input": { + "name": "atlas1" + }, + "inverse": { + "translation": [ + -50, + -50 + ], + "type": "translation" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension.json b/cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension.json new file mode 100644 index 0000000..eb2aba2 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension.json @@ -0,0 +1,89 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 1, + 2 + ], + "outputAxes": [ + 1, + 2 + ], + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates.json b/cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates.json new file mode 100644 index 0000000..6093d74 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates.json @@ -0,0 +1,51 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "coordinates_multiscale", + "type": "coordinates" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates_interp.json b/cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates_interp.json new file mode 100644 index 0000000..489d5d7 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_coordinates/valid/transforms/coordinates_interp.json @@ -0,0 +1,52 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "interpolation": "linear", + "output": { + "name": "atlas2" + }, + "path": "coordinates_multiscale", + "type": "coordinates" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements.json b/cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements.json new file mode 100644 index 0000000..31dd01a --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements.json @@ -0,0 +1,51 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "displacements_multiscale", + "type": "displacements" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements_interp.json b/cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements_interp.json new file mode 100644 index 0000000..8c090e7 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_displacements/valid/transforms/displacements_interp.json @@ -0,0 +1,52 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "interpolation": "linear", + "output": { + "name": "atlas2" + }, + "path": "displacements_multiscale", + "type": "displacements" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_mapAxis/valid/transforms/mapAxis.json b/cases/parse_attributes/v0.6/transform_mapAxis/valid/transforms/mapAxis.json new file mode 100644 index 0000000..4d21f11 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_mapAxis/valid/transforms/mapAxis.json @@ -0,0 +1,54 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "mapAxis": [ + 1, + 0 + ], + "output": { + "name": "atlas2" + }, + "type": "mapAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.json b/cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.json new file mode 100644 index 0000000..0d4ed44 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.json @@ -0,0 +1,58 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "channel" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "createdOutputs": [ + 0 + ], + "input": { + "name": "label" + }, + "output": { + "name": "rgb" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.json b/cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.json new file mode 100644 index 0000000..3d07bee --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.json @@ -0,0 +1,58 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "channel" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "droppedInputs": [ + 0 + ], + "input": { + "name": "rgb" + }, + "output": { + "name": "label" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_inline.json b/cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_inline.json new file mode 100644 index 0000000..edd645b --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_inline.json @@ -0,0 +1,60 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0 + ], + [ + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_path.json b/cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_path.json new file mode 100644 index 0000000..e5d77f9 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_rotation/valid/transforms/rotation_path.json @@ -0,0 +1,51 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "rotation_array", + "type": "rotation" + } + ] + }, + "version": "0.6" + } +} From 9d443ef6ae2532df1980fa761f839a83c7e26232 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 18:08:35 +0100 Subject: [PATCH 06/17] WIP: transforms --- .../transforms/identity.ome.zarr/zarr.json | 54 ++++++++++ .../valid/transforms/scale.ome.zarr/zarr.json | 58 +++++++++++ .../transforms/sequence.ome.zarr/zarr.json | 70 +++++++++++++ .../transforms/translation.ome.zarr/zarr.json | 58 +++++++++++ .../affine_inline.ome.zarr/zarr.json | 66 +++++++++++++ .../affine_path.ome.zarr/affine_array/c/0/0 | Bin 0 -> 24 bytes .../affine_array/zarr.json | 35 +++++++ .../transforms/affine_path.ome.zarr/zarr.json | 55 +++++++++++ .../transforms/bijection.ome.zarr/zarr.json | 68 +++++++++++++ .../transforms/byDimension.ome.zarr/zarr.json | 93 ++++++++++++++++++ .../transforms/coordinates.ome.zarr/zarr.json | 55 +++++++++++ .../coordinates_interp.ome.zarr/zarr.json | 56 +++++++++++ .../displacements.ome.zarr/zarr.json | 55 +++++++++++ .../displacements_interp.ome.zarr/zarr.json | 56 +++++++++++ .../transforms/mapAxis.ome.zarr/zarr.json | 58 +++++++++++ .../projectAxis_create.ome.zarr/zarr.json | 62 ++++++++++++ .../projectAxis_drop.ome.zarr/zarr.json | 62 ++++++++++++ .../rotation_inline.ome.zarr/zarr.json | 64 ++++++++++++ .../rotation_array/c/0/0 | Bin 0 -> 16 bytes .../rotation_array/zarr.json | 35 +++++++ .../rotation_path.ome.zarr/zarr.json | 55 +++++++++++ 21 files changed, 1115 insertions(+) create mode 100644 cases/validate_zarr/v0.6/core/valid/transforms/identity.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/transforms/scale.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/transforms/sequence.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/valid/transforms/translation.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_inline.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_bijection/valid/transforms/bijection.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_byDimension/valid/transforms/byDimension.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_mapAxis/valid/transforms/mapAxis.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_inline.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/zarr.json diff --git a/cases/validate_zarr/v0.6/core/valid/transforms/identity.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/transforms/identity.ome.zarr/zarr.json new file mode 100644 index 0000000..14bfedd --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/transforms/identity.ome.zarr/zarr.json @@ -0,0 +1,54 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "identity" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/transforms/scale.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/transforms/scale.ome.zarr/zarr.json new file mode 100644 index 0000000..0c5e27a --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/transforms/scale.ome.zarr/zarr.json @@ -0,0 +1,58 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "scale": [ + 1000, + 1000 + ], + "type": "scale" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/transforms/sequence.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/transforms/sequence.ome.zarr/zarr.json new file mode 100644 index 0000000..5527047 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/transforms/sequence.ome.zarr/zarr.json @@ -0,0 +1,70 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + { + "mapAxis": [ + 1, + 0 + ], + "type": "mapAxis" + } + ], + "type": "sequence" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/valid/transforms/translation.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/valid/transforms/translation.ome.zarr/zarr.json new file mode 100644 index 0000000..f3652f4 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/valid/transforms/translation.ome.zarr/zarr.json @@ -0,0 +1,58 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_inline.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_inline.ome.zarr/zarr.json new file mode 100644 index 0000000..958dd86 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_inline.ome.zarr/zarr.json @@ -0,0 +1,66 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0, + 10 + ], + [ + 0, + 1, + 20 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/c/0/0 b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/c/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..f48905be7989b5e8e7ef52a441657bd4676e2256 GIT binary patch literal 24 VcmZQzXs~Ah0}m$%4dQz^0RSAD0+Rp$ literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/zarr.json b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/zarr.json new file mode 100644 index 0000000..42846bf --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/affine_array/zarr.json @@ -0,0 +1,35 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 2, + 3 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "configuration": { + "endian": "little" + }, + "name": "bytes" + } + ], + "data_type": "float32", + "fill_value": 0.0, + "node_type": "array", + "shape": [ + 2, + 3 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/zarr.json new file mode 100644 index 0000000..6a5de5d --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/valid/transforms/affine_path.ome.zarr/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "affine_array", + "type": "affine" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_bijection/valid/transforms/bijection.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_bijection/valid/transforms/bijection.ome.zarr/zarr.json new file mode 100644 index 0000000..74b1c3a --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_bijection/valid/transforms/bijection.ome.zarr/zarr.json @@ -0,0 +1,68 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "forward": { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + "input": { + "name": "atlas1" + }, + "inverse": { + "translation": [ + -50, + -50 + ], + "type": "translation" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_byDimension/valid/transforms/byDimension.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_byDimension/valid/transforms/byDimension.ome.zarr/zarr.json new file mode 100644 index 0000000..4942393 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_byDimension/valid/transforms/byDimension.ome.zarr/zarr.json @@ -0,0 +1,93 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 1, + 2 + ], + "outputAxes": [ + 1, + 2 + ], + "translation": [ + 50, + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/zarr.json new file mode 100644 index 0000000..271d391 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "coordinates_multiscale", + "type": "coordinates" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/zarr.json new file mode 100644 index 0000000..4ef6060 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/zarr.json @@ -0,0 +1,56 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "interpolation": "linear", + "output": { + "name": "atlas2" + }, + "path": "coordinates_multiscale", + "type": "coordinates" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/zarr.json new file mode 100644 index 0000000..dd2b9e6 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "displacements_multiscale", + "type": "displacements" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/zarr.json new file mode 100644 index 0000000..73668b5 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/zarr.json @@ -0,0 +1,56 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "interpolation": "linear", + "output": { + "name": "atlas2" + }, + "path": "displacements_multiscale", + "type": "displacements" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_mapAxis/valid/transforms/mapAxis.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_mapAxis/valid/transforms/mapAxis.ome.zarr/zarr.json new file mode 100644 index 0000000..3e74a44 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_mapAxis/valid/transforms/mapAxis.ome.zarr/zarr.json @@ -0,0 +1,58 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "mapAxis": [ + 1, + 0 + ], + "output": { + "name": "atlas2" + }, + "type": "mapAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.ome.zarr/zarr.json new file mode 100644 index 0000000..9923dd1 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_create.ome.zarr/zarr.json @@ -0,0 +1,62 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "channel" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "createdOutputs": [ + 0 + ], + "input": { + "name": "label" + }, + "output": { + "name": "rgb" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.ome.zarr/zarr.json new file mode 100644 index 0000000..8ae7780 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_projectAxis/valid/transforms/projectAxis_drop.ome.zarr/zarr.json @@ -0,0 +1,62 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "channel" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "droppedInputs": [ + 0 + ], + "input": { + "name": "rgb" + }, + "output": { + "name": "label" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_inline.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_inline.ome.zarr/zarr.json new file mode 100644 index 0000000..05bf270 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_inline.ome.zarr/zarr.json @@ -0,0 +1,64 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0 + ], + [ + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/c/0/0 b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/c/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..d7de1a91256fb02e9c24429fc1c2a51ded576783 GIT binary patch literal 16 PcmZQzXs~C1g9dv53xWZE literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/zarr.json new file mode 100644 index 0000000..2b31f58 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/rotation_array/zarr.json @@ -0,0 +1,35 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 2, + 2 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "configuration": { + "endian": "little" + }, + "name": "bytes" + } + ], + "data_type": "float32", + "fill_value": 0.0, + "node_type": "array", + "shape": [ + 2, + 2 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/zarr.json new file mode 100644 index 0000000..a577f9f --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/valid/transforms/rotation_path.ome.zarr/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "rotation_array", + "type": "rotation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} From 9b27d5110a59ff3da5fa8222d4d5bd8ee318993e Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Thu, 8 Oct 2026 18:23:46 +0100 Subject: [PATCH 07/17] coordinates and displacements multiscales --- .../coordinates_multiscale/s0/c/0/0 | Bin 0 -> 16 bytes .../coordinates_multiscale/s0/zarr.json | 35 +++++++++++ .../coordinates_multiscale/zarr.json | 55 ++++++++++++++++++ .../coordinates_multiscale/s0/c/0/0 | Bin 0 -> 16 bytes .../coordinates_multiscale/s0/zarr.json | 35 +++++++++++ .../coordinates_multiscale/zarr.json | 55 ++++++++++++++++++ .../displacements_multiscale/s0/c/0/0 | Bin 0 -> 16 bytes .../displacements_multiscale/s0/zarr.json | 35 +++++++++++ .../displacements_multiscale/zarr.json | 55 ++++++++++++++++++ .../displacements_multiscale/s0/c/0/0 | Bin 0 -> 16 bytes .../displacements_multiscale/s0/zarr.json | 35 +++++++++++ .../displacements_multiscale/zarr.json | 55 ++++++++++++++++++ 12 files changed, 360 insertions(+) create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/zarr.json diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..f2fc87c2faff08f77281c3c9c18cf6199c28be88 GIT binary patch literal 16 PcmZQz009L@Fa@Lm1R4Ot literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json new file mode 100644 index 0000000..2b31f58 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json @@ -0,0 +1,35 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 2, + 2 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "configuration": { + "endian": "little" + }, + "name": "bytes" + } + ], + "data_type": "float32", + "fill_value": 0.0, + "node_type": "array", + "shape": [ + 2, + 2 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/zarr.json new file mode 100644 index 0000000..4402a1c --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "coordinate" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "atlas1" + }, + "scale": [ + 10, + 10 + ], + "type": "scale" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..f2fc87c2faff08f77281c3c9c18cf6199c28be88 GIT binary patch literal 16 PcmZQz009L@Fa@Lm1R4Ot literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json new file mode 100644 index 0000000..2b31f58 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json @@ -0,0 +1,35 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 2, + 2 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "configuration": { + "endian": "little" + }, + "name": "bytes" + } + ], + "data_type": "float32", + "fill_value": 0.0, + "node_type": "array", + "shape": [ + 2, + 2 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/zarr.json new file mode 100644 index 0000000..4402a1c --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "coordinate" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "atlas1" + }, + "scale": [ + 10, + 10 + ], + "type": "scale" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/c/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..f2fc87c2faff08f77281c3c9c18cf6199c28be88 GIT binary patch literal 16 PcmZQz009L@Fa@Lm1R4Ot literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json new file mode 100644 index 0000000..2b31f58 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json @@ -0,0 +1,35 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 2, + 2 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "configuration": { + "endian": "little" + }, + "name": "bytes" + } + ], + "data_type": "float32", + "fill_value": 0.0, + "node_type": "array", + "shape": [ + 2, + 2 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/zarr.json new file mode 100644 index 0000000..fd279bc --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "d", + "type": "displacement" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "atlas1" + }, + "scale": [ + 10, + 10 + ], + "type": "scale" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/c/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..f2fc87c2faff08f77281c3c9c18cf6199c28be88 GIT binary patch literal 16 PcmZQz009L@Fa@Lm1R4Ot literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json new file mode 100644 index 0000000..2b31f58 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json @@ -0,0 +1,35 @@ +{ + "attributes": {}, + "chunk_grid": { + "configuration": { + "chunk_shape": [ + 2, + 2 + ] + }, + "name": "regular" + }, + "chunk_key_encoding": { + "configuration": { + "separator": "/" + }, + "name": "default" + }, + "codecs": [ + { + "configuration": { + "endian": "little" + }, + "name": "bytes" + } + ], + "data_type": "float32", + "fill_value": 0.0, + "node_type": "array", + "shape": [ + 2, + 2 + ], + "storage_transformers": [], + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/zarr.json new file mode 100644 index 0000000..fd279bc --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "multiscales": [ + { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "d", + "type": "displacement" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + } + ], + "datasets": [ + { + "coordinateTransformations": [ + { + "input": { + "path": "s0" + }, + "output": { + "name": "atlas1" + }, + "scale": [ + 10, + 10 + ], + "type": "scale" + } + ], + "path": "s0" + } + ] + } + ], + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} From 68f64de60cb4d2c01f43782577b88b4e8ffb2f01 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 12:29:02 +0100 Subject: [PATCH 08/17] invalid core transforms --- .../transforms/identity_mismatch_ndim.json | 55 ++++++++++++++ .../core/invalid/transforms/scale_path.json | 51 +++++++++++++ .../invalid/transforms/scale_wrong_ndim.json | 55 ++++++++++++++ .../transforms/sequence_mismatch_ndim.json | 72 +++++++++++++++++++ .../invalid/transforms/translation_path.json | 51 +++++++++++++ .../transforms/translation_wrong_ndim.json | 55 ++++++++++++++ 6 files changed, 339 insertions(+) create mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/identity_mismatch_ndim.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/scale_path.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/scale_wrong_ndim.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/sequence_mismatch_ndim.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/translation_path.json create mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/translation_wrong_ndim.json diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/identity_mismatch_ndim.json b/cases/parse_attributes/v0.6/core/invalid/transforms/identity_mismatch_ndim.json new file mode 100644 index 0000000..7856eaa --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/transforms/identity_mismatch_ndim.json @@ -0,0 +1,55 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "identity" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/scale_path.json b/cases/parse_attributes/v0.6/core/invalid/transforms/scale_path.json new file mode 100644 index 0000000..bf6e55e --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/transforms/scale_path.json @@ -0,0 +1,51 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "scale_array", + "type": "scale" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/scale_wrong_ndim.json b/cases/parse_attributes/v0.6/core/invalid/transforms/scale_wrong_ndim.json new file mode 100644 index 0000000..9cd1af8 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/transforms/scale_wrong_ndim.json @@ -0,0 +1,55 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "scale": [ + 1, + 2, + 3 + ], + "type": "scale" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/sequence_mismatch_ndim.json b/cases/parse_attributes/v0.6/core/invalid/transforms/sequence_mismatch_ndim.json new file mode 100644 index 0000000..6097f40 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/transforms/sequence_mismatch_ndim.json @@ -0,0 +1,72 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "scale": [ + 1, + 2 + ], + "type": "scale" + }, + { + "translation": [ + 1, + 2, + 3 + ], + "type": "translation" + } + ], + "type": "sequence" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/translation_path.json b/cases/parse_attributes/v0.6/core/invalid/transforms/translation_path.json new file mode 100644 index 0000000..3d14c1c --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/transforms/translation_path.json @@ -0,0 +1,51 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "translation_array", + "type": "translation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/translation_wrong_ndim.json b/cases/parse_attributes/v0.6/core/invalid/transforms/translation_wrong_ndim.json new file mode 100644 index 0000000..14f6062 --- /dev/null +++ b/cases/parse_attributes/v0.6/core/invalid/transforms/translation_wrong_ndim.json @@ -0,0 +1,55 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 1, + 2, + 3 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } +} From 9ee30f56a86fb6620d8f4c0f449030e29d84a185 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 12:29:44 +0100 Subject: [PATCH 09/17] Invalid affines --- .../invalid/transforms/affine_inline_1d.json | 58 +++++++++++++++ .../transforms/affine_inline_bottom_row.json | 67 ++++++++++++++++++ .../transforms/affine_inline_columns.json | 64 +++++++++++++++++ .../transforms/affine_inline_wrong_ndim.json | 70 +++++++++++++++++++ 4 files changed, 259 insertions(+) create mode 100644 cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_1d.json create mode 100644 cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.json create mode 100644 cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_columns.json create mode 100644 cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.json diff --git a/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_1d.json b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_1d.json new file mode 100644 index 0000000..900172e --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_1d.json @@ -0,0 +1,58 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + 1, + 0, + 10, + 0, + 1, + 20 + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.json b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.json new file mode 100644 index 0000000..7a1d74f --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.json @@ -0,0 +1,67 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0, + 10 + ], + [ + 0, + 1, + 20 + ], + [ + 0, + 0, + 1 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_columns.json b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_columns.json new file mode 100644 index 0000000..f5aaf6c --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_columns.json @@ -0,0 +1,64 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0 + ], + [ + 0, + 1 + ], + [ + 10, + 20 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.json b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.json new file mode 100644 index 0000000..16613d4 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.json @@ -0,0 +1,70 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0, + 0, + 10 + ], + [ + 0, + 1, + 0, + 20 + ], + [ + 0, + 0, + 1, + 30 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } +} From 76039c8a2c2dbffc3607d072c8bb32ab837281d4 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 12:30:14 +0100 Subject: [PATCH 10/17] Invalid bijection cases --- .../transforms/bijection_mismatch_ndim.json | 65 +++++++++++++++++++ .../transforms/bijection_missing_forward.json | 57 ++++++++++++++++ .../transforms/bijection_missing_inverse.json | 57 ++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.json create mode 100644 cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.json create mode 100644 cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.json diff --git a/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.json b/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.json new file mode 100644 index 0000000..2853108 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.json @@ -0,0 +1,65 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "forward": { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + "input": { + "name": "atlas1" + }, + "inverse": { + "translation": [ + -50, + -50, + -50 + ], + "type": "translation" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.json b/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.json new file mode 100644 index 0000000..a2e174b --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.json @@ -0,0 +1,57 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "inverse": { + "translation": [ + -50, + -50 + ], + "type": "translation" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.json b/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.json new file mode 100644 index 0000000..dcb5b86 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.json @@ -0,0 +1,57 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "forward": { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } +} From 65242c324f141781696d79f49c212638ba2e0a59 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 12:30:39 +0100 Subject: [PATCH 11/17] Invalid (and valid) byDimension --- .../byDimension_duplicate_axis.json | 92 +++++++++++++++++++ .../transforms/byDimension_mismatch_ndim.json | 90 ++++++++++++++++++ .../transforms/byDimension_missing_axis.json | 86 +++++++++++++++++ .../valid/transforms/byDimension_reorder.json | 75 +++++++++++++++ 4 files changed, 343 insertions(+) create mode 100644 cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.json create mode 100644 cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.json create mode 100644 cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.json create mode 100644 cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension_reorder.json diff --git a/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.json b/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.json new file mode 100644 index 0000000..5f77020 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.json @@ -0,0 +1,92 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 0, + 1, + 2 + ], + "outputAxes": [ + 0, + 1, + 2 + ], + "translation": [ + 50, + 50, + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.json b/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.json new file mode 100644 index 0000000..ade6f9f --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.json @@ -0,0 +1,90 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 1, + 2 + ], + "outputAxes": [ + 1, + 2 + ], + "translation": [ + 50, + 50, + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.json b/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.json new file mode 100644 index 0000000..fd5d43b --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.json @@ -0,0 +1,86 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 2 + ], + "outputAxes": [ + 2 + ], + "translation": [ + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension_reorder.json b/cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension_reorder.json new file mode 100644 index 0000000..fb7a7e2 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_byDimension/valid/transforms/byDimension_reorder.json @@ -0,0 +1,75 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "z", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0, + 1, + 2 + ], + "outputAxes": [ + 2, + 1, + 0 + ], + "type": "identity" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } +} From b9c67e1272ca7582adfac45242b1906708bfa933 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 12:31:01 +0100 Subject: [PATCH 12/17] invalid mapAxis --- .../transforms/mapAxis_duplicate_axis.json | 54 +++++++++++++++++++ .../transforms/mapAxis_out_of_bounds.json | 54 +++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.json create mode 100644 cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.json diff --git a/cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.json b/cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.json new file mode 100644 index 0000000..188ea9c --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.json @@ -0,0 +1,54 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "mapAxis": [ + 1, + 1 + ], + "output": { + "name": "atlas2" + }, + "type": "mapAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.json b/cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.json new file mode 100644 index 0000000..491893e --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.json @@ -0,0 +1,54 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "mapAxis": [ + 2, + 0 + ], + "output": { + "name": "atlas2" + }, + "type": "mapAxis" + } + ] + }, + "version": "0.6" + } +} From d339db8a5f8dc79a02478cb6a6c0d4202bae72db Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 16:27:27 +0100 Subject: [PATCH 13/17] invalid cases for project axis, rotation --- .../projectAxis_create_duplicate.json | 64 ++++++++++++++++++ .../projectAxis_create_out_of_bounds.json | 58 ++++++++++++++++ .../projectAxis_drop_out_of_bounds.json | 58 ++++++++++++++++ .../transforms/rotation_inline_1d.json | 58 ++++++++++++++++ .../rotation_inline_not_orthogonal.json | 60 +++++++++++++++++ .../rotation_inline_wrong_ndim.json | 67 +++++++++++++++++++ 6 files changed, 365 insertions(+) create mode 100644 cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.json create mode 100644 cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.json create mode 100644 cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.json create mode 100644 cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.json create mode 100644 cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.json create mode 100644 cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.json diff --git a/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.json b/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.json new file mode 100644 index 0000000..72725f7 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.json @@ -0,0 +1,64 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "channel" + }, + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "createdOutputs": [ + 0, + 0 + ], + "input": { + "name": "label" + }, + "output": { + "name": "rgb" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.json b/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.json new file mode 100644 index 0000000..5e31eae --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.json @@ -0,0 +1,58 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "createdOutputs": [ + 3 + ], + "input": { + "name": "label" + }, + "output": { + "name": "rgb" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.json b/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.json new file mode 100644 index 0000000..55dccc5 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.json @@ -0,0 +1,58 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "droppedInputs": [ + 3 + ], + "input": { + "name": "rgb" + }, + "output": { + "name": "label" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.json b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.json new file mode 100644 index 0000000..7835e25 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.json @@ -0,0 +1,58 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0, + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.json b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.json new file mode 100644 index 0000000..dc6b585 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.json @@ -0,0 +1,60 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 1 + ], + [ + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.json b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.json new file mode 100644 index 0000000..a4c963a --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.json @@ -0,0 +1,67 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 1, + 0 + ], + [ + 0, + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } +} From 90633f5b7d0baab28a699cf1f05740b39077f955 Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 16:47:32 +0100 Subject: [PATCH 14/17] Remove deprecated parse_attributes tests --- .../transforms/bad_affine_no_affine.json | 57 ------ .../bad_affine_no_input_output.json | 63 ------- .../bad_byDimension_no_input_output_axes.json | 89 --------- .../bad_byDimension_wrong axes_type.json | 101 ----------- .../core/invalid/transforms/bad_mapaxis.json | 83 --------- .../core/invalid/transforms/bad_mapaxis2.json | 81 --------- .../core/invalid/transforms/bad_mapaxis3.json | 81 --------- .../core/invalid/transforms/bad_mapaxis4.json | 79 -------- .../core/invalid/transforms/bad_mapaxis5.json | 75 -------- .../bad_projectAxis_insert_non_unique.json | 168 ----------------- .../bad_projectAxis_insert_too_high_dim.json | 167 ----------------- .../bad_projectAxis_insert_too_many.json | 170 ------------------ .../bad_projectAxis_missing_op.json | 164 ----------------- .../bad_projectAxis_remove_non_unique.json | 168 ----------------- .../bad_projectAxis_remove_too_high_dim.json | 167 ----------------- .../bad_projectAxis_remove_too_many.json | 170 ------------------ .../core/invalid/transforms/bad_rotation.json | 78 -------- .../invalid/transforms/bad_rotation2.json | 74 -------- .../invalid/transforms/bad_rotation3.json | 86 --------- .../bad_scale_path_not_allowed.json | 75 -------- .../bad_translate_path_not_allowed.json | 75 -------- .../multiscales_transform_forbidden.json | 82 --------- .../multiscales_transform_forbidden2.json | 82 --------- .../multiscales_transform_forbidden3.json | 71 -------- .../multiscales_transform_missing_params.json | 105 ----------- ...multiscales_transform_no_input_output.json | 76 -------- ...ultiscales_transform_no_input_output2.json | 93 ---------- 27 files changed, 2780 deletions(-) delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_affine.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_input_output.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_no_input_output_axes.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_wrong axes_type.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis2.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis3.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis4.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis5.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_non_unique.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_high_dim.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_many.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_missing_op.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_non_unique.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_high_dim.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_many.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation2.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation3.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_scale_path_not_allowed.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/bad_translate_path_not_allowed.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden2.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden3.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_missing_params.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output.json delete mode 100644 cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output2.json diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_affine.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_affine.json deleted file mode 100644 index 9399f7e..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_affine.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "output": { - "name": "physical" - }, - "type": "affine" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_input_output.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_input_output.json deleted file mode 100644 index 23967f4..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_affine_no_input_output.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "affine": [ - [ - 1, - 0, - 0 - ], - [ - 0, - 1, - 0 - ] - ], - "type": "affine" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_no_input_output_axes.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_no_input_output_axes.json deleted file mode 100644 index 9df8227..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_no_input_output_axes.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "transform-name", - "output": { - "name": "output" - }, - "transformations": [ - { - "scale": [ - 2 - ], - "type": "scale" - }, - { - "translation": [ - -10 - ], - "type": "translation" - } - ], - "type": "byDimension" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_wrong axes_type.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_wrong axes_type.json deleted file mode 100644 index 569cc7e..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_byDimension_wrong axes_type.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "transform-name", - "output": { - "name": "output" - }, - "transformations": [ - { - "inputAxes": [ - "x" - ], - "outputAxes": [ - "x" - ], - "scale": [ - 2 - ], - "type": "scale" - }, - { - "inputAxes": [ - "y" - ], - "outputAxes": [ - "y" - ], - "translation": [ - -10 - ], - "type": "translation" - } - ], - "type": "byDimension" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis.json deleted file mode 100644 index 647191d..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "mapAxis": [ - 0, - 1, - 2, - 3, - 4, - 5 - ], - "name": "map-transform", - "output": { - "name": "output" - }, - "type": "mapAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis2.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis2.json deleted file mode 100644 index 0d0ffd3..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis2.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "mapAxis": [ - -1, - 1, - 2, - 3 - ], - "name": "map-transform", - "output": { - "name": "output" - }, - "type": "mapAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis3.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis3.json deleted file mode 100644 index 6423bf6..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis3.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "mapAxis": [ - 0, - 1, - 2, - 5 - ], - "name": "map-transform", - "output": { - "name": "output" - }, - "type": "mapAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis4.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis4.json deleted file mode 100644 index 1fcd444..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis4.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "mapAxis": [ - 0, - 0 - ], - "name": "map-transform", - "output": { - "name": "output" - }, - "type": "mapAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis5.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis5.json deleted file mode 100644 index df65017..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_mapaxis5.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "map-transform", - "output": { - "name": "output" - }, - "type": "mapAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_non_unique.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_non_unique.json deleted file mode 100644 index 29b915f..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_non_unique.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "createdOutputs": [ - 3, - 3 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_high_dim.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_high_dim.json deleted file mode 100644 index ff62c1d..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_high_dim.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "createdOutputs": [ - 5 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_many.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_many.json deleted file mode 100644 index d541312..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_insert_too_many.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "createdOutputs": [ - 0, - 1, - 2, - 3 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_missing_op.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_missing_op.json deleted file mode 100644 index 0ba52ce..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_missing_op.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_non_unique.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_non_unique.json deleted file mode 100644 index 5b20aef..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_non_unique.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "droppedInputs": [ - 3, - 3 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_high_dim.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_high_dim.json deleted file mode 100644 index a658c32..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_high_dim.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "droppedInputs": [ - 5 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_many.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_many.json deleted file mode 100644 index a8d7057..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_projectAxis_remove_too_many.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": true, - "name": "c", - "type": "channel" - }, - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "world" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "droppedInputs": [ - 0, - 1, - 2, - 3 - ], - "input": { - "name": "physical" - }, - "name": "physical-to-world", - "output": { - "name": "world" - }, - "type": "projectAxis" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "s0" - }, - "name": "scale0_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 0, - 0 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s0" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s1" - }, - "name": "scale1_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 2, - 2 - ], - "type": "scale" - }, - { - "translation": [ - 0.7071, - 0.7071 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s1" - }, - { - "coordinateTransformations": [ - { - "input": { - "path": "s2" - }, - "name": "scale2_to_physical", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 4, - 4 - ], - "type": "scale" - }, - { - "translation": [ - 2.1213, - 2.1213 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "s2" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation.json deleted file mode 100644 index 4be3b9c..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "output": { - "name": "output" - }, - "rotation": [ - 0, - 1 - ], - "type": "rotation" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation2.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation2.json deleted file mode 100644 index ff6db44..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation2.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "output": { - "name": "output" - }, - "type": "rotation" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation3.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation3.json deleted file mode 100644 index 6a878d7..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_rotation3.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "output": { - "name": "output" - }, - "rotation": [ - [ - 1, - 0, - 0 - ], - [ - 0, - 1, - 0 - ] - ], - "type": "rotation" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_scale_path_not_allowed.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_scale_path_not_allowed.json deleted file mode 100644 index 9637bce..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_scale_path_not_allowed.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "output": { - "name": "output" - }, - "path": "scale_factors_path", - "type": "scale" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_translate_path_not_allowed.json b/cases/parse_attributes/v0.6/core/invalid/transforms/bad_translate_path_not_allowed.json deleted file mode 100644 index 08beac9..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/bad_translate_path_not_allowed.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "output": { - "name": "output" - }, - "path": "translation_params_path", - "type": "translation" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "type": "identity" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden.json b/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden.json deleted file mode 100644 index d1cecd3..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "transformations": [ - { - "rotation": [ - [ - 1, - 0, - 0 - ], - [ - 0, - 1, - 0 - ], - [ - 0, - 0, - 1 - ] - ], - "type": "rotation" - }, - { - "translation": [ - 30, - 20, - 10 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden2.json b/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden2.json deleted file mode 100644 index ba4e3dc..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden2.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "transformations": [ - { - "affine": [ - [ - 1, - 0, - 0 - ], - [ - 0, - 1, - 0 - ], - [ - 0, - 0, - 1 - ] - ], - "type": "affine" - }, - { - "translation": [ - 30, - 20, - 10 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden3.json b/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden3.json deleted file mode 100644 index 7f95579..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_forbidden3.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "transformations": [ - { - "mapAxis": [ - 0, - 1, - 2 - ], - "name": "a_map_axis_transform", - "type": "mapAxis" - }, - { - "translation": [ - 30, - 20, - 10 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_missing_params.json b/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_missing_params.json deleted file mode 100644 index e9c32bf..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_missing_params.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - }, - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "output" - } - ], - "coordinateTransformations": [ - { - "input": { - "name": "physical" - }, - "name": "some_additional_transform", - "output": { - "name": "output" - }, - "type": "affine" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "transformations": [ - { - "scale": [ - 1, - 1, - 1 - ], - "type": "scale" - }, - { - "translation": [ - 30, - 20, - 10 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output.json b/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output.json deleted file mode 100644 index ae5eb3a..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "name": "transform-name", - "transformations": [ - { - "rotation": [ - [ - 1, - 0, - 0 - ], - [ - 0, - 1, - 0 - ], - [ - 0, - 0, - 1 - ] - ], - "type": "rotation" - }, - { - "translation": [ - 30, - 20, - 10 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} diff --git a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output2.json b/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output2.json deleted file mode 100644 index 6bdebab..0000000 --- a/cases/parse_attributes/v0.6/core/invalid/transforms/multiscales_transform_no_input_output2.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "ome": { - "multiscales": [ - { - "coordinateSystems": [ - { - "axes": [ - { - "discrete": false, - "name": "z", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "y", - "type": "space", - "unit": "micrometer" - }, - { - "discrete": false, - "name": "x", - "type": "space", - "unit": "micrometer" - } - ], - "name": "physical" - } - ], - "coordinateTransformations": [ - { - "name": "some_additional_transform", - "translation": [ - 1, - 1, - 1 - ], - "type": "translation" - } - ], - "datasets": [ - { - "coordinateTransformations": [ - { - "input": { - "path": "array" - }, - "name": "transform-name", - "output": { - "name": "physical" - }, - "transformations": [ - { - "rotation": [ - [ - 1, - 0, - 0 - ], - [ - 0, - 1, - 0 - ], - [ - 0, - 0, - 1 - ] - ], - "type": "rotation" - }, - { - "translation": [ - 30, - 20, - 10 - ], - "type": "translation" - } - ], - "type": "sequence" - } - ], - "path": "array" - } - ], - "name": "multiscales" - } - ], - "version": "0.6" - } -} From 92150f43e5ff07387c70ddcf7ce4eeb771d064af Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 16:50:20 +0100 Subject: [PATCH 15/17] parse_attributes -> validate_zarr --- .../identity_mismatch_ndim.ome.zarr/zarr.json | 59 ++++++++++++ .../transforms/scale_path.ome.zarr/zarr.json | 55 +++++++++++ .../scale_wrong_ndim.ome.zarr/zarr.json | 59 ++++++++++++ .../sequence_mismatch_ndim.ome.zarr/zarr.json | 76 +++++++++++++++ .../translation_path.ome.zarr/zarr.json | 55 +++++++++++ .../translation_wrong_ndim.ome.zarr/zarr.json | 59 ++++++++++++ .../affine_inline_1d.ome.zarr/zarr.json | 62 ++++++++++++ .../zarr.json | 71 ++++++++++++++ .../affine_inline_columns.ome.zarr/zarr.json | 68 +++++++++++++ .../zarr.json | 74 ++++++++++++++ .../zarr.json | 69 +++++++++++++ .../zarr.json | 61 ++++++++++++ .../zarr.json | 61 ++++++++++++ .../zarr.json | 96 +++++++++++++++++++ .../zarr.json | 94 ++++++++++++++++++ .../zarr.json | 90 +++++++++++++++++ .../mapAxis_duplicate_axis.ome.zarr/zarr.json | 58 +++++++++++ .../mapAxis_out_of_bounds.ome.zarr/zarr.json | 58 +++++++++++ .../zarr.json | 68 +++++++++++++ .../zarr.json | 62 ++++++++++++ .../zarr.json | 62 ++++++++++++ .../rotation_inline_1d.ome.zarr/zarr.json | 62 ++++++++++++ .../zarr.json | 64 +++++++++++++ .../zarr.json | 71 ++++++++++++++ 24 files changed, 1614 insertions(+) create mode 100644 cases/validate_zarr/v0.6/core/invalid/transforms/identity_mismatch_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/transforms/scale_path.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/transforms/scale_wrong_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/transforms/sequence_mismatch_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/transforms/translation_path.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/core/invalid/transforms/translation_wrong_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_1d.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_columns.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.ome.zarr/zarr.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.ome.zarr/zarr.json diff --git a/cases/validate_zarr/v0.6/core/invalid/transforms/identity_mismatch_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/transforms/identity_mismatch_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..b2e02db --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/transforms/identity_mismatch_ndim.ome.zarr/zarr.json @@ -0,0 +1,59 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "identity" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/transforms/scale_path.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/transforms/scale_path.ome.zarr/zarr.json new file mode 100644 index 0000000..b333c9a --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/transforms/scale_path.ome.zarr/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "scale_array", + "type": "scale" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/transforms/scale_wrong_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/transforms/scale_wrong_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..d7599b7 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/transforms/scale_wrong_ndim.ome.zarr/zarr.json @@ -0,0 +1,59 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "scale": [ + 1, + 2, + 3 + ], + "type": "scale" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/transforms/sequence_mismatch_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/transforms/sequence_mismatch_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..34fdfd0 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/transforms/sequence_mismatch_ndim.ome.zarr/zarr.json @@ -0,0 +1,76 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "scale": [ + 1, + 2 + ], + "type": "scale" + }, + { + "translation": [ + 1, + 2, + 3 + ], + "type": "translation" + } + ], + "type": "sequence" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/transforms/translation_path.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/transforms/translation_path.ome.zarr/zarr.json new file mode 100644 index 0000000..e4432c5 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/transforms/translation_path.ome.zarr/zarr.json @@ -0,0 +1,55 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "path": "translation_array", + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/core/invalid/transforms/translation_wrong_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/core/invalid/transforms/translation_wrong_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..5c24584 --- /dev/null +++ b/cases/validate_zarr/v0.6/core/invalid/transforms/translation_wrong_ndim.ome.zarr/zarr.json @@ -0,0 +1,59 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "translation": [ + 1, + 2, + 3 + ], + "type": "translation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_1d.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_1d.ome.zarr/zarr.json new file mode 100644 index 0000000..bd9387b --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_1d.ome.zarr/zarr.json @@ -0,0 +1,62 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + 1, + 0, + 10, + 0, + 1, + 20 + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.ome.zarr/zarr.json new file mode 100644 index 0000000..a516c2f --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_bottom_row.ome.zarr/zarr.json @@ -0,0 +1,71 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0, + 10 + ], + [ + 0, + 1, + 20 + ], + [ + 0, + 0, + 1 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_columns.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_columns.ome.zarr/zarr.json new file mode 100644 index 0000000..f3dca95 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_columns.ome.zarr/zarr.json @@ -0,0 +1,68 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0 + ], + [ + 0, + 1 + ], + [ + 10, + 20 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..6acddcc --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_affine/invalid/transforms/affine_inline_wrong_ndim.ome.zarr/zarr.json @@ -0,0 +1,74 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "affine": [ + [ + 1, + 0, + 0, + 10 + ], + [ + 0, + 1, + 0, + 20 + ], + [ + 0, + 0, + 1, + 30 + ] + ], + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "affine" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..6491a0e --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_mismatch_ndim.ome.zarr/zarr.json @@ -0,0 +1,69 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "forward": { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + "input": { + "name": "atlas1" + }, + "inverse": { + "translation": [ + -50, + -50, + -50 + ], + "type": "translation" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.ome.zarr/zarr.json new file mode 100644 index 0000000..80e7d9a --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_forward.ome.zarr/zarr.json @@ -0,0 +1,61 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "inverse": { + "translation": [ + -50, + -50 + ], + "type": "translation" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.ome.zarr/zarr.json new file mode 100644 index 0000000..8317595 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_bijection/invalid/transforms/bijection_missing_inverse.ome.zarr/zarr.json @@ -0,0 +1,61 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "forward": { + "translation": [ + 50, + 50 + ], + "type": "translation" + }, + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "type": "bijection" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.ome.zarr/zarr.json new file mode 100644 index 0000000..3d6a9ff --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_duplicate_axis.ome.zarr/zarr.json @@ -0,0 +1,96 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 0, + 1, + 2 + ], + "outputAxes": [ + 0, + 1, + 2 + ], + "translation": [ + 50, + 50, + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..4bcdc10 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_mismatch_ndim.ome.zarr/zarr.json @@ -0,0 +1,94 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 1, + 2 + ], + "outputAxes": [ + 1, + 2 + ], + "translation": [ + 50, + 50, + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.ome.zarr/zarr.json new file mode 100644 index 0000000..5e56b75 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_byDimension/invalid/transforms/byDimension_missing_axis.ome.zarr/zarr.json @@ -0,0 +1,90 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "nanometer" + }, + { + "name": "y", + "type": "space", + "unit": "nanometer" + }, + { + "name": "x", + "type": "space", + "unit": "nanometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "transformations": [ + { + "inputAxes": [ + 0 + ], + "outputAxes": [ + 0 + ], + "scale": [ + 1000 + ], + "type": "scale" + }, + { + "inputAxes": [ + 2 + ], + "outputAxes": [ + 2 + ], + "translation": [ + 50 + ], + "type": "translation" + } + ], + "type": "byDimension" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.ome.zarr/zarr.json new file mode 100644 index 0000000..d03dac8 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_duplicate_axis.ome.zarr/zarr.json @@ -0,0 +1,58 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "mapAxis": [ + 1, + 1 + ], + "output": { + "name": "atlas2" + }, + "type": "mapAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.ome.zarr/zarr.json new file mode 100644 index 0000000..2f94339 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_mapAxis/invalid/transforms/mapAxis_out_of_bounds.ome.zarr/zarr.json @@ -0,0 +1,58 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "x", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "mapAxis": [ + 2, + 0 + ], + "output": { + "name": "atlas2" + }, + "type": "mapAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.ome.zarr/zarr.json new file mode 100644 index 0000000..3f743d8 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_duplicate.ome.zarr/zarr.json @@ -0,0 +1,68 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "discrete": true, + "name": "c", + "type": "channel" + }, + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "createdOutputs": [ + 0, + 0 + ], + "input": { + "name": "label" + }, + "output": { + "name": "rgb" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.ome.zarr/zarr.json new file mode 100644 index 0000000..aeba67f --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_create_out_of_bounds.ome.zarr/zarr.json @@ -0,0 +1,62 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "createdOutputs": [ + 3 + ], + "input": { + "name": "label" + }, + "output": { + "name": "rgb" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.ome.zarr/zarr.json new file mode 100644 index 0000000..73b1634 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_projectAxis/invalid/transforms/projectAxis_drop_out_of_bounds.ome.zarr/zarr.json @@ -0,0 +1,62 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "rgb" + }, + { + "axes": [ + { + "name": "z", + "type": "space", + "unit": "micrometer" + }, + { + "name": "y", + "type": "space", + "unit": "micrometer" + } + ], + "name": "label" + } + ], + "coordinateTransformations": [ + { + "droppedInputs": [ + 3 + ], + "input": { + "name": "rgb" + }, + "output": { + "name": "label" + }, + "type": "projectAxis" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.ome.zarr/zarr.json new file mode 100644 index 0000000..efab4e0 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_1d.ome.zarr/zarr.json @@ -0,0 +1,62 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0, + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.ome.zarr/zarr.json new file mode 100644 index 0000000..051ef9c --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_not_orthogonal.ome.zarr/zarr.json @@ -0,0 +1,64 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 1 + ], + [ + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.ome.zarr/zarr.json new file mode 100644 index 0000000..bc1d260 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_inline_wrong_ndim.ome.zarr/zarr.json @@ -0,0 +1,71 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 1, + 0 + ], + [ + 0, + 0, + 1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} From b922a27777556b1dbe35c00bcee16bcbd4815d2b Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Mon, 12 Oct 2026 17:04:48 +0100 Subject: [PATCH 16/17] add determinant!=1 case for rotation --- .../transforms/rotation_det_not_1.json | 60 +++++++++++++++++ .../rotation_det_not_1.ome.zarr/zarr.json | 64 +++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.json create mode 100644 cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.ome.zarr/zarr.json diff --git a/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.json b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.json new file mode 100644 index 0000000..d316744 --- /dev/null +++ b/cases/parse_attributes/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.json @@ -0,0 +1,60 @@ +{ + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0 + ], + [ + 0, + -1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } +} diff --git a/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.ome.zarr/zarr.json b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.ome.zarr/zarr.json new file mode 100644 index 0000000..7b90942 --- /dev/null +++ b/cases/validate_zarr/v0.6/transform_rotation/invalid/transforms/rotation_det_not_1.ome.zarr/zarr.json @@ -0,0 +1,64 @@ +{ + "attributes": { + "ome": { + "scene": { + "coordinateSystems": [ + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas1" + }, + { + "axes": [ + { + "name": "y", + "type": "space", + "unit": "micrometer" + }, + { + "name": "x", + "type": "space", + "unit": "micrometer" + } + ], + "name": "atlas2" + } + ], + "coordinateTransformations": [ + { + "input": { + "name": "atlas1" + }, + "output": { + "name": "atlas2" + }, + "rotation": [ + [ + 1, + 0 + ], + [ + 0, + -1 + ] + ], + "type": "rotation" + } + ] + }, + "version": "0.6" + } + }, + "node_type": "group", + "zarr_format": 3 +} From a3923f5a3f3bc25d2a634a289e13f988ec3afc0a Mon Sep 17 00:00:00 2001 From: Chris Barnes Date: Fri, 23 Oct 2026 17:17:49 +0100 Subject: [PATCH 17/17] Fix trivial coord/disp arrays --- .../coordinates_multiscale/s0/c/0/0 | Bin 16 -> 0 bytes .../coordinates_multiscale/s0/c/0/0/0 | Bin 0 -> 72 bytes .../coordinates_multiscale/s0/zarr.json | 6 ++++-- .../coordinates_multiscale/s0/c/0/0 | Bin 16 -> 0 bytes .../coordinates_multiscale/s0/c/0/0/0 | Bin 0 -> 72 bytes .../coordinates_multiscale/s0/zarr.json | 6 ++++-- .../displacements_multiscale/s0/c/0/0 | Bin 16 -> 0 bytes .../displacements_multiscale/s0/zarr.json | 6 ++++-- .../displacements_multiscale/s0/c/0/0 | Bin 16 -> 0 bytes .../displacements_multiscale/s0/zarr.json | 6 ++++-- 10 files changed, 16 insertions(+), 8 deletions(-) delete mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0/0 delete mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0 create mode 100644 cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0/0 delete mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/c/0/0 delete mode 100644 cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/c/0/0 diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0 deleted file mode 100644 index f2fc87c2faff08f77281c3c9c18cf6199c28be88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 PcmZQz009L@Fa@Lm1R4Ot diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0/0 b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/c/0/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..32e72449411e2d243d58c938f95e440a6314c9d1 GIT binary patch literal 72 dcmZQzKn4x=3=A;L-~g0?VIUJE4(4NJ0|3Z&1^WO1 literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json index 2b31f58..2254b84 100644 --- a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates.ome.zarr/coordinates_multiscale/s0/zarr.json @@ -4,7 +4,8 @@ "configuration": { "chunk_shape": [ 2, - 2 + 3, + 3 ] }, "name": "regular" @@ -28,7 +29,8 @@ "node_type": "array", "shape": [ 2, - 2 + 3, + 3 ], "storage_transformers": [], "zarr_format": 3 diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0 deleted file mode 100644 index f2fc87c2faff08f77281c3c9c18cf6199c28be88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 PcmZQz009L@Fa@Lm1R4Ot diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0/0 b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/c/0/0/0 new file mode 100644 index 0000000000000000000000000000000000000000..32e72449411e2d243d58c938f95e440a6314c9d1 GIT binary patch literal 72 dcmZQzKn4x=3=A;L-~g0?VIUJE4(4NJ0|3Z&1^WO1 literal 0 HcmV?d00001 diff --git a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json index 2b31f58..2254b84 100644 --- a/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json +++ b/cases/validate_zarr/v0.6/transform_coordinates/valid/transforms/coordinates_interp.ome.zarr/coordinates_multiscale/s0/zarr.json @@ -4,7 +4,8 @@ "configuration": { "chunk_shape": [ 2, - 2 + 3, + 3 ] }, "name": "regular" @@ -28,7 +29,8 @@ "node_type": "array", "shape": [ 2, - 2 + 3, + 3 ], "storage_transformers": [], "zarr_format": 3 diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/c/0/0 deleted file mode 100644 index f2fc87c2faff08f77281c3c9c18cf6199c28be88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 PcmZQz009L@Fa@Lm1R4Ot diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json index 2b31f58..2254b84 100644 --- a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements.ome.zarr/displacements_multiscale/s0/zarr.json @@ -4,7 +4,8 @@ "configuration": { "chunk_shape": [ 2, - 2 + 3, + 3 ] }, "name": "regular" @@ -28,7 +29,8 @@ "node_type": "array", "shape": [ 2, - 2 + 3, + 3 ], "storage_transformers": [], "zarr_format": 3 diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/c/0/0 b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/c/0/0 deleted file mode 100644 index f2fc87c2faff08f77281c3c9c18cf6199c28be88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 PcmZQz009L@Fa@Lm1R4Ot diff --git a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json index 2b31f58..2254b84 100644 --- a/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json +++ b/cases/validate_zarr/v0.6/transform_displacements/valid/transforms/displacements_interp.ome.zarr/displacements_multiscale/s0/zarr.json @@ -4,7 +4,8 @@ "configuration": { "chunk_shape": [ 2, - 2 + 3, + 3 ] }, "name": "regular" @@ -28,7 +29,8 @@ "node_type": "array", "shape": [ 2, - 2 + 3, + 3 ], "storage_transformers": [], "zarr_format": 3