
On Mon, May 21, 2012 at 2:06 AM, Robert Jördens <jordens@gmail.com> wrote:
Could you time the scikits-image version, it's not obvious from reading
On Mon, May 21, 2012 at 1:16 AM, Ralf Gommers <ralf.gommers@googlemail.com> wrote: the
code that it will be very slow?
In [47]: from scipy.misc.pilutil import radon as scipy_radon In [50]: from skimage.transform import radon as scikits_radon
In [46]: a=np.random.randn(1000, 1000)
In [53]: angle_sum(a, .1).shape Out[53]: (1100,)
In [54]: scikits_radon(a, [.1]).shape Out[54]: (1415, 1)
In [55]: scipy_radon(a, [.1]).shape Out[55]: (1000, 1)
In [56]: %timeit angle_sum(a, .1) 10 loops, best of 3: 24.7 ms per loop
In [57]: %timeit scikits_radon(a, [.1]) 10 loops, best of 3: 136 ms per loop
In [58]: %timeit scipy_radon(a, [.1]) 10 loops, best of 3: 47.6 ms per loop
In [59]: a.sum() Out[59]: -682.83728184031156
In [60]: angle_sum(a, .1).sum() Out[60]: -682.83728184032327
In [61]: scikits_radon(a, [.1]).sum() Out[61]: -682.83727334014043
In [62]: scipy_radon(a, [.1]).sum() Out[62]: 124316062.0
My impression is that it would fit best in scikits-image. Perhaps ndimage would be a reasonable place too. It's too specialized for numpy imho.
angle_sum() at least can be applied beyond image processing in the analysis of coupling matrices or adjacency graphs. Both functions are simple and generic.
Looks like you need to sell this as a faster Radon or Hough, angle_sum is a bit too generic ;) Chuck