Commit Graph

4 Commits

Author SHA1 Message Date
Johannes Pohl
21373342db start bandpass filter in new process and make it abortable (#351)
* start bandpass filter in new process and make it abortable

* hardcode esc key, as QKeySequence.Cancel not avail on older Qts

* Default to Esc if QKeySequence.Cancel not available

* add missing space

* make filter methods static

* move multiprocessing method to top level for multiprocessing

* make coverage multiprocessing agnostic

* update coveragerc

* add test for filter abort
2017-11-02 09:24:35 -05:00
jopohl
a20ddb1d33 make bandpass filter complex so it can handle negative frequencies 2017-10-30 16:14:21 -05:00
jopohl
77d0061a78 add testfile for three channels 2017-10-28 12:33:46 +02:00
Johannes Pohl
f75e5787bf add spectrogram view and channel separation
* show getting start hint in interpretation

* add test for creating spectrogram

* add spectrogram page to signal frame
remove parent frame property from epic graphic view

* prototype for spectrogram drawing (has performance issues)

* enable yscale for spectrogram

* regen file

* enhance spectrogram performance by using QImage

* enable y scale for spectrogram

* add initial legend to spectrogram

* fix colormap location

* remove colormap legend

* add more colormaps

* make colormap configurable via ini

* make colormap configurable in settings

* make fft window size configurable

* rescale Y on signal frame resize

* adapt unittest to new api

* allow y move with drag for spectrogram view

* refactor painting backend

* enable vertical selection in spectrogram graphic view

* spectrum: fix order of y values

* use fliplr for compat

* add bandpass filter function

* add narrowband iir filter

* set lower bandwidth for test

* add windowed sinc to filter class and adapt unittest

* change default of hold shift to drag
This way making a selection does not require a key modifier by default

* add fft convolution

* add performance test for fft convolution

* speed up performance test

* fix error for small data sets

* add test for filtering channels

* use astype for compatibility with old numpy versions

* refactor context menu of graphic views

* remove fft convolve performance test to avoid random fails on CI

* fix spectrogram calculation

* fix spectrogram calculation

* improve stft performance

* show samples in view for spectrogram and allow deeper zoom

* enable zoom to selection for spectrogram

* enable start end and selection infos for spectrogram selection

* enable bandpass filtering from spectrogram

* fix selection start end behavior for spectrogram

* update spectrogram infos in start end edited

* add unittest for channel separation

* enhance architecture of spectrogram management

* add class SpectrogramSceneManager
* cache spectrogram
* fix x axis orientation
* move scene managers to painting

* redraw on fft size update

* add lod slider for spectrogram

* remove unused stuff

* add tooltip for lod slider

* update selected bandwidth on sample rate changed

* add update for gv signal on resize

* fix fftshift parameter

* remove xflip as this is corrected by fftshift now

* remove lod slider as it leads to confusion and low lods are hard to see

* clip f_low and f_high

* update spectrogram images on colormap change

* set loading cursor right before bandpass filtering signal

* add select all action with ctrl+a to graphic views

* use parameters from original signal for newly created signals

* fix noise level in unittest

* improve spectrogram performance by splitting image into segments

* avoid division by zero

* fix unittest

* improve signal redraw on resize

* add created signal right under original signal

* adapt unittest to filtered frame created under original signal

* add dialog for configure bandwidth and display default values

* make bandwidth configurable

* fix spectrogram scene rect for small signals

* make data min and data max for spectrogram configurable

* use object names for indexing settings as texts are not reliable

Some OSes insert & before texts probably for shortcuts

* use heuristic to choose normal or FFT convolution

* suggest a filename for unsaved signals based on their name

* fix subpath range calculation

* use window for subpath drawing to avoid flickering colors
2017-08-24 16:28:28 +02:00