-
Notifications
You must be signed in to change notification settings - Fork 7
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
Introduce import-ome-zarr
task
#521
Comments
Great summary of the new copy task!
True and running on the plate level is sensible. But we couldn't use plate level in the current server implementation (because it would look for the plate key in metadata/components). Thus, this may run without a parallelization level and e.g. take the name of the Zarr file (that is in the input_paths folder) as an argument).
True. But I think everything can be done based on zarr metadata (both the pixel sizes as well as the dimensions in pixels are contained in the metadata). Thus, I would say a task that runs on the plate level and just loops over all images is fine.
Agreed! Let's go with |
When acting on an existing OME-Zarr, is the import-ome-zarr task expected to modify it? That is, is it OK to add ROI tables to an existing OME-Zarr? |
I would say yes, at least for that first implementation. ROI table are core to the further processing in Fractal, so there needs to be a good way to add them. Should this be optional? Thinking through some scenarios: In that case: Are there other reasons to modify an OME-Zarr during import?
Modifying metadata may actually be something we'd want to allow, e.g. to add the wavelength_id parameter to the Omero tables. Not sure whether we'll work well with OME-Zarrs without that one. My conclusion:
|
This non-parallel task (or parallel at the
plate
level, provided we implement fractal-analytics-platform/fractal-server#802) would take a single ome-zarrplate.zarr
as an input.Its goals (sorted by increasing complexity) are to:
metadata_update
output - to be then parsed by fractal-server and placed inDataset.meta
(soon to become something likeDataset.components
- TBD).NOTE: This functionality requires browsing through groups according to the OME-NGFF structure, and constructing the lists based on the zarr attributes. Ideally we should never use
glob
or anything similar, but only proceed through zarr groups/subgroups/attributes.well_ROI_table
) for each ome-ngff image inplate.zarr
, by combining the pixel sizes and array size into a physical-unit ROI.NOTE 1: This functionality needs to happen per-image (even if it belongs to a higher-level task).
NOTE 2: The
well_ROI_table
name would not be fully appropriate, because it assumes the well=image correspondence (which is true for Fractal, but not in general). Maybe we can find a more generic name (image_ROI_table
,full_ROI_table
,main_ROI_table
, ...).Side-note: we currently have a fixture like:
for our tests. Together with #212, the current issue should aim at making it fully obsolete, since the relevant information would be gathered elsewhere.
The text was updated successfully, but these errors were encountered: