diff --git a/0.4/index.bs b/0.4/index.bs index d39b2c5f..18124013 100644 --- a/0.4/index.bs +++ b/0.4/index.bs @@ -367,7 +367,7 @@ to the current zarr group. The "path"s MUST be ordered from largest (i.e. highes Each "datasets" dictionary MUST have the same number of dimensions and MUST NOT have more than 5 dimensions. The number of dimensions and order MUST correspond to number and order of "axes". Each dictionary in "datasets" MUST contain the field "coordinateTransformations", which contains a list of transformations that map the data coordinates to the physical coordinates (as specified by "axes") for this resolution level. -The transformations are defined according to [[#trafo-md]]. The transformation MUST only be of type `translation` or `scale`. +The transformations are defined according to [[#trafo-md]]. The transformation MUST only be of types defined in [[#trafo-md]]. They MUST contain exactly one `scale` transformation that specifies the pixel size in physical units or time duration. If scaling information is not available or applicable for one of the axes, the value MUST express the scaling factor between the current resolution and the first resolution for the given axis, defaulting to 1.0 if there is no downsampling along the axis. It MAY contain exactly one `translation` that specifies the offset from the origin in physical units. If `translation` is given it MUST be listed after `scale` to ensure that it is given in physical coordinates. The length of the `scale` and `translation` array MUST be the same as the length of "axes". diff --git a/0.4/schemas/image.schema b/0.4/schemas/image.schema index 59e8e28e..528c8395 100644 --- a/0.4/schemas/image.schema +++ b/0.4/schemas/image.schema @@ -188,6 +188,18 @@ "maxContains": 1, "items": { "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "identity" + ] + } + }, + "required": ["type"] + }, { "type": "object", "properties": { diff --git a/0.4/tests/image_suite.json b/0.4/tests/image_suite.json index f22fa67f..063420d9 100644 --- a/0.4/tests/image_suite.json +++ b/0.4/tests/image_suite.json @@ -101,6 +101,9 @@ { "path": "path/to/0", "coordinateTransformations": [ + { + "type": "identity" + }, { "type": "scale", "scale": [ diff --git a/latest/index.bs b/latest/index.bs index bb935c48..c2e527e0 100644 --- a/latest/index.bs +++ b/latest/index.bs @@ -370,7 +370,7 @@ to the current zarr group. The "path"s MUST be ordered from largest (i.e. highes Each "datasets" dictionary MUST have the same number of dimensions and MUST NOT have more than 5 dimensions. The number of dimensions and order MUST correspond to number and order of "axes". Each dictionary in "datasets" MUST contain the field "coordinateTransformations", which contains a list of transformations that map the data coordinates to the physical coordinates (as specified by "axes") for this resolution level. -The transformations are defined according to [[#trafo-md]]. The transformation MUST only be of type `translation` or `scale`. +The transformations are defined according to [[#trafo-md]]. The transformation MUST only be of type `identity`, `translation` or `scale`. They MUST contain exactly one `scale` transformation that specifies the pixel size in physical units or time duration. If scaling information is not available or applicable for one of the axes, the value MUST express the scaling factor between the current resolution and the first resolution for the given axis, defaulting to 1.0 if there is no downsampling along the axis. It MAY contain exactly one `translation` that specifies the offset from the origin in physical units. If `translation` is given it MUST be listed after `scale` to ensure that it is given in physical coordinates. The length of the `scale` and `translation` array MUST be the same as the length of "axes". diff --git a/latest/schemas/image.schema b/latest/schemas/image.schema index 3926c4f4..b0d41d0d 100644 --- a/latest/schemas/image.schema +++ b/latest/schemas/image.schema @@ -188,6 +188,18 @@ "maxContains": 1, "items": { "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "identity" + ] + } + }, + "required": ["type"] + }, { "type": "object", "properties": { diff --git a/latest/tests/image_suite.json b/latest/tests/image_suite.json index 39cb73d5..93d884d4 100644 --- a/latest/tests/image_suite.json +++ b/latest/tests/image_suite.json @@ -101,6 +101,9 @@ { "path": "path/to/0", "coordinateTransformations": [ + { + "type": "identity" + }, { "type": "scale", "scale": [