3 ms·
At my previous job a colleague at one point had the use case of highly detailed scans of cell tissue where he'd like to be able to both zoom out to see the stru
by vanderZwan 2y ago
At my previous job a colleague at one point had the use case of highly detailed scans of cell tissue where he'd like to be able to both zoom out to see the structure the entire tissue, but also be able to zoom in down to individual cells. The pngs were gigabytes in size and he was a bit worried about the idea of using lossy jpgs since they might have messed up the tiny cell blotches.
We first tried to find some sort of map-library based solution that converted the images into a set of tiles, but eventually I found Viewnior which somehow seemed to be able to handle the pngs relatively well compared to any of the other image viewers we tried at the time (which all would choke on the giant sized images)
https://github.com/hellosiyan/Viewnior https://github.com/hellosiyan/Viewnior
I know that that's a very niche use case, and I have no idea how Qimgv compares ("fast" is not the same as "scales well with really large images"), but I thought I'd share in case anyone else has had to deal with this problem.
- pdw 2y agoI've used nip2 when dealing with giant images. It's a weird tool, but it's designed for that kind of work. https://github.com/libvips/nip2 https://github.com/libvips/nip2
- danjl 2y agoGPUs have a 8192 texture resolution limit, which often is the problem for large images. For gigapixel images, you need a viewer which breaks up the image into tiles for rendering.
- vanderZwan 2y agoYeah that makes sense. I find it a bit odd that this isn't something you can easily search for though.
- shotnothing 2y ago[dead]
- shotnothing 2y ago[dead]
- jcupitt 2y agoI made an image viewer for large images: https://github.com/jcupitt/vipsdisp https://github.com/jcupitt/vipsdisp It should be fine with your huge PNGs. Internally it's a bit like a tiled map viewer, but it makes the tiles as you view the image with a set of background worker threads. It uses your GPU to scale and composite the set of visible tiles to your screen. It uses openslide to let you view slide formats like SVS and MRXS, which might be handy. It also supports colour management.
- vanderZwan 2y agoOh that's amazing, thank you for sharing!