[Scipy-tickets] [SciPy] #412: Broken Py_Statistics indexing
SciPy
scipy-tickets@scipy....
Fri Jul 27 07:41:29 CDT 2007
#412: Broken Py_Statistics indexing
---------------------------+------------------------------------------------
Reporter: stefan | Owner: cdavid
Type: defect | Status: assigned
Priority: normal | Milestone: 0.5.3 Release
Component: scipy.ndimage | Version: devel
Severity: normal | Resolution:
Keywords: |
---------------------------+------------------------------------------------
Comment (by stefan):
You reassigned the ticket, so I assume you want to work on it.
In ndimage, labels and indices are similar, but not identical to, to
masked arrays. You assign labels to elements in an array, which can be
used to limit the elements on which operations take place, e.g.
x = N.array([1,2,3])
ndimage.mean(x,labels=[5,12,5],index=5)
which calculates the mean of all the elements labeled '5', i.e. something
like:
def mean(data,labels,index):
N.mean(data[labels == index])
It gets a bit more complicated when you define more than one index, but
you get the idea.
Unfortunately, the current implementation converts the index elements to
long, which is unnecessary and causes problems. Unnecessary, because all
you need to do is to compare two objects -- there is no reason to
specifically convert to long. It also segfaults if you specify certain
index values, e.g.
ndi.mean(x, labels=[981729387123,9817239871987123,8971239871987123],
index=89172938719283712)
--
Ticket URL: <http://projects.scipy.org/scipy/scipy/ticket/412#comment:2>
SciPy <http://www.scipy.org/>
SciPy is open-source software for mathematics, science, and engineering.
More information about the Scipy-tickets
mailing list