[enhancement] sum_angle() and sum_polar()
Hi everyone, I am proposing to add the the two following functions to numpy/lib/twodim_base.py: sum_angle() computes the sum of a 2d array along an angled axis sum_polar() computes the sum of a 2d array along radial lines or along azimuthal circles https://github.com/numpy/numpy/pull/230 Comments? When I was looking for a solution to these problems of calculating special sums of 2d arrays I could not find anything and it took me a while to figure out a (hopefully) useful and consistent algorithm. I can see how one would extend these to higher dimensions but that would preclude using bincount() to do the heavy lifting. Looking at some other functions, the doctests might need to be split into real examples and unittests. Best,  Robert Jordens.
I didn't see anyone respond to this, but looking over his simple and elegant solution it seems like a useful addition to the 2d functions available in NumPy as it works with any 2d array (image or matrix) and does a transformation on the indices in order to organize the sum. It is not a generalpurpose interpolating approach where the 2d array is viewed as samples of an underlying continuous function. Are their other thoughts? Travis On Mar 7, 2012, at 12:39 PM, Robert Jördens wrote:
Hi everyone, I am proposing to add the the two following functions to numpy/lib/twodim_base.py:
sum_angle() computes the sum of a 2d array along an angled axis sum_polar() computes the sum of a 2d array along radial lines or along azimuthal circles
https://github.com/numpy/numpy/pull/230
Comments?
When I was looking for a solution to these problems of calculating special sums of 2d arrays I could not find anything and it took me a while to figure out a (hopefully) useful and consistent algorithm. I can see how one would extend these to higher dimensions but that would preclude using bincount() to do the heavy lifting. Looking at some other functions, the doctests might need to be split into real examples and unittests.
Best,
 Robert Jordens. _______________________________________________ NumPyDiscussion mailing list NumPyDiscussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
On Mon, May 28, 2012 at 7:58 PM, Travis Oliphant <travis@continuum.io>wrote:
I didn't see anyone respond to this, but looking over his simple and elegant solution it seems like a useful addition to the 2d functions available in NumPy as it works with any 2d array (image or matrix) and does a transformation on the indices in order to organize the sum.
It is not a generalpurpose interpolating approach where the 2d array is viewed as samples of an underlying continuous function.
Are their other thoughts?
This was discussed (not finished yet) on scipydev: http://thread.gmane.org/gmane.comp.python.scientific.devel/16538/focus=16541.
Ralf
Travis
On Mar 7, 2012, at 12:39 PM, Robert Jördens wrote:
Hi everyone, I am proposing to add the the two following functions to numpy/lib/twodim_base.py:
sum_angle() computes the sum of a 2d array along an angled axis sum_polar() computes the sum of a 2d array along radial lines or along azimuthal circles
https://github.com/numpy/numpy/pull/230
Comments?
When I was looking for a solution to these problems of calculating special sums of 2d arrays I could not find anything and it took me a while to figure out a (hopefully) useful and consistent algorithm. I can see how one would extend these to higher dimensions but that would preclude using bincount() to do the heavy lifting. Looking at some other functions, the doctests might need to be split into real examples and unittests.
Best,
 Robert Jordens. _______________________________________________ NumPyDiscussion mailing list NumPyDiscussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
_______________________________________________ NumPyDiscussion mailing list NumPyDiscussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
On May 28, 2012, at 1:02 PM, Ralf Gommers wrote:
On Mon, May 28, 2012 at 7:58 PM, Travis Oliphant <travis@continuum.io> wrote: I didn't see anyone respond to this, but looking over his simple and elegant solution it seems like a useful addition to the 2d functions available in NumPy as it works with any 2d array (image or matrix) and does a transformation on the indices in order to organize the sum.
It is not a generalpurpose interpolating approach where the 2d array is viewed as samples of an underlying continuous function.
Are their other thoughts?
This was discussed (not finished yet) on scipydev: http://thread.gmane.org/gmane.comp.python.scientific.devel/16538/focus=16541.
That is a useful discussion, but the question about whether this function should just go into NumPy is also of interest. There are arguments that it could go into NumPy, SciPy, or sckitisimage. I think going into scikitsimage does not make sense because of their general applicability for more than just images and the fact that in the context of imageprocessing these functions *just* do nearest neighbor interpolation. I could see these functions going into scipy.ndimage but again because they are not necessarily just image processing functions, and the fact that they are so simple, perhaps they are best put into NumPy itself. Travis
Ralf
Travis
On Mar 7, 2012, at 12:39 PM, Robert Jördens wrote:
Hi everyone, I am proposing to add the the two following functions to numpy/lib/twodim_base.py:
sum_angle() computes the sum of a 2d array along an angled axis sum_polar() computes the sum of a 2d array along radial lines or along azimuthal circles
https://github.com/numpy/numpy/pull/230
Comments?
When I was looking for a solution to these problems of calculating special sums of 2d arrays I could not find anything and it took me a while to figure out a (hopefully) useful and consistent algorithm. I can see how one would extend these to higher dimensions but that would preclude using bincount() to do the heavy lifting. Looking at some other functions, the doctests might need to be split into real examples and unittests.
Best,
 Robert Jordens. _______________________________________________ NumPyDiscussion mailing list NumPyDiscussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
_______________________________________________ NumPyDiscussion mailing list NumPyDiscussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
_______________________________________________ NumPyDiscussion mailing list NumPyDiscussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpydiscussion
On Mon, May 28, 2012 at 11:53 AM, Travis Oliphant <travis@continuum.io> wrote:
I could see these functions going into scipy.ndimage but again because they are not necessarily just image processing functions, and the fact that they are so simple, perhaps they are best put into NumPy itself.
I'm wondering about the general applicability of these functions. Can anyone suggest some use cases? Stéfan
On Tue, 29 May 2012 10:03:04 0700 Stéfan van der Walt <stefan@sun.ac.za> wrote:
On Mon, May 28, 2012 at 11:53 AM, Travis Oliphant <travis@continuum.io> wrote:
I could see these functions going into scipy.ndimage but again because they are not necessarily just image processing functions, and the fact that they are so simple, perhaps they are best put into NumPy itself.
I'm wondering about the general applicability of these functions. Can anyone suggest some use cases?
I wrote a whole library about that ... pyFAI (available in debian) https://forge.epncampus.eu/attachments/1459/20111010PyFAIPosterA0.pdf Unfortunately real detector are never completely orthogonal to the incident beam, pixels are never square, ... what makes things more complicated. Cheers,  Jérôme Kieffer Data analysis unit  ESRF
participants (5)

Jerome Kieffer

Ralf Gommers

Robert Jördens

Stéfan van der Walt

Travis Oliphant