By using the Tcl send command, a second Tcl application can control skycat and do basically anything. However, skycat offers an interface for using send that consists of a number of member procs in the SkyCat class. These procedures are well suited for use by a remote application, since they do not require any widget names. Of course this interface can also be used from within plugins or other Tcl code.
The RTD ( Real-Time Display ) documentation has a section in the User's Guide describing a remote socket interface. This interface applies to Skycat as well. See the RTD documentation for more details. The socket interface works in basically the same way as Tcl send , except that you can use it from a non-Tcl based application. You can send any rtdimage commands over the socket to be evaluated. One useful rtdimage command is remotetcl , which evaluates its argument in RTD's Tcl interpreter.
The RTD documentation also describes the use of sysV shared memory. You can keep the image data in shared memory and use Tcl send or the RTD socket interface to tell skycat when to update the image.
rtdServer , the real-time server daemon used in VLT software, can be used with skycat or rtd to display images rapidly from shared memory. See the RTD documentation for a detailed description of this.
Skycat and rtd use mmap to map image files to memory, since this is more efficient, especially for very large images. Applications can take advantage of this fact by modifying the image data in the file and then signaling skycat or rtd to redisplay the image.
Please send questions or comments to abrighto@eso.org.
Copyright © 1998 ESO - European Southern Observatory