Tackling the issue of image processing via plugins: the example of pyds9plugin
Current fits viewer applications (SAOImage DS9, Aladin, GINGA, Glue) have been developed to optimize the visualization of astronomical images while keeping some interesting specificities: linked-data exploration, interactive sky atlass access, flexible and extensible visualization toolkit, etc.
Not initially designed for image processing, these software do not address this need as it would break their conceptual integrity. This leaves it to big instrument consortium who will design their own data processing pipeline which will, most of the time, be too specific to be re-used by the astronomy community.
For this particular discipline evolving towards Jim Gray's fourth paradigm and where important part of the job relies on astronomical images analysis, this draws a new challenge for current and future imaging software:
mimic what has been done for bio image analysis by addressing the current frontier of image processing.
Among the different difficulties that need to be addressed to make the processing software beneficial (catalyze code collaboration, extensibility, multi-image analysis), one key aspect is to keep the essential high level interactivity between the data and the user which became a consensual feature for visualization.
For a number of reason that I will go through in the talk, the development of plugins for fits viewers application represent a very interesting way to take up the challenge of developing image processing tools and address the related difficulties.
I will then use this talk to introduce you pyds9plugin: a naive simple attempt to design such a plugin.
This DS9 quick look plugin is a public domain versatile extension I designed for DS9 visualization software.
The plugin pushes DS9 visualization software a step further, by allowing to analyze and process in real time these images while keeping a high level of interactivity. The processing functions can then be generalized automatically to a set of images, to turn the quicklook tool into a real multi-processing pipeline.
This plugin incorporates essential functions (radial profile, 2D/3D fitting, trough-focus, stacking, background removal, source/artefact extraction, etc.) to extract quantitative and comprehensive information from imaging data sets in order to support instrumentation, reduce your observations, analyze the performance of your data, etc.
We also linked the most famous astronomical codes (SExtractor, SWARP, etc.) to the plugin to allow research-grade analysis and processing.
As all researchers have different needs, the plugin is designed in a comprehensive way so that everyone can easily add its own macros that can then be run quickly and automatically on a set of images thanks to multi-processing.
This Pyds9plugin, available both on Pypi and Github, tries to gather a glimpse of all the possibilities that offers DS9 extensibility so that it motivates astronomers exploring this implementation approach.