labstreaminglayer / App-SigVisualizer

PyQt5 application for real time signal visualization

Home Page:https://github.com/labstreaminglayer/App-SigVisualizer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is it possible to put filter in SigVisualizer?

iPsych opened this issue · comments

I am trying to put the filtering or PSD calculation in the middle of SigVisualizer.
In the paintwidget.py, where is the best place to put the some code lines using scipy.signal and mne.filter?

from scipy.signal import lfilter, lfilter_zi
from mne.filter import create_filter

window = 10
n_samples = int(self.sfreq * window)
#self.sfreq=params['metadata']['srate']
#n_chans=params['metadata']['ch_count']

self.data_f = np.zeros((n_samples, self.n_chans))
self.data = np.zeros((n_samples, self.n_chans))
self.af = [1.0]
self.bf = create_filter(self.data_f.T, self.sfreq, 3, 40.,
                            method='fir')

Hi @iPsych , looks to me like this should be added somewhere under the get_data() method of class PaintWidget(QWidget). @cboulay would you have any input on whether/how we could potentially put filters here?

I tried to implement this in my fork, it seems to work well (at least as long as there is only one stream). I put the filter right into the DataThread.run method.
https://github.com/mkeute/App-SigVisualizer