girder / large_image

Python modules to work with large multiresolution images.
http://girder.github.io/large_image/
Apache License 2.0
190 stars 41 forks source link

Multi-file images from S3 and in jobs #1567

Closed manthey closed 1 month ago

manthey commented 2 months ago

When we have a multi-file image that is imported (or uploaded in all its component parts), not all sources work correctly, even if they do work for filesystem assetstore imports. The cause is that in Girder, we expose a fuse mount that has items as folders. This is sufficient for some sources, but not all.

There are two parts that would generally fix access within Girder. (1) Modify the girder mount command to expose flat items (i.e., items as files, not directories). Since items could have multiple files, this should probably be done as a separate set of paths in the fuse mount (e.g., <mount>/flat/user/... rather than <mount>/user/...). When there are multiple files, the file matching the item name should be preferred, otherwise by the first file in the system. Alternately, large_image could inform the sort order so that the file used for the tile source would be preferred. (2) large_image's girder tile source would need to use these flat paths.

As a further issue (probably should be in its own issue in the slicer_cli_web repo), when we have multi-file images, we don't pass them to jobs very well.

manthey commented 1 month ago

The mount was updated in girder and in #1576.