allen-cell-animated / volume-viewer

https://allen-cell-animated.github.io/volume-viewer/
Other
90 stars 7 forks source link

Don't load disabled channels #158

Open frasercl opened 10 months ago

frasercl commented 10 months ago

Use Case

Currently, we always load all channels any time we need new volume data, despite the fact that lots of use cases keep most channels of a volume disabled. (e.g. viewing the Variance dataset in CFE, whose segmentation and contour channels - a majority of total channels - are disabled by default.)

Solution

We have a way to tell loaders which channels to load and a place to trigger new loads if we need new data. All we need to do is use them for channels as well!

As a bonus optimization, if the only change in required data is channels going from disabled to enabled, we should only load those channels, since we won't want any more data in any other channel. (This could get subtle with subregions - e.g. if enabled channels change and the subregion also shrinks, but the shrinkage won't result in a change of scale level per #157, load only the newly-enabled channels at the old subregion to avoid dimension mismatches between old and new channels.)