Faster spherical harmonics

Thanx @ChantalTax, @pv and @stefanv for helping with this. Here is a faster implementation of spherical harmonics. This should make the calculation of real spherical harmonics and complex spherical harmonics faster everywhere in dipy. 

Let me know what you think! This is now 100X faster. :D
Another option for handling this is to separate out the new implementation
of the sph_harm, and depending on the version of scipy that is installed,
either import from scipy or from our own. That might make ultimately
deprecating this, as the scipy implementation percolates through, easier
(?).


On Sat, Sep 6, 2014 at 9:41 AM, Pauli Virtanen <notifications@github.com>
wrote:

> In dipy/reconst/shm.py:
>
> > @@ -171,6 +206,9 @@ def real_sph_harm(m, n, theta, phi):
> >          The azimuthal (longitudinal) coordinate.
> >      phi : float [0, pi]
> >          The polar (colatitudinal) coordinate.
> > +    fast : bool
> > +        If False use the scipy.special.sph_harm else use spherical_harmonics
> > +        from dipy.reconst.shm.
>
> A faster sph_harm was added to Scipy in May.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/nipy/dipy/pull/413/files#r17209887>.
>