-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add some Zarr-based datatypes #19040
Merged
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
52a816c
Add new Zarr datatypes
wm75 c383d69
Fix set_meta logic
wm75 1b51e1a
Rename generic classes for consistency
davelopez de2606e
Refactor Zarr datatypes
davelopez ea711f3
Drop zarr image datatypes for now
davelopez 66cf066
Refactor ZarrDirectory class to improve handling of Zarr store root f…
davelopez 4bdb09c
Add ZarrDirectory display_data method to support previewing metadata …
davelopez 642c30d
Add remote S3 zarr datatype
davelopez 02c6594
Refactor CompressedZarrZipArchive to support zarr format version meta…
davelopez dfbdbbe
Add some comments to clarify the use of store_root metadata
davelopez abfb220
Allow to convert/extract from zip directly to zarr
davelopez 826d37a
Add compression metadata to CompressedZarrZipArchive
davelopez cc9b631
Fix linting
davelopez 5f4197a
Refactor metadata file detection in CompressedZarrZipArchive and Zarr…
davelopez 6855055
Add Compressed OME-Zarr Zip datatype
davelopez f12014c
Add OMEZarr directory datatype
davelopez 3cd5cdb
Refactor ZarrRemoteS3Bucket to ZarrRemoteUri as base
davelopez 6c3ff40
Add OME-Zarr remote URI datatype
davelopez 3deb373
Remove ZarrRemoteS3Bucket and refactor ZarrRemoteUri
davelopez 89e058d
Add properly formatted remote_uri to ZarrRemoteUri metadata
davelopez ee334f2
Refactor CompressedZarrZipArchive to handle zarr store in subfolders
davelopez 3b7c640
Drop URI datatype in favor of deferred
davelopez 68d1f31
Add missing auto_compressed_types to tar datatype
davelopez File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we merge with this or do we need to investigate this more?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would try to get rid of this ? Otherwise I'd like to see a tool actually use this metadata element.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me explain the issue in more detail to see if we can eliminate the need for
store_root
metadata. Thisstore_root
isn't true metadata—it's more of a workaround that indicates the folder containing the actual root of the Zarr directory.Both tools and visualizations require a path to this root directory to access the correct contents.
When we upload a zip file containing a Zarr directory, it’s common for the zip to include the parent folder of the Zarr store. Many Zarr zips I’ve encountered are structured this way. Ideally, the Zarr store would be zipped without this extra parent folder, but even if it isn’t, when we extract it using the converter, it creates a new folder (like
dataset_{uuid}
) withinextra_files_path
, resulting in an additional layer.Currently, to access the Zarr directory correctly, any tool needs to reference it as follows:
This approach, however, is not fully reliable—what if the Zarr store is nested deeper within subdirectories? A better solution might be to use a dedicated converter (rather than
archive_to_directory.xml
) that finds and extracts the root store directly toextra_files_path
, without any parent folders, would this be better?Another drawback is that tool developers must remember to reference the
$zarrinput.extra_files_path
, and even add/$zarrinput.metadata.store_root
to reach the actual Zarr store.Any ideas on how to make this process more elegant and eliminate the
store_root
?