[Numpy-discussion] Advice on converting Numarray C extension?
Charles R Harris
charlesr.harris at gmail.com
Tue Jun 30 15:00:46 EDT 2009
On Tue, Jun 30, 2009 at 12:31 PM, Russell E. Owen <rowen at u.washington.edu>wrote:
> In article
> <e06186140906291710s34865590p38032012f12d0f60 at mail.gmail.com>,
> Charles R Harris <charlesr.harris at gmail.com> wrote:
>
> > On Mon, Jun 29, 2009 at 4:17 PM, Russell E. Owen
> > <rowen at u.washington.edu>wrote:
> >
> > > In article
> > > <e06186140906291429m3cb339e8ge298f179d811e8a7 at mail.gmail.com>,
> > > Charles R Harris <charlesr.harris at gmail.com> wrote:
> > >
> > > > On Mon, Jun 29, 2009 at 3:03 PM, Russell E. Owen
> > > > <rowen at u.washington.edu>wrote:
> > > >
> > > > > I have an old Numarray C extension (or, rather, a Python package
> > > > > containing a C extension) that I would like to convert to numpy
> > > > > (in a way that is likely to be supported long-term).
> > > >
> > > > How big is the extension and what does it do?
> > >
> > > It basically contains 2 functions:
> > > 1: radProfile: given a masked image (2d array), a radius and a desired
> > > center: compute a new 1d array whose value at index r is the sum of all
> > > unmasked pixels at radius r.
> > >
> > > 2: radAsymm: given the same inputs as radProfile, return a (scalar)
> > > measure of radial asymmetry by computing the variance of unmasked
> pixels
> > > at each radius and combining the results.
> > >
> > > The original source file is about 1000 lines long, of which 1/3 to 1/2
> > > is the basic C code and the rest is Python wrapper.
> >
> > It sounds small enough that you should be able to update it to the numpy
> > interface. What functions do you need? You should also be able to attach
> a
> > copy (zipped) if it is small enough, which might help us help you.
>
> It is the PyGuide package
> <http://www.astro.washington.edu/rowen/PyGuide/files/PyGuide.zip>
> a 525k zip file. The extension code is in the src directory.
>
> I would certainly be grateful for any pointers to how the old numarray C
> API functions map to the new numpy ones. I would prefer to use the new
> numpy API if I can figure out what to do.
>
You can look at the numpy/numarray/_capi.c file where the translation from
numpy to numarray is located. A lot of the functions map directly, others
are more complicated.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090630/92abac5e/attachment.html>
More information about the NumPy-Discussion
mailing list