Scientific Libraries in Python
Prabhu Ramachandran
prabhu at aero.iitm.ernet.in
Fri Nov 16 02:45:09 EST 2001
>>>>> "FP" == fperez528 <Fernando> writes:
FP> Chris Barker wrote:
>> Nice Summary of the state of the art:
I'll second that. :)
Here is my take.
>>> Visualization:
>> plot(x,y)
>>
>> but you can also get access to all the properties of the plot,
>> so that you can customise things as much as you like. I think
>> all plots are created by a set of only three types of
>> primitives, a line, a patch (surface), and a text object. It
>> really works pretty well. I also believe that all plots are 3-d
>> with 2-d plots being a special casse, where z=0 everywhere, and
>> the view is from the top.
IMHO, its not a great idea to make the same package deal with 2d and
3d. The needs and requirements are simply not the same. I agree that
we need a plotting utility for both 2d and 3d. AFAIK, the scipy plt
and gplt interfaces provide a good start for 2d plots.
http://www.scipy.org/site_content/tutorials/plot_tutorial
GracePlot is also very nice but as you say isnt tied close enough to
grace. So what we need is one tool that does 2d plots and provides
access to low level stuff (if you want) but also exposes a nice high
level and GUI Interface. We need a similar tool for 3d. Writing a
wrapper that combines these two is not hard but putting them both in
the same package is a pain on both sides -- the 2d person has to worry
about 3d and vice versa. So long as both 2d and 3d plots are
scriptable and useable there really is not a need to tie them all
together very tightly.
FP> I didn't mention graphite b/c it seems dead. I know Mayavi is
FP> active, it's based on a high caliber underlying toolkit (vtk)
FP> and it looks very nice. I think the underlying toolkit *has*
FP> to be written in C/C++. Volume rendering for large datasets is
[snip]
FP> I tend to think mayavi has the right approach: OpenGl is too
FP> low-level. The vtk people have already done a lot of *very
FP> hard* work. It would be silly to ignore that, IMO. And from a
FP> recent post from mayavi's author, he seems to be working on
FP> providing full python access to the system (while also
FP> offering the gui). I don't want to seem biased, I don't even
FP> know the mayavi author and have only superficially looked at
FP> the stuff. I just have a hunch that he's going in the right
FP> direction, and that (perhaps with some modifications) that's
FP> the best bet for the graphical part at this point.
Thanks for all the positive comments and attention! I'm very glad
that MayaVi features in your Python for scientific tools so
prominently. :) Here are a few things I'd like to bring to your
attention about MayaVi:
(0) MayaVi will not do simple x vs y plots and stuff. While it does
support 2d data for contouring, streamlines, scalar/vector plots
etc. its simply not made for the things that grace does so well like
draw this line with these ticks, stack 4 graphs here, put this label
here, that legend there, etc. etc.
(1) The MayaVi CVS code is scriptable and is pending a release, I'm
still stuck on the web pages etc. Yes, its scriptable and provides
access to the internals but the internals are not so clean. This is
because it was not designed for scriptability and this feature is
new. Cleaning up the interface and making improvements is in my
TODO and hopefully will be seen in future releases.
(2) The biggest problem right now is that almost all of the MayaVi
stuff is pretty much a one man show currently. I have to write the
code, write the docs, answer questions, make the web pages, make the
announcements, basically do *everything*. I do receive very useful
patches and improvments from folks but I still have to do way too
much.
To top it all VTK is a beast and not at all easy to get installed.
On a PIII 450 m/c its easily a 2+ hour build. To make it easier to
install I made rpms a couple of years back but the new VTK 4.0 tree
has changed many things. I also made experimental debs and Maitland
Bottoms is packaging VTK debs for the next Debian release. Mayavi
needs VTK to run and making VTK easier to install is an important
goal but one for which I am running out of time. This whole MayaVi,
VTK deal is simply my spare time project to give back to the OSS
community. It is now taking up alarming amounts of my time. I am
supposed to be doing my PhD in Aerospace Eng. and need to get back
to serious research. Apart from all this I also have other
interests.
In short, I need HELP! Its pretty much impossible for me to keep up
with my current schedule. It would be nice if someone could atleast
take care of the web pages and documentation. It would be truly
wonderful if I had more developers to help. I agree that finding a
person with a good knowledge of Python, Tkinter and VTK might be
hard but even if someone who is even good at one of these joins the
project and gives it a good shot I'll be very happy. Of course the
person has to be sincerely interested in visualization and MayaVi.
I obviously don't want someone to make a mess of things and give me
any more work. :)
(3) Due to the above, after the next release, I'm not going to be
very active with MayaVi for atleast a couple of months. :( Its not
that the project is going to die, but if I dont do this I run the
risk of dying. ;)
Since MayaVi seems to be so well received by the community I hope
someone decides to seriously help with its development. :) If that
does not happen the progress will definitely be slow since it will be
limited by my spare time.
FP> Well, let's keep it going. I don't like cross-posting and
FP> don't really know the Numeric and SciPy people, but if someone
FP> knows them and is willing to drop them a reference of this
FP> discussion it might be a good idea to hear what they think.
Yes, I know Eric (from SciPy) well. He usually does track c.l.py but
is busy. Have told him about this thread and plan to keep him posted.
Travis Oliphant also seems to be looking at this thread. So we
atleast have the scipy folks attention. I dont know if Konrad Hinsen
is following this though.
prabhu
More information about the Python-list
mailing list