コード例 #1
0
 def showFilter(self):
     k="low"
     for i in self.fTypeW.keys():
         if self.fTypeW[i].get_active():
             k=i
     self.x = self.varChIn.get_var()
     Wn = []
     if k in ["low","bs","bp"]:
         Wn.append(float(self.fOpt["low"].get_value())/self.fOpt["Fs"].get_value()*2)
     if k in ["high","bs","bp"]:
         Wn.append(float(self.fOpt["high"].get_value())/self.fOpt["Fs"].get_value()*2)
     #print "butter", int(self.fOpt["order"].get_value()), Wn, k
     b,a = butter(int(self.fOpt["order"].get_value()),Wn,k)
     #print "filtfilt"
     self.y = filtfilt(b,a,self.x)
     #print "plot"
     self.canvas.hide()
     self.a.cla()
     self.a.plot(self.x[:,0])
     self.a.plot(self.y[:,0])
     self.a2.cla()
     self.a2.psd(self.x[:,0],Fs=self.fOpt["Fs"].get_value())
     self.a2.psd(self.y[:,0],Fs=self.fOpt["Fs"].get_value())
     self.a2.autoscale_view(tight=True)
     self.canvas.show()
コード例 #2
0
ファイル: mappers.py プロジェクト: thorstenkranz/eegpy
  def __init__(self, bands, border=2, baseline_interval=None, data_interval=None, Fs=1000.0, *args, **kwargs):
      """Initialize the FrequencyBandPowerMapper
 
        :Parameters:
          bands: list of 2-tuples
            list of (fl,fh), edge-frequencies for filtering
          border: int
            order of the filter to be used
          baseline_interval: 2-tuple of ints
            indices of the interval to be used for baseline correction
          data_interval: 2-tuple of ints
            indices of the interval to be used for cluster search
          args, kwargs: 
            additional arguments passed to parent class
      """
      Mapper.__init__(self,*args,**kwargs)
      self._bands = bands
      self._border = border
      self._baseline_interval = baseline_interval
      self._data_interval = data_interval
      self._Fs = Fs
      #TODO: Perform some checks, for valid intervals etc.
      #precalculate filter parameters (butter)
      self._bs = list(np.zeros((len(bands))))
      self._as = list(np.zeros((len(bands))))
      for i_b in range(len(bands)):
          [self._bs[i_b],self._as[i_b]]=butter(border,[bands[i_b][0]/(Fs/2),bands[i_b][1]/(Fs/2)], btype="band")
コード例 #3
0
ファイル: mappers.py プロジェクト: ashwinashok9111993/eegpy
  def __init__(self,
               bands,
               border=2,
               baseline_interval=None,
               data_interval=None,
               Fs=1000.0,
               *args,
               **kwargs):
      """Initialize the FrequencyBandPowerMapper
 
        :Parameters:
          bands: list of 2-tuples
            list of (fl,fh), edge-frequencies for filtering
          border: int
            order of the filter to be used
          baseline_interval: 2-tuple of ints
            indices of the interval to be used for baseline correction
          data_interval: 2-tuple of ints
            indices of the interval to be used for cluster search
          args, kwargs: 
            additional arguments passed to parent class
      """
      Mapper.__init__(self, *args, **kwargs)
      self._bands = bands
      self._border = border
      self._baseline_interval = baseline_interval
      self._data_interval = data_interval
      self._Fs = Fs
      #TODO: Perform some checks, for valid intervals etc.
      #precalculate filter parameters (butter)
      self._bs = list(np.zeros((len(bands))))
      self._as = list(np.zeros((len(bands))))
      for i_b in range(len(bands)):
          [self._bs[i_b], self._as[i_b]
           ] = butter(border,
                      [bands[i_b][0] / (Fs / 2), bands[i_b][1] / (Fs / 2)],
                      btype="band")