Plotms is a visualization application for telescope data; it also allows interactive flagging of visibility data (for example, identifying bad data that may have been contributed by a specific antenna during an observation). It produces scatter plots of measurement set data: time, spectral window, channels, amplitude, antenna, azimuth, elevation, etc. Both raw, uncalibrated data and calibrated versions of the data can be graphed.
Astronomers use Plotms in two different ways: through an interactive GUI and by Python scripting commands. The interactive GUI is built from a C++ library of generic user components which wrap Qt widgets. The plotting/graphing capability is implemented in Qwt. The Python scripting version of the tool has become increasingly important because large datasets have made human interactive flagging and examination of measurement sets less feasible. In the future, the main use of Plotms may be through Python scripting in a data reduction pipeline which stores Plotms images in an archive with the data for astronomers to examine offline, after the data is processed. Recent work on the tool has involved refactoring the code to enforce separation between the client view layer and the plot engine in order to support a specialized script client.
The challenge of dealing with large data sets is also driving Plotms refactoring efforts at the data access layer. The current architecture attempts to minimize the I/O burden by caching the data values for the plot in as efficient a manner as possible. It also attempts to predict the memory that will be required for a plot, posting a warning when there is insufficient memory to support a plot. Options are also available for plotting subsets of the data through selection or averaging with iteration available through an index into the cached data. However, there is a limit to how much data can be handled and processed on a personal computer or workstation. Moving large data sets from an archive to a personal computer system is also an issue. In order to support the large data sets of the future (on the order of 1 terabyte) the data access and computation layers are being refactored so they can run remotely on a super computer and then be sent to the plot engine, located on the astronomer's workstation for rendering.