subsegment has *many* typos in the docstring which is not visible in this diff. 

I don't get what is the point on segmenting the streamlines in this way. Why for example it is useful to sub-segment in this way when threshold is 1.6?

    >>> list(subsegment(streamlines, 1.6))
    [array([[ 0. ,  0. ,  0. ],
           [ 1. ,  0. ,  0. ],
           [ 2. ,  0. ,  0. ],
           [ 3.5,  0. ,  0. ],
           [ 5. ,  0. ,  0. ]])]

These segments now are unequal.