In [38]:
import os
import numpy as np
import memory_profiler
import gc
from operator import itemgetter
from pympler.asizeof import asizeof
from klustaviewa.dataio import HDF5Loader
from memprof import profile_mem, fmtsize

In [25]:
filename = r"D:\Spike sorting\second\testalignment_secondnearest_subset_129989.clu.1"

In [26]:
loader = HDF5Loader(filename=filename)


2013-08-02 11:09:54  hdf5loader:65           Similarity measure: gaussian.
2013-08-02 11:09:54  hdf5loader:66           Opening D:\Spike sorting\second\testalignment_secondnearest_subset_129989.main.h5.

In [27]:
profile_mem(loader)


TOTAL SIZE: 51.884 MB

24.049 MB	background_masks
24.049 MB	background_features
0.871 MB	__dict__
0.870 MB	logfile
0.496 MB	spiketimes
0.496 MB	clusters
0.248 MB	background_clusters
0.096 MB	features
0.096 MB	masks
0.096 MB	masks_full
0.096 MB	main
0.096 MB	groups_table
0.096 MB	clusters_table
0.096 MB	spike_table
0.096 MB	wave_table
0.029 MB	waveforms
0.006 MB	counter

In [28]:
loader.select(clusters=range(2, 100, 2))
f = loader.get_features()
m = loader.get_masks()
w = loader.get_waveforms()

In [30]:
profile_mem(loader)


TOTAL SIZE: 79.567 MB

27.553 MB	spikes_selected_table
24.049 MB	background_masks
24.049 MB	background_features
0.873 MB	logfile
0.872 MB	__dict__
0.496 MB	spiketimes
0.496 MB	clusters
0.248 MB	background_clusters
0.124 MB	spikes_selected
0.096 MB	features
0.096 MB	masks
0.096 MB	masks_full
0.096 MB	main
0.096 MB	groups_table
0.096 MB	clusters_table
0.096 MB	spike_table
0.096 MB	wave_table
0.029 MB	waveforms
0.006 MB	counter
0.001 MB	clusters_selected

In [31]:
def test1():
    clusters_list = [range(2, 100, 2), range(3, 101, 2)]
    for n in xrange(21):
        clusters = clusters_list[n % len(clusters_list)]
        loader.select(clusters=clusters)
        f = loader.get_features()
        m = loader.get_masks()
        w = loader.get_waveforms()

In [32]:
test1()

In [33]:
profile_mem(loader)


TOTAL SIZE: 79.572 MB

27.553 MB	spikes_selected_table
24.049 MB	background_masks
24.049 MB	background_features
0.875 MB	logfile
0.875 MB	__dict__
0.496 MB	spiketimes
0.496 MB	clusters
0.248 MB	background_clusters
0.124 MB	spikes_selected
0.096 MB	features
0.096 MB	masks
0.096 MB	masks_full
0.096 MB	main
0.096 MB	groups_table
0.096 MB	clusters_table
0.096 MB	spike_table
0.096 MB	wave_table
0.029 MB	waveforms
0.006 MB	counter
0.001 MB	clusters_selected