Ejemplo n.º 1
0
 def __init__(self, sf, npts, f=(2, 200, 10, 5), pha=[8, 13], time=None,
              baseline=None, norm=None, **powArgs):
     # Define objects:
     self._normBck = norm
     self._baseline = baseline
     self._powObj = power(
         sf, npts, f=f, baseline=baseline, norm=0, time=time, **powArgs)
     self._phaObj = phase(sf, npts, f=pha)
     self._sigObj = sigfilt(sf, npts, f=pha)
Ejemplo n.º 2
0
def compute_PSD(epochs, sf, epochs_length, f=None):
    if f == None:
        f = [[4, 8], [8, 12], [12, 20], [20, 30], [30, 60], [60, 90],
             [90, 120]]
    # Choose MEG channels
    data = epochs.get_data(
    )  # On sort les data de l'objet MNE pour les avoir dans une matrice (un numpy array pour être précis)
    data = data.swapaxes(0, 1).swapaxes(
        1, 2
    )  # On réarange l'ordre des dimensions pour que ça correspond à ce qui est requis par Brainpipe
    objet_PSD = feature.power(
        sf=int(sf),
        npts=int(sf * epochs_length),
        width=int(sf),
        step=int(sf / 4),
        f=f,
        method='hilbert1'
    )  # La fonction Brainpipe pour créer un objet de calcul des PSD
    psds = objet_PSD.get(data)[0]  # Ici on calcule la PSD !
    return psds
Ejemplo n.º 3
0
# Fetch time series data from any file whatsoever
# Must be at least 30 seconds at 250Hz

raw = read_raw_fif('/home/hyruuk/GitHub/eegsynth/datafiles/SA04_01_preprocessed.fif.gz', preload=True)
raw_rs = raw.copy().resample(250)
sf = raw_rs.info['sfreq']

data = np.asarray(raw_rs.get_data()[1:3,7500:15000])


# 2.
# Compute hilbert using brainpipe
f = [ [2, 4], [4, 8], [8, 12], [12, 30], [30, 60] ]
npts = data.shape[1]
print(data.shape)
power_obj = power(sf, npts, f=f, baseline=None, norm=None, method='hilbert', window=None, width=None, step=None, split=None, time=None)
start = time.time()
power_vals = power_obj.get(data.T)
stop = time.time()
print(stop-start)
print(power_vals[0].shape)
print(power_vals[1])
print('Done')

powow = power_vals[0].squeeze()

dtp = powow[2,:,0]
t = np.arange(0,len(dtp),1)
plt.plot(t, dtp)
plt.show()