This page compiles a list of applications contributed by the community of SAGE users. The page contains applications that have been enhanced to work with SAGE and compiles information on any non-SAGE applications that can work with SAGE through one or more of SAGE's utilities.
Contact us if you would like to know of other applications, or if you have an application you would like us to distribute.
Applications
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 11/29/2008 (maintained)
- Distribution mode: SAGE add-on
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 11/29/2008 (maintained)
- Distribution mode: SAGE add-on
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: Douglas Kosovic
- Last update: 01/21/2009 (maintained)
- Distribution mode: SAGE download page
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: University of Queensland
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: SAGE add-on
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: ResearchChannel
- Last update: N/A (N/A)
- Distribution mode: Open source
- Download page: http://sourceforge.net/projects/ihdtv/
- Institution: ResearchChannel
- Developer: CESNET / Masaryk University
- Last update: 01/05/2009 (maintained)
- Distribution mode: Open source
- Download page: https://sitola.fi.muni.cz/igrid/index.php/UltraGrid
- Institution: Laboratory of Advanced Networking Technologies at Faculty of Informatics, Masaryk and CESNET
- Developer: NTT
- Last update: N/A (N/A)
- Distribution mode: N/A
- Download page: N/A
- Institution: Internet video studio system for HDTV production
- Developer: EVL
- Last update: 03/21/2009 (experimental)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 09/25/2008 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/01/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (experimental)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 09/25/2008 (not maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 11/29/2007 (not maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 09/25/2008 (not maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 09/25/2008 (not maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
- Developer: EVL
- Last update: 03/21/2009 (maintained)
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
Media
Multimedia applications to view various contents (images, movies...)
ImageViewer
Image viewing application based on the ImageMagick toolkit. Loads most of the commonly used image formats (jpg, png, gif, tiff...). Images are automatically converted to DXT format for streaming. A DXT copy is saved locally for later use. Use the '-show_original' option to stream uncompressed data.
VLC
VLC media player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network. An output plugin for SAGE was written to provide video streaming. Audio is not streamed, just played locally. Just add '--vout sage' option to use the plugin.
Mplayer
MPlayer is a movie player which runs on many systems. It plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV and even H.264 movies. An output plugin for SAGE was written to provide video streaming. Audio is not streamed, just played locally. Just add the '-vo sage' option to use the plugin.
MacOSX-based video streamer
MacOS X libsail based video streamer, provided by Douglas Kosovic, University of Queensland, Australia. Originally developed for the Blackmagic Intensity HDMI capture card, but should work with any other Quicktime Sequence Grabber video capture device.
Collaboration
Applications to support collaboration
HDS
Software to stream high-definition video and audio, using the SAGE environment. It streams 1080i HD (1920x1080) using RGB16, RGB24, or YUV422 8bit pixel formats. For the video, it requires 995Mbps at 30 frames per second, 830Mbps at 25fps, or 665Mbps at 20fps. There is NO data compression in this release. Audio is streamed uncompressed, 16bit at 44.1Khz stereo. We use a HDMI capture card from Blackmagic (Intensity model) on Micorsoft Windows. A Windows installer is provided in the SAGE distribution.
iHDTV
iHDTV(tm) is a software suite consisting of software modules that work with commercially available components to capture, packetize and transport high-definition video in various formats over Internet Protocol networks, spanning the range of HDTV quality levels, with the goal of providing wider access to high-definition content. Developed by ResearchChannel along with the University of Washington, iHDTV(tm) was first demonstrated in 1999. A SAGE module was developed by the ResearchChannel team.
UltraGrid
UltraGrid from Laboratory of Advanced Networking Technologies (ANTLab) is a software for real-time transmissions of high-defintion video. It is a fork of the original UltraGrid developed by Colin Perkins, Ladan Gharai, et al.. Our work is supported by CESNET research intent "Optical Network of National Research and Its New Applications" (MSM 6383917201) and partially also by Masaryk University research intent "Parallel and Distributed Systems" (MSM 0021622419). A SAGE output module (using DXT compression) was added by the CESNET group.
i-Visto
a network-based multi-rate video transmission system handling up to 1.5 Gbps uncompressed HDTV video. The system in configured with an i-Visto gateway, HDTV camera, media server, and manager, seamlessly connected by an IP-network based on MAPOS. NTT developed and commercialized the worldÕs first IP-based video transmission system handling up to 1.5Gbps uncompressed HDTV video. The "i-VistoÓ provides a new generation video network solutions over an IP network. A SAGE streaming module was developed for various technical demonstrations.
ishare
High-speed desktop sharing in RGB24 or DXT format. MacOSX only, since it uses native calls to access the desktop pixels. A 1024x768 desktop uses 377Mbps uncompressed or 62Mbps compressed. It uses only ~30Mbps at 10fps in compressed format.
SVC
Scalable Visualization Consumer (SVC) receives MPEG2 datathrough IEEE1394, files on disk or network interface anddecompresses it for streaming to a tiled display using SAGE. Tobe shown on a tiled display, MPEG2 data has to be decompressed, split as sub-images and streamed to the appropriate display nodes.The reason for decompression is that compressed data cannot be split up easily for streaming to separate nodes. We used this software foriGrid2005 demonstration to stream HD video captured by an IEEE1394 HD Sony camera. It shows a 30fps frame rate and uses 650Mbps ofnetwork bandwidth.
VNCViewer
Virtual Network Computing (VNC) graphical desktop sharing system that uses the RFB protocol to remotely control another computer. We have developed a Virtual Network Computer (VNC) protocol client that enables the user to bring desktop content to the SAGE environment. Our VNC application is a regular VNC viewer program modified to serve as a proxy between a VNC server (of any size and pixel depth) and SAGE. Once pixels are retrieved from the VNC server, the same pixels are given to the SAGE API for immediate display. Functionality is critical in a collaborative environment, where each scientist with his/her laptop needs to share information (web browser, presentations). SAGE supports any number of simultaneous VNC applications, making use of the large real estate offered by high-resolution tiled displays.
wshare
High-speed desktop sharing in RGB24 or DXT format. Windows only, since it uses native calls to access the desktop pixels. A 1024x768 desktop uses 377Mbps uncompressed or 62Mbps compressed. It uses only ~30Mbps at 10fps in compressed format.
Scientific Visualization
Scientific visualization applications
JuxtaView
JuxtaView is a cluster-based application for viewing ultra-high-resolution images on scalable tiled displays. Through SAGE, JuxtaView enables a user to interactively roam across potentially terabytes of distributed, spatially referenced image data sets, such as those generated from electron microscopes, satellites, and aerial photography. Using large amounts of bandwidth, SAGE enables the domain scientist to bridge distributed resources, including storage, rendering, and display clusters.
VRA
VRA provides a volume visualization solution that allows scientists to render very large volumetric datasets on scalable high-resolution displays. It uses a methodology that employs a multi-resolution octree, an image-order data distribution method, a distributed shared-memory data management system, a multi-level cache, and hardware accelerated rendering techniques to produce a solution that is scalable in terms of input data size and output resolution.
bitplayer
The National Center for Supercomputing Applications (NCSA) developed an high-resolution movie playback tool which reads raw HD images fromthe disk and display them using OpenGL. We ported this software to the SAGE environment and used it since iGrid2005 demonstration of HD video streaming (1920x1080) from Amsterdam and Chicago to a large tiled display in San Diego. Bitplayer supports uncompressed (RGB24) and compressed (DXT) content at any resolution (mostly used for HD and 4K content).
OpenGL capture
Numerous scientific applications and visualization packages are using the OpenGL API (OpenDX, VTK, or Paraview for instance). The success of Chromium and WireGL shows a need to support native OpenGL applications in binary mode (without source code modification). We developed an OpenGL wrapper library along the scheme used by WireGL: using a shared library mechanism, we only capture the calls to the glSwapBuffer function and add a pixel readback step. The captured pixels are then streamed to SAGE. This is an efficient and extremely easy mode to port native OpenGL application to SAGE. The performance is sufficient to run 1280x1204 resolution application at an interactive frame rate. The new generation of PCI-express graphics card will even increase the performance several times. Applications known to work: Paraview, Enliten from Ensight, iVew3D from IVS, Google Earth...
MagicCarpet
MagicCarpet is a cluster-based ultra-high-resolution image viewer for scalable tiled displays. Unlike JuxtaView, MagicCarpet uses pre-processed multi-resolution images that reside on the local disk. The software loads appropriate detail at different zoom levels by paging texture data to video memory on demand. The aim of MagicCarpet is to provide interactive rendering of large data that is suitable for fast-paced and demanding settings such as museums. MagicCarpet supports both local and remote user interfaces and the choice of interface may depend on the given context. In addition to multi-resolution, time dependent datasets can also be displayed by software. MagicCarpet uses VTK to visualize data, and it can either work as a standalone application or render to the SAGE tiled display manager. Future versions of MagicCarpet may allow on-demand generation of levels of detail without the requirement of pre-processing, once it is integrated with OptiStore.
Volvis
Vol-a-Tile is an interactive tool for exploring large volumetric data on scalable tiled displays. Hardware texture mapping and level-of-detail techniques provide interactivity while OptiStore, the data management server, provides the high performance I/O needed to stream data from storage to the nodes driving the tiled display over high-bandwidth photonic networks. Vol-a-tile is designed to handle common data management operations, including loading data, and maintaining meta-information about the data, such as dimension and scaling. In addition, OptiStore provides data processing capabilities, such as run time gradient/histogram generation, sampling, and cropping by utilizing functionality in VTK. Network connectivity is provided through the QUANTA network toolkit, which utilizes aggressive network protocols. Since Vol-a-Tile is an OpenGL-based application, we added a pixel readback step at the end of the rendering phase. These pixels are streamed for display using SAGE. This minimal modification to the source code can be added to any OpenGL applications and it is an easy way to port various open-source applications to SAGE. Given the fill-limited performance characteristics of volume rendering applications (Vol-a-Tile uses OpenGL 3D textures and fragment shaders), the application runs faster on a cluster of machines where each rendering node generates a sub-portion of the final image. SAGE recombines all the streams and provides the user with a coherent picture, which can be moved and scaled on any portion of the tiled display.
Tutorial
Samples to learn how to integrate your own application with SAGE
atlantis
Sample OpengGL application (using GLUT toolkit). Uses glReadPixels call to read the pixels off the graphics card and streams them for display. Versions using FBO (frame-buffer object) and MPI are also provided.
render
Another OpenGL example. A version for MPI is also provided.
checker
Simplest SAGE application, which streams a memory buffer. Buffer size and frame rate can be configured from the command line.
dxt
Two sample applications showcasing the use of the DXT pixel format. One just loads a DXT file, the other uses ImageMagick to load a picture from disk, compresses the pixel into DXT format, and streams the resulting buffer.
yuv
Sample making use of the YUV pixel format, mostly used in video applications (movie player, HD video capture, etc)
User Interfaces
How to interact with SAGE and SAGE applications.
SAGE User Interface
The SAGE UI is designed to be a cross-platform graphical user interface window manager for SAGE. Instead of relying on a command line tool for manipulating windows on the SAGE display, a graphical representation of the tiled display configuration and the location of the window can be directly manipulated by the user from his/her machine. One of the features of SAGE is that communication between any SAGE client and fsManager is done using text messages. By using a text-based communication method, different types of SAGE clients can interact with fsManager, thus allowing great flexibility in the programming language used to create the SAGE client. Since SAGE was designed with collaboration in mind, multiple SAGE UIs can be used to control one SAGE environment at the same time. Each SAGE UI will show the same state, being the current state of the tiled display. SAGE UI is written in Python and uses the wxWidget toolkit, so it is very portable (runs on Windows, MacOSX, Linux). It contains a panel to start/stop SAGE, a panel to configure most of SAGE services, and control over the application launcher.
- Developer: EVL
- Last update: 03/21/2009
- Distribution mode: bundled with SAGE distribution
- Download page: http://www.evl.uic.edu/cavern/sage/download.php
- Institution: Electronic Visualization Laboratory
Web User Interface
The SAGE web display controller is a web application built using AJAX and Javacsript that allows users to control the SAGE displays. The applications works on standard web browsers like FireFox, Internet Explorer, Safari (Mac). The current web user interface provides a minimum subset of functionality of the stand-alone version. It was primarily developed to make it easy for a user with minimal knowldege about SAGE, to use the SAGE displays for their work. It connects to multiple SAGE sessions simulatenously. Move, resize, minimize and maximize application windows functions are implemented. One can share a desktop through VNC (Note: For desktop sharing you need an VNC server running on your local machine). A server implemented with the 'Apache Tomcat Servlet Container' is required to run on a fix machine (often your frontend machine).
- Developer: EVL
- Last update: 03/21/2009
- Distribution mode: SAGE add-on
- Download page: http://www.evl.uic.edu/cavern/sage/sagewebui/
- Institution: Electronic Visualization Laboratory
SAGE Widget Framework
The framework is a set of widgets (UI controls) that can be used to create user interfaces for the SAGE-driven display or applications. Applications can create widgets using a simple API exposed through SAIL and can receive events from these widgets (e.g. menu item selected). No drawing or event management is required by the application itself. Because the framework is distributed and scalable, it can be transparently used by local or remote applications and on any display size, without assigning widget parameters specific to the target display environment (and without aliasing). Initial set of widgets includes: button, icon, label, menu, panel and sizer.
- Developer: Sharp Labs of America and EVL
- Last update: 03/21/2009
- Distribution mode: restricted
- Download page: #
- Institution: Electronic Visualization Laboratory
Physical Interaction Devices
In order to interact with the above-mentioned widgets, one needs a physical interaction device. While a regular mouse can be used on the wall from the SAGE master, it is not very suitable for wall-sized displays because it restricts users to a hard surface. Therefore, we have integrated several other mid-air devices: Gyromouse, joysticks, trackballs, 6 degree-of-freedom magnetic trackers and Nintendo Wiimote. While each device has it's own advantages and disadvantages, the Nintendo Wiimote seems to be the preferred device because it's inexpensive, intuitive and easy to set up. However, because it was developed with home TV screens in mind, it doesn't scale very well to large high-resolution displays. Therefore, we have designed and developed a new tracking algorithm that improves Wiimote accuracy without requiring any changes to the hardware itself. Direct Interaction Manager (DIM) allows multiple devices (not necessarily of the same kind) to simultaneously interact with any of the applications on the display. Each device can start/stop applications, manipulate windows (move, resize, maximize, minimize) and interact with the applications or their user interfaces through SAGE Widgets.
- Developer: Sharp Labs of America and EVL
- Last update: 03/21/2009
- Distribution mode: restricted
- Download page: #
- Institution: Electronic Visualization Laboratory