These keys have been formalized and specified upstream in the OME-NGFF 0.4 specification - see https://ngff.openmicroscopy.org/0.4/#plate-md. As part of this specification, they have been renamed as rowIndex and columnIndex to match the naming style for new keys.
In both cases, these indices are expected to be integers.
For the OME-NGFF 0.4.0 specification, we should at minimum read the rowIndex/columnIndex keys as Integer.
This leaves a few open questions related to the support of old and new datasets:
should the column_index/row_index keys still be parsed to handle OME-NGFF 0.2 datasets created by `bioformats2raw 0.3.x and 0.4.x?
for OME-NGFF 0.4 plates, should we keep the fallback mechanism parsing the well paths be maintained or should the reader on the absence of rowIndex and/or columnIndex since these fields are required.
The last item more generally raises the question of how lenient vs strictly compliant the reader should be. If there is a use case for both behaviors, this is possible something worth putting under an option.
See original report from @pwalczysko in https://github.com/ome/ZarrReader/issues/31#issuecomment-1118978361_
Index keys for the well rows/columns were initially introduced in https://github.com/glencoesoftware/bioformats2raw/pull/91 and first released in the version 0.3.0 of
bioformats2raw
.These keys have been formalized and specified upstream in the OME-NGFF 0.4 specification - see https://ngff.openmicroscopy.org/0.4/#plate-md. As part of this specification, they have been renamed as
rowIndex
andcolumnIndex
to match the naming style for new keys.In both cases, these indices are expected to be integers.
https://github.com/ome/ZarrReader/blob/649a60e33c9f91323f571abef4454118da6b3d73/src/loci/formats/in/ZarrReader.java#L634-L652 currently handles legacy keys and casts them as strings. This leads to exceptions when dealing with HCS generated with
bioformats2raw 0.4.0
.For the OME-NGFF 0.4.0 specification, we should at minimum read the
rowIndex/columnIndex
keys asInteger
.This leaves a few open questions related to the support of old and new datasets:
column_index/row_index
keys still be parsed to handle OME-NGFF 0.2 datasets created by `bioformats2raw 0.3.x and 0.4.x?rowIndex
and/orcolumnIndex
since these fields are required.The last item more generally raises the question of how lenient vs strictly compliant the reader should be. If there is a use case for both behaviors, this is possible something worth putting under an option.