[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