You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.md
+55-55Lines changed: 55 additions & 55 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,7 +87,7 @@ Note that the number of dimensions is variable between 2 and 5 and that axis nam
87
87
│
88
88
└── labels
89
89
│
90
-
├── zarr.json # The labels group is a container which holds a list of labels to make the objects easily discoverable
90
+
├── zarr.json # The labels group is a container which holds an array of labels to make the objects easily discoverable
91
91
│ # All labels will be listed in `zarr.json` e.g. `{ "labels": [ "original/0" ] }`
92
92
│ # Each dimension of the label should be either the same as the
93
93
│ # corresponding dimension of the image, or `1` if that dimension of the label
@@ -207,8 +207,8 @@ See the [example below](#spec:example:coordinate_transformation).
207
207
`axes` describes the dimensions of a coordinate systems
208
208
and adds an interpretation to the samples along that dimension.
209
209
210
-
It is a list of dictionaries,
211
-
where each dictionary describes a dimension (axis) and:
210
+
It is an array of objects,
211
+
where each object describes a dimension (axis) and:
212
212
- MUST contain the field `name` that gives the name for this dimension.
213
213
The values MUST be unique across all `name` fields in the same coordinate system.
214
214
- SHOULD contain the field `type`.
@@ -381,7 +381,7 @@ Additionally, the logic for finding the Zarr group for each image follows the fo
381
381
- Matching `series` metadata (as described next) SHOULD be provided for tools that are unaware of the `plate` specification.
382
382
- If the `OME` Zarr group exists, it:
383
383
- MAY contain a `series` attribute. If so:
384
-
-`series` MUST be a list of string objects, each of which is a path to an image group.
384
+
-`series` MUST be an array of string objects, each of which is a path to an image group.
385
385
- The order of the paths MUST match the order of the `Image` elements in `OME/METADATA.ome.xml` if provided.
386
386
- If the `series` attribute does not exist and no `plate` is present:
387
387
- separate `multiscales` images MUST be stored in consecutively numbered groups starting from 0 (i.e. `0/`, `1/`, `2/`, `3/`, ...).
@@ -420,11 +420,11 @@ The following transformations are supported:
420
420
|------|--------|-------------|
421
421
|[`identity`](#identity-md)|| The identity transformation is the do-nothing transformation and is typically not explicitly defined. |
422
422
|[`mapAxis`](#mapaxis-md)|`"mapAxis":List[number]`| an axis permutation as a transpose array of integer indices that refer to the ordering of the axes in the respective coordinate system. |
423
-
|[`translation`](#translation-md)| one of:<br>`"translation":List[number]`,<br>`"path":str`| Translation vector, stored either as a list of numbers (`translation`) or as a zarr array at a location in this container (`path`). |
424
-
|[`scale`](#scale-md)| one of:<br>`"scale":List[number]`,<br>`"path":str`| Scale vector, stored either as a list of numbers (`scale`) or as a zarr array at a location in this container (`path`). |
423
+
|[`translation`](#translation-md)| one of:<br>`"translation":List[number]`,<br>`"path":str`| Translation vector, stored either as an array of numbers (`translation`) or as a zarr array at a location in this container (`path`). |
424
+
|[`scale`](#scale-md)| one of:<br>`"scale":List[number]`,<br>`"path":str`| Scale vector, stored either as an array of numbers (`scale`) or as a zarr array at a location in this container (`path`). |
425
425
|[`affine`](#affine-md)| one of:<br>`"affine":List[List[number]]`,<br>`"path":str`| 2D affine transformation matrix stored either with JSON (`affine`) or as a zarr array at a location in this container (`path`). |
426
426
|[`rotation`](#rotation-md)| one of:<br>`"rotation":List[List[number]]`,<br>`"path":str`| 2D rotation transformation matrix stored as an array stored either with json (`rotation`) or as a zarr array at a location in this container (`path`).|
427
-
|[`sequence`](#sequence-md)|`"transformations":List[Transformation]`| sequence of transformations. Applying the sequence applies the composition of all transforms in the list, in order. |
427
+
|[`sequence`](#sequence-md)|`"transformations":List[Transformation]`| sequence of transformations. Applying the sequence applies the composition of all transforms in the array, in order. |
428
428
|[`displacements`](#coordinates-displacements-md)|`"path":str`<br>`"interpolation":str`| Displacement field transformation located at `path`. |
429
429
|[`coordinates`](#coordinates-displacements-md)|`"path":str`<br>`"interpolation":str`| Coordinate field transformation located at `path`. |
430
430
|[`inverseOf`](#inverseof-md)|`"transformation":Transformation`| The inverse of a transformation. Useful if a transform is not closed-form invertible. See forward and inverse of [bijections](#bijection-md) for details and examples. |
@@ -477,8 +477,8 @@ Coordinate transformations can be stored in multiple places to reflect different
477
477
- Transformations in individual multiscale datasets represent a special case of transformations
478
478
and are explained [below](#multiscales-md).
479
479
- Additional transformations for single multiscale images MUST be stored under a field `coordinateTransformations`
480
-
in the multiscales dictionaries.
481
-
This `coordinateTransformations` field MUST contain a list of valid [transformations](#trafo-types-md).
480
+
in the multiscales objects.
481
+
This `coordinateTransformations` field MUST contain an array of valid [transformations](#trafo-types-md).
482
482
- Transformations between two or more images MUST be stored in the attributes of a parent zarr group.
483
483
For transformations that store data or parameters in a zarr array,
484
484
those zarr arrays SHOULD be stored in a zarr group called `coordinateTransformations`.
@@ -579,7 +579,7 @@ Most coordinate transformations MUST specify their input and output coordinate s
579
579
using `input` and `output` with a string value
580
580
that MUST correspond to the name of a coordinate system or the path to a multiscales group.
581
581
Exceptions are if the coordinate transformation is wrapped in another transformation,
582
-
e.g. as part of a `transformations`list of a `sequence` or
582
+
e.g. as part of a `transformations`array of a `sequence` or
583
583
as `transformation` of an `inverseOf` transformation.
584
584
In these two cases input and output could, in some cases, be omitted (see below for details).
585
585
If unused, the `input` and `output` fields MAY be null.
@@ -788,8 +788,8 @@ The `input` and `output` fields MAY be omitted if wrapped in another transformat
788
788
The array at this path MUST be 1D, and its length MUST be `N`.
789
789
790
790
<strong>translation</strong>
791
-
: The translation parameters stored as a JSON list of numbers.
792
-
The list MUST have length `N`.
791
+
: The translation parameters stored as a JSON array of numbers.
792
+
The array MUST have length `N`.
793
793
794
794
:::{dropdown} Example
795
795
:animate: fade-in
@@ -824,8 +824,8 @@ The `input` and `output` fields MAY be omitted if wrapped in another transformat
824
824
The array at this path MUST be 1D, and its length MUST be `N`.
825
825
826
826
<strong>scale</strong>
827
-
: The scale parameters are stored as a JSON list of numbers.
828
-
The list MUST have length `N`.
827
+
: The scale parameters are stored as a JSON array of numbers.
828
+
The array MUST have length `N`.
829
829
830
830
:::{dropdown} Example 1
831
831
:animate: fade-in
@@ -1025,7 +1025,7 @@ A `sequence` transformation consists of an ordered array of coordinate transform
1025
1025
and is invertible if every coordinate transform in the array is invertible
1026
1026
(though could be invertible in other cases as well).
1027
1027
To apply a sequence transformation to a point in the input coordinate system,
1028
-
apply the first transformation in the list of transformations.
1028
+
apply the first transformation in the array of transformations.
1029
1029
Next, apply the second transformation to the result.
1030
1030
Repeat until every transformation has been applied.
1031
1031
The output of the last transformation is the result of the sequence.
@@ -1039,7 +1039,7 @@ The `input` and `output` fields MUST be included for sequence transformations.
1039
1039
:::{note}
1040
1040
1041
1041
Considering transformations as functions of points,
1042
-
if the list contains transformations `[f0, f1, f2]` in that order,
1042
+
if the array contains transformations `[f0, f1, f2]` in that order,
1043
1043
applying this sequence to point `x` is equivalent to:
1044
1044
1045
1045
```
@@ -1348,7 +1348,7 @@ Another **invalid** `byDimension` transform:
1348
1348
:language: json
1349
1349
```
1350
1350
1351
-
This transformation is invalid because the output axis `x` appears in more than one transformation in the `transformations`list.
1351
+
This transformation is invalid because the output axis `x` appears in more than one transformation in the `transformations`array.
1352
1352
:::
1353
1353
1354
1354
##### bijection
@@ -1395,9 +1395,9 @@ Here, "image" refers to 2 to 5 dimensional data representing image
1395
1395
or volumetric data with optional time or channel axes.
1396
1396
It is stored in a multiple resolution representation.
1397
1397
1398
-
`multiscales` contains a list of dictionaries where each entry describes a multiscale image.
1398
+
`multiscales` contains an array of objects where each entry describes a multiscale image.
1399
1399
1400
-
Each `multiscales`dictionary MUST contain the field `coordinateSystems`,
1400
+
Each `multiscales`object MUST contain the field `coordinateSystems`,
1401
1401
whose value is an array containing coordinate system metadata
1402
1402
(see [coordinate systems](#coordinate-systems-md)).
1403
1403
The last entry of this array is the "intrinsic" coordinate system
@@ -1416,17 +1416,17 @@ followed by the `channel` or custom axis (if present) and the axes of type `spa
1416
1416
If there are three spatial axes where two correspond to the image plane (`yx`)
1417
1417
and images are stacked along the other (anisotropic) axis (`z`),
1418
1418
the spatial axes SHOULD be ordered as `zyx`.
1419
-
Each `multiscales`dictionary MUST contain the field `datasets`,
1420
-
which is a list of dictionaries describing the arrays storing the individual resolution levels.
1421
-
Each dictionary in `datasets` MUST contain the field `path`,
1419
+
Each `multiscales`object MUST contain the field `datasets`,
1420
+
which is an array of objects describing the arrays storing the individual resolution levels.
1421
+
Each object in `datasets` MUST contain the field `path`,
1422
1422
whose value is a string containing the path to the Zarr array for this resolution relative to the current Zarr group.
1423
1423
The `path`s MUST be ordered from largest (i.e. highest resolution) to smallest.
1424
1424
Every Zarr array referred to by a `path` MUST have the same number of dimensions
1425
1425
and MUST NOT have more than 5 dimensions.
1426
1426
The number of dimensions and order MUST correspond to number and order of `axes`.
1427
1427
1428
-
Each dictionary in `datasets` MUST contain the field `coordinateTransformations`,
1429
-
whose value is a list of dictionaries that define a transformation
1428
+
Each object in `datasets` MUST contain the field `coordinateTransformations`,
1429
+
whose value is an array of objects that define a transformation
1430
1430
that maps Zarr array coordinates for this resolution level to the "intrinsic" coordinate system
1431
1431
(the last entry of the `coordinateSystems` array).
1432
1432
The transformation is defined according to [transformations metadata](#trafo-types-md).
@@ -1450,18 +1450,18 @@ This is strongly recommended
1450
1450
so that the the "intrinsic" coordinate system of the image avoids more complex transformations.
1451
1451
1452
1452
If applications require additional transformations,
1453
-
each `multiscales`dictionary MAY contain the field `coordinateTransformations`,
1453
+
each `multiscales`object MAY contain the field `coordinateTransformations`,
1454
1454
describing transformations that are applied to all resolution levels in the same manner.
1455
1455
The value of `input` MUST equal the name of the "intrinsic" coordinate system.
1456
1456
The value of `output` MUST be the name of the output coordinate System
1457
1457
which is different from the "intrinsic" coordinate system.
1458
1458
1459
-
Each `multiscales`dictionary SHOULD contain the field `name`.
1459
+
Each `multiscales`object SHOULD contain the field `name`.
1460
1460
1461
-
Each `multiscales`dictionary SHOULD contain the field `type`,
1461
+
Each `multiscales`object SHOULD contain the field `type`,
1462
1462
which gives the type of downscaling method used to generate the multiscale image pyramid.
1463
1463
It SHOULD contain the field `metadata`,
1464
-
which contains a dictionary with additional information about the downscaling method.
1464
+
which contains a object with additional information about the downscaling method.
1465
1465
1466
1466
1467
1467
:::{dropdown} Example
@@ -1523,11 +1523,11 @@ See the [OMERO WebGateway documentation](https://omero.readthedocs.io/en/stable/
1523
1523
for more information.
1524
1524
1525
1525
The `omero` metadata is optional, but if present it MUST contain the field `channels`,
1526
-
which is an array of dictionaries describing the channels of the image.
1527
-
Each dictionary in `channels` MUST contain the field `color`,
1526
+
which is an array of objects describing the channels of the image.
1527
+
Each object in `channels` MUST contain the field `color`,
1528
1528
which is a string of 6 hexadecimal digits specifying the color of the channel in RGB format.
1529
-
Each dictionary in `channels` MUST contain the field `window`,
1530
-
which is a dictionary describing the windowing of the channel.
1529
+
Each object in `channels` MUST contain the field `window`,
1530
+
which is a object describing the windowing of the channel.
1531
1531
The field `window` MUST contain the fields `min` and `max`,
1532
1532
which are the minimum and maximum values of the window, respectively.
1533
1533
It MUST also contain the fields `start` and `end`,
@@ -1621,8 +1621,8 @@ Pixels with a 1 in the Zarr array, which correspond to cellular space, will be d
1621
1621
For high-content screening datasets,
1622
1622
the plate layout can be found under the custom attributes of the plate group under the `plate` key in the group-level metadata.
1623
1623
1624
-
The `plate`dictionary MAY contain an `acquisitions` key
1625
-
whose value MUST be a list of JSON objects defining the acquisitions for a given plate to which wells can refer to.
1624
+
The `plate`object MAY contain an `acquisitions` key
1625
+
whose value MUST be an array of JSON objects defining the acquisitions for a given plate to which wells can refer to.
1626
1626
Each acquisition object MUST contain an `id` key
1627
1627
whose value MUST be an unique integer identifier greater than or equal to 0 within the context of the plate
1628
1628
to which fields of view can refer to (see [well metadata](#well-md)).
@@ -1635,52 +1635,52 @@ whose value MUST be a string specifying a description for the acquisition.
1635
1635
Each acquisition object MAY contain a `starttime` and/or `endtime` key
1636
1636
whose values MUST be integer epoch timestamps specifying the start and/or end timestamp of the acquisition.
1637
1637
1638
-
The `plate`dictionary MUST contain a `columns` key
1639
-
whose value MUST be a list of JSON objects defining the columns of the plate.
1640
-
Each column object defines the properties of the column at the index of the object in the list.
1638
+
The `plate`object MUST contain a `columns` key
1639
+
whose value MUST be an array of JSON objects defining the columns of the plate.
1640
+
Each column object defines the properties of the column at the index of the object in the array.
1641
1641
Each column in the physical plate MUST be defined,
1642
1642
even if no wells in the column are defined.
1643
1643
Each column object MUST contain a `name` key whose value is a string specifying the column name.
1644
1644
The `name` MUST contain only alphanumeric characters,
1645
1645
MUST be case-sensitive,
1646
-
and MUST NOT be a duplicate of any other `name` in the `columns`list.
1646
+
and MUST NOT be a duplicate of any other `name` in the `columns`array.
1647
1647
Care SHOULD be taken to avoid collisions on case-insensitive filesystems
1648
1648
(e.g. avoid using both `Aa` and `aA`).
1649
1649
1650
-
The `plate`dictionary SHOULD contain a `field_count` key
1650
+
The `plate`object SHOULD contain a `field_count` key
1651
1651
whose value MUST be a positive integer defining the maximum number of fields per view across all wells.
1652
1652
1653
-
The `plate`dictionary SHOULD contain a `name` key
1653
+
The `plate`object SHOULD contain a `name` key
1654
1654
whose value MUST be a string defining the name of the plate.
1655
1655
1656
-
The `plate`dictionary MUST contain a `rows` key
1657
-
whose value MUST be a list of JSON objects defining the rows of the plate.
1658
-
Each row object defines the properties of the row at the index of the object in the list.
1656
+
The `plate`object MUST contain a `rows` key
1657
+
whose value MUST be an array of JSON objects defining the rows of the plate.
1658
+
Each row object defines the properties of the row at the index of the object in the array.
1659
1659
Each row in the physical plate MUST be defined,
1660
1660
even if no wells in the row are defined.
1661
1661
Each defined row MUST contain a `name` key whose value MUST be a string defining the row name.
1662
1662
The `name` MUST contain only alphanumeric characters,
1663
1663
MUST be case-sensitive,
1664
-
and MUST NOT be a duplicate of any other `name` in the `rows`list.
1664
+
and MUST NOT be a duplicate of any other `name` in the `rows`array.
1665
1665
Care SHOULD be taken to avoid collisions on case-insensitive filesystems
1666
1666
(e.g. avoid using both `Aa` and `aA`).
1667
1667
1668
-
The `plate`dictionary MUST contain a `version` key
1668
+
The `plate`object MUST contain a `version` key
1669
1669
whose value MUST be a string specifying the version of the plate specification.
1670
1670
1671
-
The `plate`dictionary MUST contain a `wells` key
1672
-
whose value MUST be a list of JSON objects defining the wells of the plate.
1671
+
The `plate`object MUST contain a `wells` key
1672
+
whose value MUST be an array of JSON objects defining the wells of the plate.
1673
1673
Each well object MUST contain a `path` key
1674
1674
whose value MUST be a string specifying the path to the well subgroup.
1675
-
The `path` MUST consist of a `name` in the `rows`list,
1675
+
The `path` MUST consist of a `name` in the `rows`array,
1676
1676
a file separator (`/`),
1677
-
and a `name` from the `columns`list,
1677
+
and a `name` from the `columns`array,
1678
1678
in that order.
1679
1679
The `path` MUST NOT contain additional leading or trailing directories.
1680
1680
Each well object MUST contain both a `rowIndex` key
1681
-
whose value MUST be an integer identifying the index into the `rows`list,
1681
+
whose value MUST be an integer identifying the index into the `rows`array,
1682
1682
and a `columnIndex` key
1683
-
whose value MUST be an integer identifying the index into the `columns`list.
1683
+
whose value MUST be an integer identifying the index into the `columns`array.
1684
1684
`rowIndex` and `columnIndex` MUST be 0-based.
1685
1685
The `rowIndex`, `columnIndex`, and `path` MUST all refer to the same row/column pair.
1686
1686
@@ -1706,16 +1706,16 @@ containing one field of view per acquisition.
1706
1706
For high-content screening datasets,
1707
1707
the metadata about all fields of views under a given well can be found under the `well` key in the attributes of the well group.
1708
1708
1709
-
The `well`dictionary MUST contain an `images` key
1710
-
whose value MUST be a list of JSON objects specifying all fields of views for a given well.
1709
+
The `well`object MUST contain an `images` key
1710
+
whose value MUST be an array of JSON objects specifying all fields of views for a given well.
1711
1711
Each image object MUST contain a `path` key
1712
1712
whose value MUST be a string specifying the path to the field of view.
1713
-
The `path` MUST contain only alphanumeric characters, MUST be case-sensitive, and MUST NOT be a duplicate of any other `path` in the `images`list.
1713
+
The `path` MUST contain only alphanumeric characters, MUST be case-sensitive, and MUST NOT be a duplicate of any other `path` in the `images`array.
1714
1714
If multiple acquisitions were performed in the plate,
1715
1715
it MUST contain an `acquisition` key whose value MUST be an integer identifying the acquisition
1716
1716
which MUST match one of the acquisition JSON objects defined in the [plate metadata](#plate-md).
1717
1717
1718
-
The `well`dictionary SHOULD contain a `version` key
1718
+
The `well`object SHOULD contain a `version` key
1719
1719
whose value MUST be a string specifying the version of the well specification.
0 commit comments