Skip to content
Chris Beaumont edited this page Feb 19, 2014 · 10 revisions

Updated February 19, 2014

Near-term goals (Feb-April 2014)

The near-term development of Glue will be driven by some of the specific JWST use cases discussed during CNB's visit to STScI on February 16-19. These use cases include:

  • Increased functionality when interacting with spectral data cubes. Glue currently allows users to extract basic PV or PP slices from PPV cubes. We will add new features like: allowing users to extract spectra by clicking on a spatial pixel (optionally integrating over a small rectangular or circular region when extracting the spectrum); collapsing the cube to create moment/maximum intensity projections; the ability to fit basic gaussian/lorentzian line profiles to extracted spectra; add the ability to smooth data with gaussian/tophat kernels when dealing with low-signal data cubes.

  • Support for investigating multi-object spectroscopic data: users should be able to display an overview 2D image, and easily see what locations contain spectra. Users should be able to click on those points to examine the spectra.

  • Adding support for a new type of data linkage: users should be able to select a single point from a scatter plot, and view "thumbnail" details about that point (for example, a postage stamp or spectrum corresponding to the selected record). These thumbnails may be embedded in the catalog itself, or might be views into another image or cube.

Developing these features will involve getting regular feedback from other STScI scientists and engineers, as well as relevant test datasets. We are planning to hold bi-weekly teleconferences to discuss ongoing development.

Parallel to this effort, we will prepare Glue for a first labeled release (v0.1), with a release goal of April 1, 2014. This aim of this release is to ensure Glue's current functionality is well-documented. This will depend on feedback from test users at STScI. This release will enable gathering input from the wider community on desired features and improvements (with an emphasis on JWST needs, but not necessarily limited to those).

Mid-term goals (2-6 months)

We discussed making it easy to develop analysis plugins to, e.g., interface with common analysis packages such as STScI and Astropy Python-based analysis tools and libraries. It's infeasible for us to implement all the kinds of analyses users might be interested in performing, so it would be very useful if it were easy for users to develop such utilities themselves. Glue already has a basic framework for adding plugins, but we will need to add additional plugin hooks, as well as a utility for easily defining basic UI controllers.

We have been brainstorming about a new interface for integrating Glue with data sources that are too big (or too remote) to permit loading all data into RAM (e.g., databases, the virtual observatory, the yt package for astrophysical simulation analysis, ALMA cubes). The basic idea involves dealing only with small subsets of data, or data aggregates, to minimize data throughput requirements. We would like to flesh out this idea.

We have also discussed building a browser-frontend interface for Glue. This would circumvent Glue's dependence on Qt, and also open up the possibility of running Glue remotely. We decided that this isn't currently a high-priority for JWST, assuming we find an easy way to distribute the Qt framework to users. If that proves difficult, then the browser frontend might be given higher priority.

Finally, we would like to implement the ability to export sessions to human-readable scripts that allow users to replicate plots from a scripted environment. Glue already exports sessions to JSON documents, but we would like to develop a format which is easier for users to digest.

STScI Actions:

  1. Provide Chris with example data sets to use as test cases for the above described functionality.

  2. Install Glue generally at STScI for staff to start using so they can provide feedback on ongoing developments. In particular, this step is necessary for users to identify what gaps in documentation or features need to be filled before a release of Glue is made.

  3. Investigate whether Qt can be bundled with Ureka (either by eventually migrating Ureka to use Anaconda as a basis, or by supporting Qt directly). If it is feasible to distribute Qt, this lessens the importance of a web-based UI (though does not remove all drivers for it)

  4. Provide Chris with more specifics on how the near-term features should work in detail.