What is timv, anyway?
timv, the Tiled IMage Viewer, is a tool that displays any image readable by the ImageMagick library upon a tiled display. The user has a variety of options on whether to scale the image to fit the display or retain its aspect ratio, blit or fade the image in nicely, and whether the display should be treated as a single monitor or as the seperate screens it is made of. The user can load any number of files at once, and browse through those images using multiple means.
How does timv do all that?
Despite seeming to be a very simple piece of software, timv operates using several other free APIs, including:
timv uses the ImageMagick library to load images into memory, OpenGL to display the pixels on the screen in a window created via GTK+ that gets its configuration data from a file created by the packaged configuration tool (which creates a human-readable text file), and synchronizes loading in parallel and the swapping of display buffers with MPICH. It uses Java to provide a simple GUI for the selection of images and how to display them. Here's a nice graphic to illustrate it all:
Tell me more about those options.
Here is a sample view of the Java interface to timv:
The large edit area on the right gives basic information about what's happening. If there is an error displaying an image on the display, this is the first place to look, in case there was no timv server running (could not connect), or some other random network error.
Scrolling options: (currently being implemented)
Given all of this information, you see that we've just loaded
Hint: if you
look closely, you can see the message starts with
What's that black
You mean this? Well, it's not black in this picture... this is in fact the image loaded in the above example!
If you have more than one image loaded, either by selecting multiple files from the java GUI, or because you selected files more than one time (try hitting that Load file... button more than once!), you can cycle through them using this window. This is great for slide shows, presentations, or just impressing your friends with your hi-res vacation pictures.
To move to the next image of those you have loaded, either left click on the window, or use the right or down arrow keys. To move to the previous image, either right click, or use the left or up arrow keys. The next image will display using the options you selected at load time (fade, aspect fit, etc). Alternatively, you can use the middle mouse button to get a list of all loaded files; you may then directly move to the one you want.
This is all nice, but where can I get timv?
Note: On SDSC Linux machines, timv is already installed in
timv is publicly available right here. Just remember you need all of the above packages to compile it. timv has been tested on a linux cluster, but the java interface should run just about anywhere. Just note that each machine in your tiled display cluster must be able to access the file, and that path name should be identical in the java interface as well as the server.
To run timv, just run the timv script included:
Just in case you were curious, timv actually loads two components. First it starts java to load the GUI interface,
and then loads the timv_server.
When timv dies (either from being
Note: This software and documentation was authored by a poor, starving (and did I mention humble?) grad student. As such, they may contain errors, omissions, and be otherwise wildly inaccurate and/or unstable. Please bear this in mind as you direct your comments, suggestions, flames, etc. to the address below.