In [1]:
import tables as tb
import pandas as pd

In [2]:
from klustaviewa.dataio import HDF5Writer, HDF5Loader
import klustaviewa.dataio.hdf5loader
import klustaviewa.dataio.selection
reload(klustaviewa.dataio.hdf5loader)
reload(klustaviewa.dataio.selection)


WARNING:OpenGL.arrays.arraydatatype:Unable to load ArrayDatatype accelerator from OpenGL_accelerate
WARNING:OpenGL.error:OpenGL_accelerate seems to be installed, but unable to import error checking entry point!
WARNING:OpenGL.converters:Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
WARNING:OpenGL.wrapper:OpenGL_accelerate seems to be installed, but unable to import expected wrapper entry points!
WARNING:OpenGL.arrays.arrayhelpers:Unable to load arrayhelpers accelerator from OpenGL_accelerate
WARNING:OpenGL.arrays.nones:Unable to load nones_formathandler accelerator from OpenGL_accelerate
WARNING:OpenGL.arrays.numpymodule:Unable to load numpy_formathandler accelerator from OpenGL_accelerate
Out[2]:
<module 'klustaviewa.dataio.selection' from 'D:\Git\klustaviewa\klustaviewa\dataio\selection.py'>

In [3]:
folder = r"D:\SpikeSorting\second"
basename = "testalignment_secondnearest_subset_129989"

In [4]:
filename = os.path.join(folder, basename + '.xml')
filename_h5 = os.path.join(folder, basename + '.main.h5')

In [5]:
# Convert in HDF5.
if not os.path.exists(os.path.join(folder, filename_h5)):
    with HDF5Writer(filename) as writer:
        writer.convert()

In [18]:
l = HDF5Loader(filename=filename_h5)

In [19]:
clusters = range(0, 40, 2)

In [20]:
%timeit -n 1 -r 1 l.get_waveforms(clusters=clusters)


1 loops, best of 1: 96 ms per loop

In [21]:
%timeit -n 2 -r 3 l.get_waveforms(clusters=clusters)


2 loops, best of 3: 94.2 ms per loop

In [22]:
%timeit -n 3 -r 2 l.get_waveforms(clusters=[10])


3 loops, best of 2: 17.2 ms per loop

In [23]:
%timeit -n 1 -r 1 l.get_features(clusters=clusters)


1 loops, best of 1: 216 ms per loop

In [24]:
%timeit -n 2 -r 2 l.get_features(clusters=clusters)


2 loops, best of 2: 185 ms per loop

In [25]:
%timeit -n 5 -r 3 l.get_features(clusters=[10])


5 loops, best of 3: 68.9 ms per loop

In [26]:
%timeit -n 1 -r 1 l.get_some_features(clusters=clusters)


1 loops, best of 1: 267 ms per loop

In [27]:
%timeit -n 3 -r 2 l.get_some_features(clusters=clusters)


3 loops, best of 2: 240 ms per loop

In [29]:
l.close()