[SciPy-dev] Re: [AstroPy] Python version of IDL Astron library
eric at enthought.com
Tue Sep 14 02:54:35 CDT 2004
Travis E. Oliphant wrote:
> Since Tom invited me into the discussion, I will comment, despite the
> fact that I am not an astronomer.
>> Hi folks-
>> Sorry to have missed all of the interesting discussion on this; I was
>> at the HEAD meeting (on a panel on astrostatistics software, among
>> other things---lots of folks are interested in Python, by the way).
>> Joe's summary of the main issues was very good. I agree on many
>> points; here are some possible disagreements.
>>> UNDERLYING PACKAGES
>>> 1. Numarray for all new code, and to teach to new users.
> The reality is that Numarray is not ready as a drop-in replacement for
> Numeric but people keep introducing it to new users as if it were
> ready. This is a real problem in the community right now.
> These issues have been discussed before and are on the scipy.org wiki
> that Eric has started. Basically the issues preventing a drop-in
> replacement are 1) small arrays are too slow, 2) no
> backward-compatible ufunc C-API --- nothing like the compatibility API
> for arrays exists for ufuncs. 3) migrating legacy code is way too
> time consuming and effort filled for almost no gain.
> While not optimal the current best solution is to make Numarray more
> aware of Numeric arrays and vice versa, so that unnecessary memory
> copying is not happening.
>>> 2. Matplotlib for all plotting. Try it. You'll like it!
> Chaco is nearly there. In some ways I feel bad that John Hunter
> didn't use his energy to making easy plots using Chaco/ Tk instead of
> developing yet another infrastructure. It is true that matplotlib got
> to a functional state more quickly, but chaco has a much more sturdy
> foundation for development, I think.
While I agree, I also appreciate the amount of progress that matplotlib
has made. In some sense, it takes the pressure off of Chaco. For
overall development efficiency in the long run, I believe it would have
been better if the matplotlib energy had gone into Chaco. Perry and the
STSci team tried though, and didn't make the headway the wished for.
So, in the short run, I don't think as usable of a tool would have
resulted as soon -- we just didn't have the resources to coordinate with
the community over the last year to fix the deficiencies that made it
difficult for scientist to use.
I am quite sure that many of these deficiencies will be addressed over
the next year. I am also excited about the capabilities its underlying
architecture provides advanced interactive plotting within applications
-- our main use of it now. We will continue to put significant effort
into it as we rely on it heavily.
Both projects will continue to advance I'm sure, and also push each
other to advance. Because their licensing allow them to incorporate
features from the other toolset, the story isn't so bad. Matplotlib can
evolve and solve one set of problems. Chaco can evolve to solve
another. In the future the can borrow from each other where appropriate
and, who knows, maybe even combine efforts.
Everyone here is after the same goal -- a solid plotting toolkit for
Python. With two viable toolkits under construction creating a little
healthy competition, I think we are more likely to get there now than at
any point in the past -- in fact, it sounds like matplotlib solves a
majority of the scientists day-to-day plotting needs now. This is good
news all around.
> The Enable library that Enthought has put together allows amazing
> possibilities and improved portability. Their motives are completely
> pure, though their time is limited. It would be nice if Enthought
> published the location of their chaco SVN server so that users could
> see the current code and not the legacy stuff in SciPy. I think the
> reason they haven't is more of a logistic issue (not being ready to
> support inquiries) and perhaps separating it from other code bases.
> But, if Eric is reading this, I would suggest to him, that not
> publishing and promoting the SVN site creates more problems and
> discourages potential users in just the way Tom is expressing.
Here it is: http://svn.enthought.com/svn/enthought/
I'm pretty sure anaonymous access is enabled, but I haven't checked.
There is other stuff in here but not much in terms of documentation.
And, as Travis says, there isn't much email support on it at the moment
as it is not fully baked for release. It will get there though. There
are a number of people working on this tree on a daily basis.
>> Do either of these packages (matplotlib, Chaco) allow one to interact
>> with plots in a way that lets Python easily know where on a plot the
>> user is clicking? I.e., is there the basis for making "interactive"
>> plots, not merely in the sense of panning and zooming, but in actually
>> manipulating points on the plots as controls (maybe "dynamic" would be
>> a better adjective)? I have in mind something like SysQuake
It is a little to much to talk about here, but yes Enable/Chaco are
built from the ground up to support this. It is not exposed for this to
be done as easily as it should be.
More information about the Scipy-dev