@Keith Goodman
I think I figured it out. I believe something like the following will do
what you want, iterating across one axis specially, so it can apply a median
function along an axis. This code in particular is for calculating a moving
average and seems to work (though I haven't checked my
On Tue, Sep 1, 2009 at 2:37 PM, Sturla Molden stu...@molden.no wrote:
Dag Sverre Seljebotn skrev:
Nitpick: This will fail on large arrays. I guess numpy.npy_intp is the
right type to use in this case?
By the way, here is a more polished version, does it look ok?
I am very interested in this result. I have wanted to know how to do an
apply_along_axis function for a while now.
On Tue, Nov 30, 2010 at 11:21 AM, Keith Goodman kwgood...@gmail.com wrote:
On Tue, Sep 1, 2009 at 2:37 PM, Sturla Molden stu...@molden.no wrote:
Dag Sverre Seljebotn skrev:
On Tue, Nov 30, 2010 at 11:25 AM, John Salvatier
jsalv...@u.washington.edu wrote:
I am very interested in this result. I have wanted to know how to do an
My first thought was to write the reducing function like this
cdef np.float64_t namean(np.ndarray[np.float64_t, ndim=1] a):
but cython
Hi,
On Tue, Nov 30, 2010 at 11:35 AM, Keith Goodman kwgood...@gmail.com wrote:
On Tue, Nov 30, 2010 at 11:25 AM, John Salvatier
jsalv...@u.washington.edu wrote:
I am very interested in this result. I have wanted to know how to do an
My first thought was to write the reducing function like
On Tue, Nov 30, 2010 at 11:58 AM, Matthew Brett matthew.br...@gmail.com wrote:
Hi,
On Tue, Nov 30, 2010 at 11:35 AM, Keith Goodman kwgood...@gmail.com wrote:
On Tue, Nov 30, 2010 at 11:25 AM, John Salvatier
jsalv...@u.washington.edu wrote:
I am very interested in this result. I have wanted
I think last time I looked into how to apply a function along an axis I
thought that the PyArray_IterAllButAxis would not work for that task (
http://docs.scipy.org/doc/numpy/reference/c-api.array.html#PyArray_IterAllButAxis),
but I think perhaps I misunderstood it. I'm looking into how to use it.
import numpy as np
cimport numpy as cnp
cdef cnp.float64_t namean(cnp.ndarray[cnp.float64_t, ndim=1] a):
return np.nanmean(a) # just a placeholder
is not allowed? It works for me. Is it a cython version thing?
(I've got 0.13),
Oh, that's nice! I'm using 0.11.2. OK, time to
Chad Netzer skrev:
That's right, Robert. Basically, I meant doing a median on a square
(or rectangle) view of an array, without first having to ravel(),
thus generally saving a copy. But actually, since my selection based
median overwrites the source array, it may not save a copy anyway.
On Thu, Sep 3, 2009 at 12:14 AM, Sturla Molden stu...@molden.no wrote:
Chad Netzer skrev:
That's right, Robert. Basically, I meant doing a median on a square
(or rectangle) view of an array, without first having to ravel(),
thus generally saving a copy. But actually, since my selection
Hello Sturla,
I had a quick look at your code.
Looks fine.
A few notes...
In select you should replace numpy with np.
In _median how can you, if n==2, use s[] if s is not defined?
What if n==1?
Also, I think when returning an empty array, it should be of
the same type you would get in the other
Sturla Molden wrote:
Dag Sverre Seljebotn skrev:
Nitpick: This will fail on large arrays. I guess numpy.npy_intp is the
right type to use in this case?
By the way, here is a more polished version, does it look ok?
Dag Sverre Seljebotn skrev:
a) Is the cast to numpy.npy_intp really needed? I'm pretty sure shape is
defined as numpy.npy_intp*.
I don't know Cython internals in detail but you do, I so take your word
for it. I thought shape was a tuple of Python ints.
b) If you want higher
Citi, Luca skrev:
Hello Sturla,
In _median how can you, if n==2, use s[] if s is not defined?
What if n==1?
That was a typo.
Also, I think when returning an empty array, it should be of
the same type you would get in the other cases.
Currently median returns numpy.nan for empty input
On Wed, 2 Sep 2009, Dag Sverre Seljebotn wrote:
Sturla Molden wrote:
Dag Sverre Seljebotn skrev:
Nitpick: This will fail on large arrays. I guess numpy.npy_intp is the
right type to use in this case?
By the way, here is a more polished version, does it look ok?
On Mon, Aug 31, 2009 at 9:06 PM, Sturla Moldenstu...@molden.no wrote:
We recently has a discussion regarding an optimization of NumPy's median
to average O(n) complexity. After some searching, I found out there is a
selection algorithm competitive in speed with Hoare's quick select. It
has
On Wed, Sep 2, 2009 at 1:25 PM, Chad Netzer chad.net...@gmail.com wrote:
On Mon, Aug 31, 2009 at 9:06 PM, Sturla Moldenstu...@molden.no wrote:
We recently has a discussion regarding an optimization of NumPy's median
to average O(n) complexity. After some searching, I found out there is a
Chad Netzer skrev:
By the way, as far as I can tell, the above algorithm is exactly the
same idea as a non-recursive Hoare (ie. quicksort) selection: Do the
partition, then only proceed to the sub-partition that must contain
the nth element.My version is a bit more general, allowing
On Thu, Sep 3, 2009 at 00:09, Sturla Moldenstu...@molden.no wrote:
Chad Netzer skrev:
I'd also like to, if possible, have a specialized 2D version, since
image media filtering is one of my interests, and the C version works
on 1D (raveled) arrays only.
I agree. NumPy (or SciPy) could have a
On Wed, Sep 2, 2009 at 10:28 PM, Robert Kernrobert.k...@gmail.com wrote:
When he is talking about 2D, I believe he is referring to median
filtering rather than computing the median along an axis. I.e.,
replacing each pixel with the median of a specified neighborhood
around the pixel.
That's
Robert Kern skrev:
When he is talking about 2D, I believe he is referring to median
filtering rather than computing the median along an axis. I.e.,
replacing each pixel with the median of a specified neighborhood
around the pixel.
That's not something numpy's median function should be
Chad Netzer wrote:
But Charles Harris's earlier suggestion of some hard coded medians for
common filter template sizes (ie 3x3, 5x5, etc.) may be a nice
addition to scipy, especially if it can be generalized somewhat to
other filters.
For 2D images try looking into PIL :
Dag Sverre Seljebotn skrev:
Nitpick: This will fail on large arrays. I guess numpy.npy_intp is the
right type to use in this case?
Yup. You are right. Thanks.
Sturla
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
Dag Sverre Seljebotn skrev:
Nitpick: This will fail on large arrays. I guess numpy.npy_intp is the
right type to use in this case?
By the way, here is a more polished version, does it look ok?
http://projects.scipy.org/numpy/attachment/ticket/1213/generate_qselect.py
Sturla Molden skrev:
By the way, here is a more polished version, does it look ok?
No it doesn't... Got to keep the GIL for the general case (sorting
object arrays). Fixing that.
SM
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
Sturla Molden skrev:
http://projects.scipy.org/numpy/attachment/ticket/1213/generate_qselect.py
http://projects.scipy.org/numpy/attachment/ticket/1213/quickselect.pyx
My suggestion for a new median function is here:
http://projects.scipy.org/numpy/attachment/ticket/1213/median.py
The
We recently has a discussion regarding an optimization of NumPy's median
to average O(n) complexity. After some searching, I found out there is a
selection algorithm competitive in speed with Hoare's quick select. It
has the advantage of being a lot simpler to implement. In plain Python:
Sturla Molden skrev:
We recently has a discussion regarding an optimization of NumPy's median
to average O(n) complexity. After some searching, I found out there is a
selection algorithm competitive in speed with Hoare's quick select.
Reference:
http://ndevilla.free.fr/median/median.pdf
28 matches
Mail list logo