-
Notifications
You must be signed in to change notification settings - Fork 1
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
refactor ez_zarr
#9
Comments
Super interesting to follow along, thanks for documenting this @mbstadler & for sending me a link @silvbarb ! A few small comments from me:
Core is also that it contains a .zattrs with multiscales metadata following the NGFF spec
Intuitively, I see this as a function of the Image class: Provide the different resolution level arrays, based on available resolution levels. Or provide some Zarr subgroups like labels & tables. Also, in case it's relevant, I started playing around with an OME-Zarr image class here: https://github.com/fractal-analytics-platform/napari-ome-zarr-navigator/blob/roi_loader/src/napari_ome_zarr_navigator/ome_zarr_image.py |
Reopening the issue (image-level tasks are done and included in #10, but plate-level tasks remain to be done). |
... in order to support additional flavors of OME-Zarr filesets.
Ideas:
ez_zarr.ome_zarr.Image
representing an image: what we currently have infractal_out.zarr/B/03/0
(contains.zgroup
and pyramid level folders0
,1
,2
, ... each containing.zarray
)ez_zarr.ome_zarr.Plate
: similar to currentFractalZarr
, usingImage
internally (either creating them upon construction, or on the fly when needed) and with additional changes (see below)ez_zarr.ome_zarr.Plate
work with Fractal and FAIM outputs.zgroups
in column folder of Fractal plate output/we/know/where/Data/ZarrExampleData
ez_zarr.ome_zarr.Plate
methods:ez_zarr.ome_zarr.Image
internally, rename to get_array_by_coordinate, get_subarray, get_pyramid, get_array_pyramidlabel_name = None
-> intensity image, orlabel_name = "nuclei"
-> label imageez_zarr.ome_zarr.Image
method, thePlate
method could default to the first image or accept a list of images/wellsdescribe("path/to/zarr")
-> similar tozarr.hierarchy.Group.tree()
.zarray
), a list of arrays (initialised by a folder, populates list with all arrays found within), any other specific zarr filesetsImage.plot()
(y,x)
inplotting.plot_image
(just add a dummy channel axis usingnp.newaxis()
)row_label
andcolumn_label
in the layout, use a singlelabel
columnSmall addition to consider (identified by using
ez_zarr
on feature extraction 3D):_get_bounding_box_for_label_value
as public functionlabel_name
argument ofget_array_pair_by_coordinate
to alabel_list
--> very useful for extracting together with the intensity image arrays, also pairednuclei
,cells
, and potentiallyorganoids
masksget_array_pair_by_coordinate
by label_id (object) and not only by coordinates (this is done already when we plot by object_id) --> implemented by exposingget_bounding_box_for_label_value
with ability to specify output coordinate spaceget_bounding_box_for_label_value
to get coordinates, then use these inplot
)The text was updated successfully, but these errors were encountered: