ChIPS - CIAO’s New Visualization Plotting Package

The Chandra Imaging and Plotting System (ChIPS) is the visualization package for CIAO Chandra Interactive Analysis of Observations. The CIAO4 release will include a new, substantially more powerful version of ChIPS which can be used for both data analysis and to prepare high quality plots for scientific publications. To achieve this, the entire ChIPS package was completely redesigned. ChIPS contains all the capabilities of previous versions, but was built around a new plotting engine, and its architecture allows easy upgrade and expansion. This paper describes the ChIPS architecture, its new capabilities, and greater flexibility. 1. A New Architecture with Greater Capability and Flexibility 1.1. Architectural Design ChIPS uses the client-server model, allowing the library to be used in a number of different modes. The ChIPS server expects to see visualization data arrays or attribute/value pairs from the client. The server doesn’t know or care if the data arrays came from ASCII or FITS files opened by command line commands, or arrays built within PYTHON, PERL, or S-LANG scripts, or a C/C++ program. To maintain GNU compatibility, ChIPS’ plotting engine was replaced. In previous versions of ChIPS, the plotting engine was tightly integrated with the wrapper code, making engine change difficult. Since the new engine might be replaced in the future, ChIPS was redesigned to facilitate plotting engine changeout. This is accomplished by building ChIPS in three layers: Base, Middle and Plotting engine. The “behavior” of the system look, feel, capabilities is captured in the Base layer. This behavior, and the bulk of the ChIPS code, remains even if the plotting engine changes. The bottom layer contains the new engine:VTK. Between these two layers lies the Middle Layer, whose purpose is to connect the behavior of the system to the VTK primitive calls. 1.2. New Capabilities ChIPS can be used in any one of four modes: • Command Line Mode: When ChIPS is invoked via a command issued in an XTERM window, the server is launched, and the XTERM becomes a client side command line interface. The user types ChIPS commands on 57