[IPOL discuss] ipol_demo, matplotlib and other modules [ Re: Noise estimation ready in dev. server ]

Miguel Colom Miguel.Colom at cmla.ens-cachan.fr
Thu Apr 28 16:54:07 CEST 2011

> I didn't study the matplotlib API stability. What I say is that we can
> not use another python module for the only reason that it is
> useful (or convenoient or nice). The only dependencies for the moment
> are cherrypy, PIL, tar/zip and sqlite modules, and there already are
> some compatibility problems, as explained before. I think we should
> only consider additional dependencies if they are useful and can not
> be replaced by internal tools and we have some reason to think they
> will be available without API break for a *long* time.

Well, a library to draw figures is a major need for the IPOL, in my opinion.
I think that the noise estimation demo is the first one that generates
figures, but many other demos will follow.
Figures are essential to show results in a scientific publication.

Implementing the figures inside the C code is waste of time. And the way
the data in a figure is presented should be absolutely decoupled from the
program that generates this data.

Using the PIL is also possible, but this library only offers simple image
manipulation, not the advanced 2D/3D plotting we need, like matplotlib.

> No one wants to investigate the 200 demos we may have in 2015, some
> written by people who went to other places, some badly documented or
> badly written, in order to update the server without breaking the
> service. Or if you want, please volunteer, but I certainly don't.

We need a consensus on what plotting library to draw complex figures
should be used. But we need one, for sure.

I propose matplotlib because it's very easy to understand, based on Python
(and it means that any modification on the drawing scripts is fast) and
allows drawing complex 2D/3D figures.

Its latest stable version was released three months ago, it's true. But I
don't think that the API would change in such a way that it breaks the
The benefits that we can get by using matplotlib overtake absolutely the

I open this discussion open and I hope to read more opinions from all of you!

More information about the discuss mailing list