Skip to content

Towards Fiji scripts working with zarr already opened in Fiji #39

Description

@xulman

User Story

Fiji users would like to work on opened OME-zarr images. The idea is that an input OME-zarr is opened (not necessarily already loaded) in Fiji, it then becomes available for scripts (e.g. via the Dataset mechanism as in #36 #16 #33), the scripts can reach the data via Dataset (see #26), can "withdraw" a particular time point and channel (only now happens the pixels loading (if not loaded already)) to obtain a "plain standard Imagej" so that Jython scripts can deal with it.

Example1

...with timelapse input OME-zarr: Here, the script can take a range of time points as its parameter and process the images from those time points. The input zarr is thus opened only once for the first time point, and the consecutive time points will only take images. One could have run of another Fiji in parallel, or even better, another run of the same script in the same Fiji in parallel.

Example2

Debugging segmentation procedure over a certain ROI inside OME-zarr: Iteratively running the same script on the same piece of data, just tuning its pipeline parameters. Again, the code benefits from avoiding reopening the input zarr and from sharing cached/already-loaded pixels.

Tasks

  • Deliver File->Open OME-zarr, a macro-recordable way of opening
    • This can be used in a top-level script that manages a whole processing pipeline (that is, opening an image, calling the working script, and saving results)
    • DnD-way of opening OME-zarr could be used too
  • Provide means to read xy or xyz full images at given time, channel and spatial resolution from a PyramidalDataset
  • Provide means to write xy or xyz full images at given time, channel and spatial resolution into a PyramidalDataset
    • Perhaps, the writing shall be supported only for the highest resolution level...
    • Or, offer API to provide images at all res. levels (as the writter is essentially a data "feeder" into a prepared OME-Zarr "scaffold")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions