|
1 | 1 | # vipsdisp |
2 | 2 |
|
3 | | -This program displays an image with libvips and gtk4. It can display huge |
4 | | -(many, many GB) images quickly and without using much memory. It supports |
5 | | -many scientific and technical image formats, including TIFF, WEBP, JP2K, |
6 | | -JXL, AVIF, HEIC, PNG, JPEG, SVS, MRXS, OpenEXR, GIF, PDF, SVG, FITS, Matlab, |
7 | | -NIfTI, Analyze, etc. It supports pixel types from 1 bit mono to 128-bit |
8 | | -double precision complex. |
9 | | - |
10 | | -All of the UI can make finding the details of image display in the sourcecode |
11 | | -difficult. See [vipsdisp-tiny](https://github.com/libvips/vipsdisp-tiny) for |
12 | | -a minimal example --- that's a libvips image viewer in about 300 lines of |
13 | | -very commented C. |
| 3 | +Vipsdisp can display huge (many, many gigabyte) images quickly and without |
| 4 | +using much memory. As well as the usual PNG, JPG, TIF, PDF, SVG, WEBP, |
| 5 | +JP2, JXL and GIF, it supports many scientific and technical image formats, |
| 6 | +including RAW, SVS, MRXS, OpenEXR, FITS, Matlab, NIfTI, Analyze, and |
| 7 | +PFM. Vipsdisp supports pixel types from 1 bit mono to 128-bit double precision |
| 8 | +complex, you can convert image formats, it support copy-paste and drag-drop, |
| 9 | +and it has a range of useful visualisation tools and display modes. |
14 | 10 |
|
15 | 11 | The vipsdisp image widget is [used by the image processing spreadsheet |
16 | 12 | nip4](https://github.com/jcupitt/nip4) for image display, so that might be |
@@ -57,13 +53,15 @@ flatpak install flathub org.libvips.vipsdisp |
57 | 53 | computed in the background by a pool of workers. The interface stays live |
58 | 54 | even under very heavy load. |
59 | 55 |
|
60 | | -* It keeps a sparse pyramid of computed tiles as textures on the GPU. Each |
61 | | - frame, |
62 | | - it computes the set of visible tiles, and then the GPU scales, positions and |
63 | | - composites just those tiles to the screen. CPU load should be low (except |
64 | | - for the background workers heh). Hold down i (for "in") or + to do a smooth |
65 | | - zoom on the cursor. If you press "d" it toggles a debug display mode which |
66 | | - shows the tiles being computed. |
| 56 | +* It keeps a sparse pyramid of computed tiles as textures on the GPU. Each |
| 57 | + frame, it computes the set of visible tiles, and then the GPU scales, |
| 58 | + positions and composites just those tiles to the screen. CPU load should |
| 59 | + be low (except for the background workers heh). Hold down i (for "in") |
| 60 | + or + to do a smooth zoom on the cursor. If you press "d" it toggles a |
| 61 | + debug display mode which shows the tiles being computed. |
| 62 | + |
| 63 | +* It supports high-DPI displays, so selecting 1:1 zoom will map one image |
| 64 | + pixel to one display hardware pixel. |
67 | 65 |
|
68 | 66 | * Select *Display control bar* from the top-right menu and a useful |
69 | 67 | set of visualization options appear. It supports four main display modes: |
|
0 commit comments