Fftw

without fftw:

    bandpass single pre-loaded image
    10 loops, best of 3: 85 ms per loop

    batch locate 10 frames
    1 loops, best of 3: 11.7 s per loop

with fftw:

    bandpass single pre-loaded image
    10 loops, best of 3: 60.5 ms per loop

    batch locate 10 frames
    1 loops, best of 3: 11 s per loop

    # Need to run in IPython
    import mr
    import os

benchmarking code:

    path, _ = os.path.split(mr.__file__)
    v = mr.Video(os.path.join(path, 'tests/water/bulk-water.mov'))
    im = v[0]
    mr.bandpass(im, 1, 10)  # slow planning run

    print("bandpass single pre-loaded image")
    get_ipython().magic(u'timeit mr.bandpass(im, 1, 10)')

    print("batch locate frames")
    get_ipython().magic(u'timeit mr.batch(v[:10], 9, 1000)')