Trace: » piqsl
Piqsl
Overview
piqsl (“pixel”) is the aqsis project's advanced framebuffer and image viewer. It's currently in an early stage of development, so feedback and constructive criticism are most welcome.
The primary purpose of piqsl is to serve as the visible frontend to display images as they are rendered (that is, to serve as a framebuffer). Because piqsl is multi-threaded and uses sockets for inter-process communication, it is able to display rendering images from multiple concurrent aqsis renderer processes. The incoming images may be arranged into logical collections within the interface, known as “books”.
Apart from serving as a framebuffer, piqsl can load image files from disk (see supported image formats).
To render a file to piqsl, the RIB file needs to include an appropriate “Display” command:
Display "output.tif" "piqsl" "rgb" # Or, since piqsl is now the default aqsis framebuffer: Display "output.tif" "framebuffer" "rgb"
This connects the renderer to the piqsl display forwarding interface, which
automatically launches the piqsl executable. For more details on the options
supported in the Display call above, see the piqsl display interface.
The main piqsl window
Images in piqsl are arranged into “books” - collections of images which are
associated together by the user. A book or collection of books (“library”)
can be saved to an XML ”.bks” file for later retrieval. Images in a book
are saved out as separate TIFF files; the .bks file simply stores the
overall structure of the collection.
The main piqsl window displays a single book at a time in the main tab. The book view shows a list of currently open images, along with some relevant information about each image.
The framebuffer window
Each book is associated with a separate framebuffer window which shows the currently selected image. The framebuffer image supports panning, zooming and changing between various sub-images of the current image.
Keyboard and mouse controls
Panning of an image is achieved by grabbing the image with the middle
mouse button and dragging. Zooming by integer multiples of the base image
resolution may be achieved using the mouse scrollwheel or using KP+ to
zoom in and KP- to zoom out (KP signifies a key on the numeric
keypad). Zooming uses nearest-neighbour interpolation for simplicity and to
minimize any confusion about effects due to interpolation versus rendering
artifacts.
Some image file formats such as TIFF can contain multiple sub-images in a
single file. These sub-images can be accessed via the CTRL + KP+ and
CTRL + KP- shortcuts, which move to the next and previous sub-image in a
multi-image file respectively.
Additional hotkeys include h (“home”) which centers the image on the
framebuffer window, and R which reloads the current image from file.
Options
A short help text listing all options can be displayed using the piqsl -help option:
Usage: piqsl [options] [BKS file...] [Image file...]
-i Specify the IP address to listen on (default: 127.0.0.1)
-p Specify the TCP port to listen on (default: 49515)
-h, -help Print this help and exit
-version Print version information and exit
-nc, -nocolor Disable colored output
-v, -verbose=integer Set log output level
0 = errors
1 = warnings (default)
2 = information
3 = debug
Supported Image formats
Piqsl has support for reading the following image types:
- TIFF - both tiled and scanline-based formats, various pixel formats, full support for multi-image files.
- OpenEXR - most types, though no support for luminance-chroma or other image types with subsampled channels, and no support for multi-image (mipmapped) formats.
Piqsl can write images in the following formats:
- TIFF - scanline-based, various pixel formats.