Addresses an issue with large samples (full brain size) with small chunks (128x128x128 or smaller).
Removed some object allocations to reduce load on GC
Add progress updates during load
Parse the metadata off the UI thread
Display lower resolution paths as they are available rather than waiting for all paths to load
There is one small change to non-OME-Zarr content. BasicTileCache.java was hard-coded to use toString() as the key for the map and for messages. This is an expensive operation for OME-Zarr tiles as compared to other formats due to the content we want presented by other parts of the Workstation general code that use it (e.g., tile loading messages). BasicTileCache is a base class so this was changed to method to get the key that defaults to using toString() so existing implementations remain unchanged. The OME-Zarr implementation uses a different method.
This makes the samples loadable, however a future update will be required to reduce the load time further.
Addresses an issue with large samples (full brain size) with small chunks (128x128x128 or smaller).
There is one small change to non-OME-Zarr content.
BasicTileCache.java
was hard-coded to use toString() as the key for the map and for messages. This is an expensive operation for OME-Zarr tiles as compared to other formats due to the content we want presented by other parts of the Workstation general code that use it (e.g., tile loading messages).BasicTileCache
is a base class so this was changed to method to get the key that defaults to using toString() so existing implementations remain unchanged. The OME-Zarr implementation uses a different method.This makes the samples loadable, however a future update will be required to reduce the load time further.