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.dev4",
 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": {"path": "s0"},
49                  "output": {"name": "intrinsic"}
50                }
51              ]
52            }
53          ],
54          "coordinateTransformations": [
55            {
56              "scale": [10, 10],
57              "type": "scale",
58              "input": {"name": "intrinsic"},
59              "output": {"name": "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.dev4",
 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": {"path": "s0"},
32                  "output": {"name": "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": "sequence",
43                  "input": {"path": "s1"},
44                  "output": {"name": "intrinsic"},
45                  "transformations": [
46                    {
47                      "type": "scale",
48                      "scale": [0.1, 1.0, 1.0, 1.0, 1.0]
49                    },
50                    {
51                      "type": "translation",
52                      "translation": [0, 0, 0.25, 0.25, 0.25]
53                    }
54                  ]                  
55                }
56              ]
57            },
58            {
59              "path": "s2",
60              "coordinateTransformations": [
61                {
62                  // the voxel size for the third scale level (downscaled by a factor of 4 -> 2 micrometer)
63                  // and the time unit (0.1 milliseconds), which is the same for each scale level
64                  "type": "sequence",
65                  "input": {"path": "s2"},
66                  "output": {"name": "intrinsic"},
67                  "transformations": [
68                    {
69                      "type": "scale",
70                      "scale": [0.1, 1.0, 2.0, 2.0, 2.0]
71                    },
72                    {
73                      "type": "translation",
74                      "translation": [0, 0, 0.75, 0.75, 0.75]
75                    }
76                  ]
77                }
78              ]
79            }
80          ],
81          "type": "gaussian",
82          "metadata": {
83            "description": "the fields in metadata depend on the downscaling implementation. Here, the parameters passed to the skimage function are given",
84            "method": "skimage.transform.pyramid_gaussian",
85            "version": "0.16.1",
86            "args": "[true]",
87            "kwargs": { "multichannel": true }
88          }
89        }
90      ]
91    }
92  }
93}

multiscales_example_relative#

 1{
 2  "multiscales": [
 3    {
 4      "version": "0.6.dev4",
 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": {"path": "s0"},
37            "output": {"name": "intrinsic"}
38          }]
39        },
40        {
41          "path": "s1",
42          "coordinateTransformations": [
43             {
44              // the second scale level (downscaled by a factor of 2 relative to "s0" in zyx)
45              "type": "sequence",
46              "input" : {"path": "s1"},
47              "output" : {"name": "intrinsic"},
48              "transformations": [
49                {
50                  "type": "scale",
51                  "scale": [1, 1, 2, 2, 2]
52                },
53                {
54                  "type": "translation",
55                  "translation": [0, 0, 0.5, 0.5, 0.5]
56                }
57              ]
58            }
59          ]
60        },
61        {
62          "path": "s2",
63          "coordinateTransformations": [{
64            // the third scale level (downscaled by a factor of 4 relative to "s0" in zyx)
65            "type": "sequence",
66            "input" : {"path": "s2"},
67            "output" : {"name": "intrinsic"},
68            "transformations": [
69              {
70                "type": "scale",
71                "scale": [1, 1, 4, 4, 4]
72              },
73              {
74                "type": "translation",
75                "translation": [0, 0, 1.5, 1.5, 1.5]
76              }
77             ]
78          }]
79        }
80      ],
81      "coordinateTransformations": [
82        {
83          "name": "additional_translation",
84          "type": "translation",
85          "translation": [0, 0, 10, 20, 30],
86          "input": {"name": "intrinsic"},
87          "output": {"name": "world"}
88        }
89      ]
90    }
91  ]
92}

multiscales_reference_to_label#

 1{
 2  "ome": {
 3    "version": "0.6.dev4",
 4    "multiscales": [
 5      {
 6        "name": "Image",
 7        "datasets": [
 8          {
 9            "path": "s0",
10            "coordinateTransformations": [
11              {
12                "type": "scale",
13                "scale": [0.5, 0.5, 1],
14                "input": {"path": "s0"},
15                "output": {"name": "physical"}
16              }
17            ]
18          }
19        ],
20        "coordinateSystems": [
21          {
22            "name": "physical",
23            "axes": [
24              {"name": "z", "unit": "micrometer"},
25              {"name": "y", "unit": "micrometer"},
26              {"name": "x", "unit": "micrometer"}
27            ]
28          }
29        ],
30        "coordinateTransformations": [
31          {
32            "type": "identity",
33            "input": {"path": "labels/cell_segmentation","name": "physical"},
34            "output": {"name": "physical"}
35          }
36         ]
37      }
38    ]
39  }
40}