multiscales_strict Examples#

This document contains JSON examples for multiscales_strict metadata layouts.

multiscales_transformations#

 1{
 2  "zarr_format": 3,
 3  "node_type": "group",
 4  "attributes": {
 5    "ome": {
 6      "version": "0.6.dev3",
 7      "multiscales": [
 8        {
 9          "coordinateSystems": [
10            {
11              "name": "physical",
12              "axes": [
13                {
14                  "name": "y",
15                  "type": "space",
16                  "unit": "micrometer"
17                },
18                {
19                  "name": "x",
20                  "type": "space",
21                  "unit": "micrometer"
22                }
23              ]
24            },
25            {
26              "name": "intrinsic",
27              "axes": [
28                {
29                  "name": "y",
30                  "type": "space",
31                  "unit": "micrometer"
32                },
33                {
34                  "name": "x",
35                  "type": "space",
36                  "unit": "micrometer"
37                }
38              ]
39            }
40          ],
41          "datasets": [
42            {
43              "path": "s0",
44              "coordinateTransformations": [
45                {
46                  "scale": [1, 1],
47                  "type": "scale",
48                  "input": "s0",
49                  "output": "intrinsic"
50                }
51              ]
52            }
53          ],
54          "coordinateTransformations": [
55            {
56              "scale": [10, 10],
57              "type": "scale",
58              "input": "intrinsic",
59              "output": "physical"
60            }
61          ],
62          "name": "image_with_coordinateTransformations",
63          "type": "foo",
64          "metadata": {
65            "key": "value"
66          }
67        }
68      ]
69    }
70  }
71}

multiscales_example#

 1{
 2  "zarr_format": 3,
 3  "node_type": "group",
 4  "attributes": {
 5    "ome": {
 6      "version": "0.6.dev3",
 7      "multiscales": [
 8        {
 9          "name": "example",
10          "coordinateSystems": [
11              {
12                "name": "intrinsic",
13                "axes": [
14                  { "name": "t", "type": "time", "unit": "millisecond" },
15                  { "name": "c", "type": "channel" },
16                  { "name": "z", "type": "space", "unit": "micrometer" },
17                  { "name": "y", "type": "space", "unit": "micrometer" },
18                  { "name": "x", "type": "space", "unit": "micrometer" }
19                ]
20              }
21          ],
22          "datasets": [
23            {
24              "path": "s0",
25              "coordinateTransformations": [
26                {
27                  // the voxel size for the first scale level (0.5 micrometer)
28                  // and the time unit (0.1 milliseconds), which is the same for each scale level
29                  "type": "scale",
30                  "scale": [0.1, 1.0, 0.5, 0.5, 0.5],
31                  "input": "s0",
32                  "output": "intrinsic"
33                }
34              ]
35            },
36            {
37              "path": "s1",
38              "coordinateTransformations": [
39                {
40                  // the voxel size for the second scale level (downscaled by a factor of 2 -> 1 micrometer)
41                  // and the time unit (0.1 milliseconds), which is the same for each scale level
42                  "type": "scale",
43                  "scale": [0.1, 1.0, 1.0, 1.0, 1.0],
44                  "input": "s1",
45                  "output": "intrinsic"
46                }
47              ]
48            },
49            {
50              "path": "s2",
51              "coordinateTransformations": [
52                {
53                  // the voxel size for the third scale level (downscaled by a factor of 4 -> 2 micrometer)
54                  // and the time unit (0.1 milliseconds), which is the same for each scale level
55                  "type": "scale",
56                  "scale": [0.1, 1.0, 2.0, 2.0, 2.0],
57                  "input": "s2",
58                  "output": "intrinsic"
59                }
60              ]
61            }
62          ],
63          "type": "gaussian",
64          "metadata": {
65            "description": "the fields in metadata depend on the downscaling implementation. Here, the parameters passed to the skimage function are given",
66            "method": "skimage.transform.pyramid_gaussian",
67            "version": "0.16.1",
68            "args": "[true]",
69            "kwargs": { "multichannel": true }
70          }
71        }
72      ]
73    }
74  }
75}

multiscales_example_relative#

 1{
 2  "multiscales": [
 3    {
 4      "version": "0.6.dev3",
 5      "name": "example",
 6      "coordinateSystems" : [
 7        {
 8          "name" : "world",
 9          "axes": {
10            "t": {"type": "time", "unit": "millisecond"},
11            "c": {"type": "channel"},
12            "z": {"type": "space", "unit": "micrometer"},
13            "y": {"type": "space", "unit": "micrometer"},
14            "x": {"type": "space", "unit": "micrometer"}
15          }
16        },
17        {
18          "name" : "intrinsic",
19          "axes": [
20            {"name": "t", "type": "time", "unit": "millisecond"},
21            {"name": "c", "type": "channel"},
22            {"name": "z", "type": "space", "unit": "micrometer"},
23            {"name": "y", "type": "space", "unit": "micrometer"},
24            {"name": "x", "type": "space", "unit": "micrometer"}
25          ]
26        }
27      ],
28      "datasets": [
29        {
30          "path": "s0",
31          // the transformation of other arrays are
32          // defined relative to this, the highest resolution, array
33          "coordinateTransformations": [{
34            "type": "scale",
35            "scale": [1, 1, 1, 1, 1],
36            "input": "s0",
37            "output": "intrinsic"
38          }]
39        },
40        {
41          "path": "s1",
42          "coordinateTransformations": [{
43            // the second scale level (downscaled by a factor of 2 relative to "s0" in zyx)
44            "type": "scale",
45            "scale": [1, 1, 2, 2, 2],
46            "input" : "s1",
47            "output" : "intrinsic"
48          }]
49        },
50        {
51          "path": "s2",
52          "coordinateTransformations": [{
53            // the third scale level (downscaled by a factor of 4 relative to "s0" in zyx)
54            "type": "scale",
55            "scale": [1, 1, 4, 4, 4],
56            "input" : "s2",
57            "output" : "intrinsic"
58          }]
59        }
60      ],
61      "coordinateTransformations": [
62        {
63          "name": "additional_translation",
64          "type": "translation",
65          "translation": [0, 0, 10, 20, 30],
66          "input": "intrinsic",
67          "output": "world"
68        }
69      ]
70    }
71  ]
72}