Ejemplo n.º 1
0
def extractspec (dat, fmax=40.0):
  global ntrial
  #print('extractspec',dat.shape)
  lspec = []
  tvec = dat[:,0]
  dt = tvec[1] - tvec[0]
  tstop = tvec[-1]

  prm = {'f_max_spec':fmax,'dt':dt,'tstop':tstop}

  if dat.shape[1] > 2:
    for col in range(1,dat.shape[1],1):
      ms = MorletSpec(tvec,dat[:,col],None,None,prm)
      lspec.append(ms)
  else:
    ms = MorletSpec(tvec,dat[:,1],None,None,prm)
    lspec.append(ms)

  ntrial = len(lspec)

  if ntrial > 1:
    avgdipole = np.mean(dat[:,1:-1],axis=1)
  else:
    avgdipole = dat[:,1]

  avgspec = MorletSpec(tvec,avgdipole,None,None,prm) # !!should fix to average of individual spectrograms!!

  ltfr = [ms.TFR for ms in lspec]
  npspec = np.array(ltfr)
  avgspec.TFR = np.mean(npspec,axis=0)#,axis=0)

  return ms.f, lspec, avgdipole, avgspec
Ejemplo n.º 2
0
def extractpsd(dat, fmax=120.0):
    print('extractpsd', dat.shape)
    lpsd = []
    tvec = dat[:, 0]
    dt = tvec[1] - tvec[0]
    tstop = tvec[-1]
    prm = {'f_max_spec': fmax, 'dt': dt, 'tstop': tstop}
    for col in range(1, dat.shape[1], 1):
        ms = MorletSpec(tvec, dat[:, col], None, None, prm)
        lpsd.append(np.mean(ms.TFR, axis=1))
    return ms.f, np.array(lpsd)
Ejemplo n.º 3
0
    sampr = 1e3 / (tvec[1] - tvec[0])

    if laminar:
        print('getting CSD')
        ddat['CSD'] = getCSD(ddat['lfp'], sampr)
        if ntrial > 1:
            ddat['avgCSD'] = np.zeros(ddat['CSD'][1].shape)
            for i in range(ntrial):
                ddat['avgCSD'] += ddat['CSD'][i]
            ddat['avgCSD'] /= float(ntrial)

    print('Extracting Wavelet spectrogram(s).')
    for i in range(maxlfp + 1):
        for trial in range(ntrial):
            ddat['spec'][(trial,
                          i)] = MorletSpec(tvec, ddat['lfp'][(trial, i)][:, 1],
                                           None, None, waveprm, minwavet)
    if ntrial > 1:
        if debug: print('here')
        davglfp = {}
        davgspec = {}
        for i in range(maxlfp + 1):
            if debug: print(i, maxlfp, list(ddat['lfp'].keys())[0])
            davglfp[i] = np.zeros(
                len(ddat['lfp'][list(ddat['lfp'].keys())[0]]), )
            try:
                ms = ddat['spec'][(0, 0)]
                if debug:
                    print('shape', ms.TFR.shape, ms.tmin, ms.f[0], ms.f[-1])
                davgspec[i] = [np.zeros(ms.TFR.shape), ms.tmin, ms.f]
            except:
                print('err in davgspec[i]=')