Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discussion] Representation of data in microscopy series. #10

Open
ehennestad opened this issue Feb 3, 2024 · 0 comments
Open

[Discussion] Representation of data in microscopy series. #10

ehennestad opened this issue Feb 3, 2024 · 0 comments

Comments

@ehennestad
Copy link

ehennestad commented Feb 3, 2024

I have brought this up here previously, but it deserves its own discussion in the context of this extension proposal.

I think it is worth considering defining the data as a 5 dimensional array which can have the following dimensions: X, Y, C, Z, T

This is how it is done in the OME standard which is widely used in biological sciences. Here is a minimal example, where with the properties SizeX, SizeY, SizeZ, SizeC, SizeT and DimensionOrder the shape is explicitly defined, and does not rely on the schema specification/description enforcing a specific dimension order.
https://docs.openmicroscopy.org/ome-model/6.3.1/specifications/minimum.html?highlight=dimensionorder

I think this is important for two reasons:

  1. People do all sorts of microscopy recordings, from single channel linescans to multichannel volumetric imaging. There are two ways to capture this. The first is to define many different data types, as has been suggested here. If going in that direction, why stop at a time independent image? You would need a Linescan Datatype (XT), a single channel image datatype, a multi channel datatype, a single plane datatype and a multiplane data type and combinations/permutations of these. In other words, what is special about the time dimension to warrant a specific data type in the case there the dimension is a singleton dimension. The second is to define a 5D data type where one or multiple dimensions are allowed to be singleton dimensions as has been done in OME.

  2. With regards to efficient data reading (especially relevant if data is accessed remotely which is more and more common) it will be variable what are the preferred dimensions and dimension orders to perform reading along. For some data, it might be more important to be able to read multiple channels in one read operation, in others multiple planes and yet in other multiple timepoints.
    Ideally, it would also be possible to set the dimension order to keep the data stored in the manner which is most efficient for that specific data. As long as the dimension order is explicitly defined, it's straight forward for readers/viewers to permute the data to match the dimension order which is required for that specific instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant