3 Large image viewers for Linux

 Posted by:   Posted on:   Updated on:  2023-01-07T21:26:54Z

Image viewers for Linux that can display very large images without taking up all memory.

Recently, I wanted to view some large images of electronic schematics in Linux (Ubuntu). I had two TIFF images, one of 140 MP (24193 x 6489 px) and a smaller one of 44 MP (8772 x 5020 px) both 1-bit monochrome compressed with CCIT G4 algorithm.

So I tried to open them with the default associated program (Eye of GNOME) and before any image was displayed, my 2 GB RAM computer started swapping to make room for eog process. Therefore I needed other image viewers.

Here is a comparison of some free image viewers that run on Linux and can display large images using low RAM. I compared two features: speed of zooming/panning/dragging and memory usage. I used my two images for comparison, thus 44 MP displayed as RGB takes (8772px * 5020px * 24bpp) / 8 / 1024 / 1024 = 126 MB and 140 MP takes (24193px * 6489px * 24bpp) / 8 / 1024 / 1024 = 450 MB.

Therefore any viewer that uses more than RAM than the uncompressed RGB image size is useless for large images.

Large image viewers for Linux

1. XnViewMP

I consider this to be the best option. It used about 50 - 60 MB for the 140 MP image and 40 - 50 MB for the 44 MP image. Panning and dragging are fast but zooming isn't. There is also high CPU usage during these operations. The software is free for personal use and you can download it from here. It comes with much more than the image viewer, being able to read a lot of formats and convert images. It can also apply basic effects and resize images, one by one or by batch processing.

XnViewMP image viewer
XnViewMP image viewer

2. Fragment

I've used this before and although it needs more RAM than XnViewMP it is very fast. With instant zooming and dragging, Fragment is a good choice. This is free software but not open source and the last version for Ubuntu can be found in 14.04 repositories. The official download site is here and you can get DEB packages for 64 bit. RAM usage was 350 MB for the 140 MP image (depending on window size) but the speed of this software is impressive. Also, the Windows version runs good in Wine.

Fragment image viewer
Fragment image viewer

3. ImageMagick

I couldn't include this one here because it has a feature that no other has: you can limit maximum RAM. The CPU usage is high and zooming and dragging operations are slow. The display process uses about 1.2 - 1.5 MB RAM yet it depends heavily on disk speed and stores image data in the temporary folder instead of RAM. It is a command line tool that you can use like:
display -limit memory 100mb image.tif

ImageMagick display image viewer
ImageMagick display image viewer
Other tested software packages: feh, viewnior, gpicview, sxiv. All used about the same memory: uncompressed image size plus the interface needed memory.

This article showed three software alternatives for viewing large images under Linux. Do you know any others?

1 comment :

  1. Tried Gwenview, Gthumb, Ristretto or Geeqie?

    ReplyDelete