Next: Automatic Sequencing for Experimental Protocols
Previous: Remote Observations in the Near Infrared
Table of Contents --- Search --- PS reprint


Astronomical Data Analysis Software and Systems V
ASP Conference Series, Vol. 101, 1996
George H. Jacoby and Jeannette Barnes, eds.

The VLT Real Time Display

T. Herlin, A. Brighton, P. Biereichel

European Southern Observatory, Garching, Germany

Abstract:

The VLT Real-Time Display (RTD) software was developed in order to support image display in real-time, providing a tool for users to display video like images from a camera or detector as fast as possible on an X-Server.

The RTD software is implemented as a package providing a Tcl/Tk image widget written in C++ and an independent image handling library and can be used as a building block, adding display capabilities to dedicated VLT control applications.

The RTD widget provides basic image display functionality like: panning, zooming, color scaling, colormaps, intensity changes, pixel query, overlaying of line graphics. A large set of assisting widgets, e.g., colorbar, zoom window, spectrum plot are provided to enable the building of image applications.

The support for real-time is provided by an RTD image event mechanism used for camera or detector subsystems to pass images to the RTD widget. Image data are passed efficiently via shared memory.

This paper describes the architecture of the RTD software and summarizes the features provided by RTD.

1. Introduction

The Very Large Telescope project of ESO will contain a large number of technical CCD's, which will be used for guiding and slit-viewing cameras requiring real-time display facilities. The frequency of image display from these images sources can be several Hz, for example while performing tracking. For scientific detectors, real-time display capability is equally important. In particular, requirements for infrared detectors have been a driving force in specifying the functionality for a real-time display system.

The Real Time Display (RTD) software was developed in order to support image display in real-time on the VLT. The RTD software provides a tool for users to display video like images from a camera or detector as fast as possible on any X-Server. The RTD is implemented as a package providing a widget and library. It is designed to be a building block, adding display capabilities to dedicated VLT applications in areas such as telescope and instrument control.

The intention of RTD is not to provide the image processing functionality already existing with image processing packages such as MIDAS. Functional overlapping with image processing systems is kept to a minimum and confined to the area of on-line operations.

2. Functionality

The core of RTD is a image display widget which supports two image sources: cameras and FITS files. The camera is either a technical CCD or scientific detector, which provides the image data in shared memory. The RTD widget is notified via an image event mechanism by the camera that a new image is available. See below for more about real-time images.

Figure 1 shows a typical screen layout when working with the RTD widget. The application shown was designed for demonstration purposes and shows an image loaded from a FITS file.

  
Figure 1: The VLT RTD widget used in a demo application.
Figure 1: PS 412 Kb

The user can change the magnification of the displayed image, zooming in to get a close-up view of a section of the image or zooming out to get an overall view of a large image. A panning window supports navigation on the image and a zoom window enables the targeting of a single pixel.

The RTD widget supports a basic set of color scaling algorithms: linear, square-root, logarithmic and histogram equalization. MIDAS compatible color-maps are supported by the RTD widget as well as the MIDAS intensity transfer tables. The colors can be manipulated by a colorbar rotating the colormap or changing the slope of the intensity via mouse interaction. The color distribution can be changed by either manually setting the cut-levels or using automatic cut-level calculation.

The widget supports line graphics so that the user can overlay markers and text on the image. This might be used, for example, to identify interesting areas around a star. Standard line graphic components such as line, circle and text are available and can be drawn interactively on the image. Line graphic attributes such as line width, color, filling, font, etc., can be set by the user via buttons and menus. In addition to the interactive line graphics, a programatic interface is available to support overlaying of more complex line graphics, such as star maps taken from a catalog.

Pixel query operations are supported at various levels:

Another level of pixel value inspection is supported by a spectrum plot along a cut line drawn interactively on the image. The pixel values are displayed in a separate graph window.

The RTD widget provides a library with basic image handling functionality referred to as the Real Time Image (RTI) library. In addition to basic image handling algorithms, the RTI library provides a data access framework for application developers supported by a well defined application programming interface (API). This enables developers to contribute to and extend the image handling capabilities of the library.

3. Real Time Images

In order to use the RTD widget for real-time, an image event mechanism is provided by the RTD software. The image event is sent by the subsystem controlling the camera device, e.g., CCD subsystem or infrared detector control software. The image event contains information about the image, for example, data-type, size and the reference to the shared memory location for the image data. The event is sent to an RTD server process which keeps a list of RTD applications registered for notification of a specific camera. If there is a match, the image event is dispatched to the corresponding RTD application.

The advantage of using this decoupled approach is that the camera subsystems and the RTD applications become independent of each other and several RTD applications can attach to the same camera source.

The RTD server will also support eavesdropping which is the multi-casting of images to remote machines, which could be used, for example, for remote observing. For eavesdropping issues, such as network bandwidth and image compression techniques, e.g., H-transform will be investigated.

Updating images in real-time places a high demand on the CPU and the network. For some images the variation between exposures is only interesting in a small area. In this case, a rapid frame can assist the selection of a specific area, for example around a star. This typically small frame can be updated faster than the rest of the image while the user still sees the complete picture. By using rapid frames an image update frequency of more then 10 Hz is expected to be possible.

4. Implementation

The RTD widget is implemented as a Tcl/Tk (Ousterhout 1994) widget using C++. The RTI library is also implemented in C++ but as an independent library. In order to support fast application development with the RTD widget, a large set of [incr Tcl] widget classes are provided as building blocks for, among other things, a zoom window, a panning window and a line graphics tool-box.

Although Tcl/Tk code is interpreted, the performance of the RTD widget when updating images in real-time is not degraded. This is due to the fact that all image related operations are implemented entirely in C/C++. Only the user interface parts of the software, such as buttons and menus are actually interpreted at run-time.

The image event mechanism uses standard UNIX IPC and image data is passed using shared memory as recommended by the real-time extension standard POSIX.4.

The display on X-terminals is supported, although for very fast image display frequencies, workstations are recommended. In addition, on workstations the X11R5 extension for X Shared Memory is supported, giving the final boost for passing the scaled pixmap to the X-Server.

The software has been ported and tested on following workstation platforms: HP (HP-UX) and Sun (SunOS & Solaris 2.3).

For people interested the RTD user manual is accessible on anonymous ftp via WWW: ftp://te1.hq.eso.org/vlt/pub/doc/rtd_sum1.0.ps.gz.

For more information on the RTD software please contact Thomas Herlin via e-mail: therlin@eso.org.

References:

Ousterhout, J. K. 1994, Tcl and the Tk Toolkit, (Addison-Wesley)

MIDAS 1994, MIDAS Users Guide NOV94, ESO


Next: Automatic Sequencing for Experimental Protocols
Previous: Remote Observations in the Near Infrared
Table of Contents --- Search --- PS reprint
Wed Jul 3 07:45:42 MST 1996