Extending and customizing iplt
Extending and customizing IPLT can be done on multiple levels and in various forms, since the framework consists of several well defined layers. In particular, the transition between Python and C++, i.e. crossing the language barrier, should be fairly smooth, since the vast majority of class names and methods available in the IPLT Python API is identical to the ones in C++.
The easiest way is certainly to write little scripts or larger modules in Python, which can be called either from the command-line (iplt) or graphical version (giplt) of IPLT, combining standard Python code with specialized IPLT functionality.
Graphical user interface elements can be added on the Python level using PyQt4 See this tutorial for an example on how to do this. A second possibility is to write Overlays for the DataViewer. As a third way, stand-alone widgets can be written in C++ using Qt4.
Image manipulation routines are added using algorithm objects, either on the level of the BaseImageHandle, using custom data algorithms, or with more more involved, yet more powerful custom image state algorithms, accessing the image states directly.
