Skip to content

Commit 2374cce

Browse files
authored
Merge pull request #419 from tlambert03/rfc3-explicit-ordering
RFC 3: Make removal of restriction on axis ordering more explicit
2 parents 0913f48 + f8cee6f commit 2374cce

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

rfc/3/index.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,9 @@ datasets to OME-Zarr. For example, Zeiss .czi datasets [may contain][czi format
129129
dimensions] dimensions such as H, I, and V to store different phases,
130130
illumination directions, or views respectively. To say nothing of synthetic data
131131
that may contain "artificial" dimensions such as principal components or axes of
132-
other dimensionality reduction-techniques from many images.
132+
other dimensionality reduction-techniques from many images. They may also hamper
133+
the adoption of OME-Zarr as an acquisition-time format due to performance concerns
134+
when data must be manipulated to accommodate a strict dimension order.
133135

134136
## Motivation
135137

@@ -164,9 +166,9 @@ in OME-Zarr:
164166

165167
## Proposal
166168

167-
This document proposes removing any restrictions on the number of dimensions
168-
stored in OME-Zarr arrays. Additionally, it removes restrictions on the names
169-
and types of included dimensions.
169+
This document proposes removing any restrictions on the number or order of
170+
dimensions stored in OME-Zarr arrays. Additionally, it removes restrictions on
171+
the names and types of included dimensions.
170172

171173
To maximise compatibility with existing software, this proposal recommends that
172174
images with 2-3 spatial dimensions SHOULD name them from the subset of "zyx"
@@ -267,6 +269,10 @@ arguable that Zarr chunking is in fact more important here — XYTCZ *could* be
267269
a perfectly cromulent axis ordering for XY planes if the Zarr chunk size was
268270
(1024, 1024, 1, 1, 1).
269271

272+
Moreover, imposing a fixed axis ordering can incur performance penalties at
273+
*write* time (where performance is often critical) if the data is not already
274+
in the expected order.
275+
270276
Therefore, this proposal argues that any performance implications are better
271277
addressed through good documentation and good defaults. Indeed, more flexible
272278
dimension ordering could *improve* performance in some scenarios, such as

0 commit comments

Comments
 (0)