GSoC project: new graphics backend

Ben Abbott bpabbott at mac.com
Sun Mar 22 09:38:35 CDT 2009


On Mar 22, 2009, at 10:01 AM, Eric S. Carlson wrote:

>
> Hello Arseniy
>
> IMHO, if you want to do the biggest favor for the Octave community,  
> you
> should consider creating interfaces to the python libraries  
> matplotlib (2D)
> and Mayavi2 (3D) and possiby basemap. These are all incredible  
> plotting
> packages, and it is straighforward to create the hack. The plotting  
> packages
> are platform independent and can be embedded using either WX widgets  
> or QT
>
> Two years ago, I developed a Windows-based GUI for Octave, the primary
> purpose of which was to allow students to take on-line exams in a
> restrictive environment while still having access to most Octave  
> commands.
> As part of this GUI, I set up matplotlib as the primary 2D plotting  
> engine.
> The 2D plots are beautiful and the performance has been decent. I  
> was never
> able to make 3D behave well with the GUI, but Mayavi2 has been  
> overhauled
> and would work very well now.
>
> My interfaces deviated from standard, because I did not have the  
> motivation
> to write all the specialized parsers and translators required to  
> make it 99%
> compatible with "the real thing." Since my distro was limited, I did  
> not
> worry about it. I have not studied the parsers already available with
> Octave, but I suspect that minor tweeking of these would get the job  
> done.
>
> I would be happy to help with the proposal or the work if you are
> interested.
>
> Cheers,
> Eric Carlson

Eric,

I'd be interested in a brief summary of what is needed to use python 
+matplotlib+Mayavi2 to implement a functional backend for Octave.

Do you recommend a binary interface, or might a pipe be used?

Also, does python allow the plot window position and size to be set?

If so, if the window is moved via the mouse, is the python able to  
detect the window was moved and determine the new window position/size?

What about the printing capabilities?

Ben



More information about the Octave-maintainers mailing list