In [1]:
%pylab inline
In [2]:
import pyrem as pr
import numpy as np
import pylab as pl
import pandas as pd
In [3]:
data = pd.read_csv("/home/quentin/Desktop/mouseB.txt", engine="c", header=None, dtype=np.float32)
sig = pr.Signal(data,200)
to_remove =5 * int(sig.ntimepoints / 100.0)
sig = sig[to_remove: -to_remove]
print sig.duration
# sig = sig.resample(256)
print sig.duration
sig
Out[3]:
In [8]:
plot(sig[0:30000]["c3"])
Out[8]:
In [1]:
img = []
for c,s in sig.embed_seq(sig.sampling_freq * 200, sig.sampling_freq * 200 /2 ):
ff_trans = np.fft.fft(s, 1024*8)
freqs = np.fft.fftfreq(ff_trans.size, 1/sig.sampling_freq)
power = np.abs(ff_trans)**2
idx = np.argsort(freqs)
out_powers = power[idx][freqs[idx] > 0]
out_freqs = freqs[idx][freqs[idx] > 0]
out_powers = out_powers / sum(out_powers)
#print out_freqs[argmax(out_powers)]
N = 1e5
out_powers = np.round(out_powers * N).astype(np.int32)
freqs_vec = []
for o,f in zip(out_powers, out_freqs):
freqs_vec.extend([f] * o)
n, bins = np.histogram(freqs_vec, sig.sampling_freq, range = (0,sig.sampling_freq))
img.append(n)
img = np.array(img)
print img.shape
pl.imshow(np.log10(img+1).T[:,:])
In [12]:
pl.imshow(np.log10(img+1).T[0:50,:])
Out[12]:
In [68]:
pl.figure()
print len(ff_trans)
out_powers = power[idx][freqs[idx] > 0]
out_freqs = freqs[idx][freqs[idx] > 0]
plot(out_freqs, out_powers)
Out[68]:
In [53]:
ff_trans = np.fft.fft(sig[30000:90000])
freqs = np.fft.fftfreq(ff_trans.size, 1/sig.sampling_freq)
In [53]:
In [54]:
power = np.abs(ff_trans)**2
In [54]:
In [57]:
plot(out_freqs, np.log10(out_powers), '.')
print out_freqs[np.argmax(out_powers)]
In [ ]: