[SciPy-dev] Should ndimage.measurements.* should return lists if index is a list?
Zachary Pincus
zachary.pincus at yale.edu
Sat Apr 18 20:16:43 EDT 2009
I'm looking over the patch currently, but let me ask a quick question
first: is there a performance (or other) reason to not just do the
list-wrapping/unwrapping thing in Python, rather than in the C code?
Zach
On Apr 18, 2009, at 7:28 PM, Thouis (Ray) Jones wrote:
> My last patch did not do the right thing for ndimage.extrema(), which
> needs to return 4 values with the same semantics. I've attached an
> addendum.
>
> Ray Jones
>
>
> On Sat, Apr 18, 2009 at 16:47, Thouis (Ray) Jones <thouis at broad.mit.edu
> > wrote:
>> Here's a first attempt at a patch. It fixes the corner case of a
>> single index to match the index type (scalar for scalar, list for
>> single element sequence), also the case of index=[] to return [] for
>> any measurement. Finally, it improves type checking of the index
>> type, which was only being checked for sum() and not any of the other
>> measurements (?).
>>
>> Zach, would you mind reviewing? If it looks good, I'll add some
>> tests
>> for the new functionality and submit a patch via trac.
>>
>> Ray
>>
>> On Fri, Apr 17, 2009 at 22:06, Zachary Pincus <zachary.pincus at yale.edu
>> > wrote:
>>>> Current behavior:
>>>>>>> from scipy import ndimage
>>>>>>> ndimage.maximum([[1,2], [3,4]], [[1,0],[0,2]], index=[1,2])
>>>> [1.0, 4.0]
>>>>>>> ndimage.maximum([[1,2], [3,4]], [[1,0],[0,2]], index=[1])
>>>> 1.0
>>>>>>> ndimage.maximum([[1,2], [3,4]], [[1,0],[0,2]], index=1)
>>>> 1.0
>>>>
>>>> I think the second result should be [1.0]. We're using the ndimage
>>>> code for image processing, and have to wrap the measurement
>>>> functions
>>>> to make the code general for the case where there is only one
>>>> object
>>>> in the image.
>>>
>>> I've run into this too, and had the same thought. It's such a
>>> corner-
>>> case that it doesn't seem like gratuitous API-breakage to make this
>>> fix...
>>>
>>> Zach
>>> _______________________________________________
>>> Scipy-dev mailing list
>>> Scipy-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>>
>>
> <0002-special-case-for-
> extrema.patch>_______________________________________________
> Scipy-dev mailing list
> Scipy-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
More information about the SciPy-Dev
mailing list