NCMIR wall display
These notes are to help me get familiar with the 4x3 tiled wall display at the National Center for Microscopy and Imaging Research (NCMIR) at the University of California, San Diego (UCSD). The wall isn't used often - only really to show off data to important guests - but it does offer a resonably impressive total resolution. Each monitor is 2560x1600 pixels, and thus 10,240 x 4,800 pixels in total (50 megapixels). Each row is run by one computer with two graphics cards, using SLI, each graphics card powering two monitors. To run this system, there is a total of four computers - one for each row, plus one just for the head. The head screen is represented by a smaller monitor on the right of the wall with a keyboard - and this is used to login and launch images on the main wall via a set of software called "iViz". This system was setup by Raj Singh - who since left NCMIR in 2011 but still works at the CalIt2 building - and the help of David Lee - who also inhabits CalIt2. The system uses CGLX - Cross-Platform Cluster Graphics Library, SAGE: Scalable Adaptive Graphics Environment and a Rocks Cluster (which I don't yet understand)!
Turning on the System
The computers all live inside the "boiler room" (the glassed off room behind the wall) and should always be on. The small head screen has the user ("demo") and password ("demo@n****") printed on it. Once logged on click the "Turn Display On" icon on the top left of the desktop and it will launch the command "/usr/local/cglX/bin/wall_on". Make sure all monitors are turned on and you should see all rows light up different colors.
NOTE: Raj has done a great job with setting up easy icons, and also wrote almost all the instructions you'll need as the desktop background.
Displaying Images, Movies and 3D Models on the Wall
To display an image... click the "Data Launcher" desktop icon (command: "/usr/bin/xterm -e /home/demo/software/iViz/bin/RUN_IVIZ"). In the small GUI that appears you'll see the following options:
- Display Single Image - can load many formats (.jpg, .png, .tif) of huge size
- NOTE: Chances are your image won't be in pyramidal format, so it will first will prompt for a location/file path where it can convert this to a pyramidal tif - and be prepared to wait several minutes, depending on file size. Make sure you give your new file a .tif extension, and next time make sure you open this pyramidal file (will load faster). Once open you can use the left mouse to pan and scroll wheel to zoom. Sadly it's a bit buggy, but if you zoom to the likely places beforehand you have a better chance of tiles appearing in a timely/predictable way.
- Display Directory of Images - asks you to specify a directory with several of the pyramidal tifs such as created above and will display all at once, and you can click between.
- Display 3D Model - Can open a single WRL file (the extension usually given to VRML 2.0 format 3d models). Once open use: left mouse to rotate, middle to pan and right to zoom. * Display Movies - Will play a single .MOV file full screen. Not sure what other file formats it may/may not like.
- Demos - Opens a new GUI which a bunch of configurable "launch" buttons - representing a faster way to bring up any image(s), movies or 3d models.
Creating a New Demo
In the Demo Launcher ("Destop > Data Launcher > Demos"), you can right click a box then > Edit Launcher and change it's icon and command (shell script). Raj keeps shell scripts and thumbnails at:
As an example, the content of "LAUNCH_NCMIR_IMAGE.sh" is:
#!/bin/bash csdstop killall -9 tiffviewer MediaViewer OSGViewer OBJViewer VideoBlaster sleep 2 csdstart csastart tiffviewer -d /home/demo/data/disk1/images/cglx_demo
This image directory contains pyramidal tif file created using "Desktop > Data Launcher > Display Single Image" (and then set it to convert your image to a pyramid in this directory).
To launch a .wrl of movie file, substitute the last line for one of these:
csastart OSGViewer -f /home/demo/data/disk1/OBJ/wtg18_1film.wrl
csastart VideoBlaster /home/demo/data/disk1/movies/wbc/WholeBrainCatalog.mov
Turning the System Off
Once finished make sure you click "Turn Display Off" (command: /usr/local/cglX/bin/wall_off) when finished.
Troubleshooting (Restart Machine)
Troubleshooting the wall is very difficult. A few times I found the wall became non responsive - no matter what I did with the CGLX window (open, close, etc) on the head the wall stayed frozen. The "Turn Display Off" and On didn't work. If in doubt just restart the machine (Menubar > System > Shut Down > Restart) - apparently that's what Raj and David always did and it seems to do the trick for me too. After restarting the machine you may also notice better responsiveness when zooming into large images.
- NCMIR - contains a small list of other facilities at CalIt2.
- CGLX - Cross-Platform Cluster Graphics Library - the system used to build most of the visualization tools. CGLX was developed at CalIt2 and presents a GLUT-like (Open GL Utility Toolkit) interface to the user, which allows this framework to intercept and interpret OpenGL calls and to provide a distributed large scale OpenGL context on tiled displays. The most recent version runs on linux (as it does for the NCMIR wall) or Mac OSX.
- Rocks Cluster - software which helps multiple displays work together?
- SAGE: Scalable Adaptive Graphics Environment - an alternate system to CGLX that provides individual applications in separate windows that can be arbitrarily scaled.