Tool Interoperability using PLASTIC

What is PLASTIC?

PLASTIC stands for the PLatform for AStronomical Tool InterConnection. It is a protocol which allows tools on the desktop to communicate with each other. Briefly, the way it works is that applications can send messages to a central hub process which will then pass them on to other applications which can respond to them in some appropriate way. The messages are things like "load this table" or "point at this position on the sky". Applications which currently talk PLASTIC include TOPCAT, Aladin and various tools from the AstroGrid project.

You can find more information about how it works, what applications are compatible, and how it can be useful at the PLASTIC web site.

How do I use GAIA with PLASTIC?

In order for PLASTIC communications to work, a PLASTIC hub must be running on your machine. This is not part of GAIA and you will have to start it up separately. The recommended way to do this is currently to run the AstroGrid Workbench, which can be started using Java WebStart by following links on the AstroGrid website.

If the hub is running when GAIA starts up, GAIA will connect to it ("register") automatically. If you start the hub while GAIA is already running, you can connect to it by selecting the "Register" option from GAIA's "Interop" menu. When registered, GAIA will listen out for messages from other applications and act on them. You will also be able to send messages to other applications. If you want to stop GAIA responding to any such messages, you can select "Unregister" from the same menu.

In most cases, sending a PLASTIC message from GAIA is controlled using one of its "Interop" menus. For a given action these often have two ways to transmit a given message: "Broadcast ..." and "Send to ...". For "Broadcast", all registered applications which understand it are invited to do something with the message. For "Send to" there is a submenu which allows you to choose which single application to direct the message to. Only applications which claim to understand the particular message will appear on such submenus (which means that this submenu may be empty, depending on what other PLASTIC-aware tools you've got running).

What PLASTIC facilities does GAIA support?

GAIA can both send and respond to messages in two general application areas: image-related and catalogue-related (a third category of housekeeping messages is not discussed here). The messages and how to use them are listed below; the message ids (strings starting "ivo://") are the formal identifiers for these messages - if you are not an applications programmer you can ignore these.

Image-Related Facilities

Load image (ivo://votech.org/fits/image/loadFromURL)
If an image is sent from another PLASTIC application to GAIA, it will be displayed in GAIA's existing base image window. You can send an image from one of GAIA's windows to one or all of the other registered applications by using the "Broadcast/Send Image" options in the "Interop" menu on the relevant image window.
Highlight Position ivo://votech.org//sky/pointAtCoords)
If a Highlight Position message is received from another application, it will plot a marker (green circle) at the indicated spot on GAIA's base image window, as long as the point falls within the bounds of the currently displayed image.

Catalogue-Related Facilities

Load catalogue (ivo://votech.org/votable/loadFromURL)
If a table is received from another application, it will appear as a new catalogue query window associated with GAIA's base image window. Any positions it contains which are within the bounds of the current image will be plotted as symbols over the image as symbols. This window will have an "Interop" menu which can be used for communicating information about one or more selected rows within the table between GAIA and other PLASTIC applications which have a copy of it.
Highlight Selection (ivo://votech.org/votable/showObjects)
If another application sends this message concerning a catalogue which has already been sent over PLASTIC, the current selection for that catalogue will change, both the rows visible in the query window and the symbols plotted on the image. You can send a selection of points from the catalogue window to other applications displaying the same catalogue using its "Interop" menu: the "Broadcast/Send current search" options send all the visible rows, and "Broadcast/Send current selection" send only the currently selected ones (rows highlighted in blue in the query window).
Highlight Row (ivo://votech.org/votable/highlightObject)
If the query window's Interop menu has the "Selection broadcasts row index" checkbox ticked, then if you select a single row either by clicking on it in the query window or by clicking on its symbol in the image, this message will be sent to other applications to invite them to highlight that row. Similarly, if other applications send similar messages about this to GAIA, it will respond by highlighting the relevant row and symbol.
Highlight Position (ivo://votech.org/sky/pointAtCoords)
If the query window's Interop menu has the "Selection broadcasts row position" checkbox ticked, then the sky position associated with the row will be broadcast to other applications when a single row is selected. They may respond by highlighting that position on their own sky images. Note that unlike the other catalogue-related messages, this may have an effect for applications which don't have the same catalogue loaded.