chaichontat / samui

A performant scientific image visualization system.
https://samuibrowser.com/
GNU General Public License v3.0
34 stars 5 forks source link

Channel limitation for browsing #94

Open NKalavros opened 10 months ago

NKalavros commented 10 months ago

Hi!

Amazing visualizer, saved me hours upon hours of work. I'm extremely thankful!

I've been using it to deploy visualizations on mostly H&E so far and tried to create one for MxIF (PhenoCycler Fusion).

So after the image is created just fine, I've been encountering a specific WebGL error precisely at 65 channels.

Error: Fragment shader texture image units count exceeds MAX_TEXTURE_IMAGE_UNITS(16)

It seems to be related to the fact that the channels are split every 4 into different files, making for 17 files if you have >64 channels. I changed the nc if line in image.py to 5 and it seems to work so long as the image is 16 files or less.

Another, less important issue is that to show the rest of the channels I have to zoom out of the web page (Ctrl + -) because otherwise the channel menu takes too much space.

EDIT: If you try to make files with larger than 10 channels, the gdal_translate call will fail because of the JPEG library's limitation to 10 channels. The call can be changed to use LZW or deflate with BIGTIFF=yes.

chaichontat commented 10 months ago

Ah, thank you for the insight and troubleshooting! I think the I used 4 channels because of limitations in JPEG compression but will look into that.

I can add a scrollbar to the channel selector to deal with this case.