Hi Roberto,
Welcome to PixInsight Forum.
That said, I don't think PixInsight is intended to be a general computing environment, so if the answer to me wanting to generate plots within PixInsight is "use something else" I'll fully understand that.
Just the contrary. We do support your project and encourage you to start it. We'll be glad to help you. In fact, a data/function plotting tool or toolset is already in our list of medium-term priorities, so your initiative is very welcome.
Before I embark upon this I would welcome some advice on how to handle the production of scientific graphics within PixInsight.
As you probably know we have two development frameworks in PixInsight: The PixInsight JavaScript Runtime (PJSR) and the PixInsight Class Library (PCL). I don't see any problem to develop your project on any of both frameworks. However, given the potential complexity of a plotting tool, I think PCL may be your best choice.
PixInsight is a modular system. PCL is essentially a collection of C++ classes that allow you to define a module that communicates with the core PixInsight application. Besides this infrastructure, PCL provides a reasonable set of image processing algorithms and tools, including convolutions, morphological transformations, Fourier transforms, pixel interpolations, geometric transformations, wavelet transforms, etc. We have some Doxygen documentation on PCL here:
http://pixinsight.com/developer/pcl/doc/html/Among the set of PCL classes you'll find
Graphics and
VectorGraphics, which derive from the
GraphicsContextBase class (both classes are nearly identical; the difference is that Graphics works with integer coordinates while VectorGraphics uses real coordinates). These classes along with
Bitmap and
SVG provide access to most of the graphics generation functionality of the PixInsight platform. Unfortunately, Graphics and VectorGraphics are poorly documented, but both are rather self-explanatory and you can count on us to help you solve any doubt on this forum.
We are currently working on version 2.0 of PCL, which hopefully will be available in 2-3 months. PCL 2.0 will be an open-source library (PCL 1.x is only partially open) under
PCL License. PCL 2.0 will introduce many improvements, some C++11 support (optional), a more elegant and efficient object model and more image processing power, but it will be fully compatible with modules written around PCL 1.x.
The best way to get started out with PCL programming is to begin playing with the Sandbox module. You have Sandbox's source code in the standard PCL distribution, which in turn is available from our
software distribution site. In the first and only issue of
PixInsight Magazine (too bad we haven't been able to continue this project!) you'll find also an introductory article on PCL and the architecture of the PixInsight platform.