SigViewer
SigViewer je prohlížeč a vyhodnocovač biosignálů. Je to součást projektu BioSig.
Základní údaje
[editovat]- Homepage:
- Administrátor projektu BioSig: Alois Schlögl (alois.schloegl(zavináč)first.fraunhofer.de Fraunhofer Institute for Computer Architecture and Software Technology, Intelligent Data Analysis Group, Berlin, Germany)
- Autoři programu SigViewer:
- Graz University of Technology
- Clemens Brunner, clemens.brunner(zavin)tugraz.at http://cle1109.users.sourceforge.net/ https://sourceforge.net/users/cle1109 – dotazy
- Thomas Brunner, thomas.brunner(zavin)tugraz.at
- Christoph Eibel http://waldesel.users.sourceforge.net/ https://sourceforge.net/users/waldesel (admin projektu)
- Alois Schlögl, a.schloegl(zavin)ieee.org
- Graz University of Technology
- OS: nezávislé na OS
- Licence: GNU General Public License (GPL)
- Programovací jazyk: C++
- GUI: Qt 4
Verze
[editovat]Na podstránkách jsou zkušenosti s instalací, chybami či kompilací:
- /0.1.7
- /0.2.4
- /0.2.6
- 0.3.0 2010-06-16 (Ubuntu 9.10, Windows XP/Vista/7) – kompletní port Qt3 -> Qt4
- 0.4.0 2010-07-01 (Ubuntu 10.04, Windows XP/Vista/7)
- 0.4.1 2010-07-14 (Ubuntu 10.04, Windows XP/Vista/7)
- 0.4.2 2010-08-10 (Ubuntu 10.04, Windows XP/Vista/7)
- /0.4.3 2010-09-29 (Ubuntu 10.04, Windows XP/Vista/7) – switched to new libgdf
- /0.5.0 2010-12-20 – Bug fix (memory leak) aj.
Soubory
[editovat]Dostupné na https://sourceforge.net/projects/sigviewer/files/
Binárky
[editovat]Zkompilované binárky pro různé platformy:
- sigviewer-vvv-ubuntuuuu-i386.deb – Ubuntu – platforma Intel 32 bit
- sigviewer-vvv-ubuntuuuu-amd64.deb – Ubuntu – platforma AMD 64 bit
- sigviewer-vvv-win32.exe – Windows – platforma Intel 32 bit
- sigviewer-vvv-macx.dmg – Mac OS X (v.10.5) – platforma Intel 32 bit
Vysvětlivky: vvv značí číslo verze uuu značí versi Ubuntu
Pomocné soubory
[editovat]- /libs – knihovna biosig4c++
- biosig-i386.tar.gz
- biosig.h
- libbiosig.a
- fftw3-i386.tar.gz – knihovna Fastest Fourier Transform in the West pro výpočet komplexní DFT, viz http://www.fftw.org/doc/
- fftw3.h
- libfftw3.a
- biosig-i386.tar.gz
- /extern
- libbiosig
- libgdf
Zdrojové soubory
[editovat]Zdroje, nezávislé na platformě:
- sigviewer-vvv-rrr-src.zip
Vysvětlivky: vvv značí číslo verze rrr značí číslo release
Dokumentace
[editovat]Nachází se po rozbalení zdrojových souborů v adresáři ./doc, kde je Makefile for Sphinx documentation. Proto je nutno nainstalovat v Ubuntu balík python-sphinx.
- přepneme se do adresáře ./doc
- make – výběr výstupního formátu dokumentace:
- html to make standalone HTML files
- dirhtml to make HTML files named index.html in directories
- singlehtml to make a single large HTML file
- pickle to make pickle files
- json to make JSON files
- htmlhelp to make HTML files and a HTML help project
- qthelp to make HTML files and a qthelp project
- devhelp to make HTML files and a Devhelp project
- epub to make an epub
- latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
- latexpdf to make LaTeX files and run them through pdflatex
- text to make text files
- man to make manual pages
- changes to make an overview of all changed/added/deprecated items
- linkcheck to check all external links for integrity
- doctest to run all doctests embedded in the documentation (if enabled)
Generovat jde v pohodě. Spíš je problém, že celá dokumentace patří k release 0.4.2. a je dost neúplná
Kompilace
[editovat]Vyžaduje
[editovat]- qmake – balík qt4-qmake
Externí knihovny
[editovat]- Qt 4
- qt4-core
- qt4-gui
- libgdf – balík libgdf0 v Ubuntu http://libgdf.sourceforge.net
- biosig4c++ – balík libbiosig0 v Ubuntu? http://biosig.sourceforge.net
Postup
[editovat]- instalovat vývojové prostředí Qt 4 – nejspíš balík qt4-dev-tools
- stáhnout archiv extern pro příslušnou platformu (tj. knihovny libbiosig a libgdf) a rozbalit to do stejného adresáře, kde sídlí sigviewer.pro
- vyrobíme si Makefile příkazem
qmake sigviewer.pro
- spustíme
make
Problém
[editovat]cd src/ && /usr/bin/qmake /Data60G/mir/Biosig-sourceforge/sigviewer/0.4.3/sigviewer-0.4.3-r504-src/src/src.pro -unix -o Makefile Project MESSAGE: RELEASE cd src/ && make -f Makefile make[1]: Entering directory `/Data60G/mir/Biosig-sourceforge/sigviewer/0.4.3/sigviewer-0.4.3-r504-src/src' /usr/bin/uic-qt4 gui_impl/info_widgets/power_spectrum_info_widget.ui -o ../tmp/release/ui_power_spectrum_info_widget.h /usr/bin/uic-qt4 gui_impl/dialogs/channel_dialog.ui -o ../tmp/release/ui_channel_dialog.h /usr/bin/uic-qt4 gui_impl/dialogs/event_time_selection_dialog.ui -o ../tmp/release/ui_event_time_selection_dialog.h /usr/bin/uic-qt4 gui_impl/dialogs/event_type_selection_dialog.ui -o ../tmp/release/ui_event_type_selection_dialog.h /usr/bin/uic-qt4 gui_impl/dialogs/scale_channel_dialog.ui -o ../tmp/release/ui_scale_channel_dialog.h /usr/bin/uic-qt4 gui_impl/dialogs/event_table_dialog.ui -o ../tmp/release/ui_event_table_dialog.h /usr/bin/uic-qt4 gui_impl/dialogs/about_dialog.ui -o ../tmp/release/ui_about_dialog.h /usr/bin/uic-qt4 gui_impl/signal_browser/event_creation_widget.ui -o ../tmp/release/ui_event_creation_widget.h /usr/bin/uic-qt4 gui_impl/signal_browser/event_editing_widget.ui -o ../tmp/release/ui_event_editing_widget.h /usr/bin/uic-qt4 gui_impl/signal_browser/adapt_browser_view_widget.ui -o ../tmp/release/ui_adapt_browser_view_widget.h /usr/bin/uic-qt4 gui_impl/event_table/event_table_widget.ui -o ../tmp/release/ui_event_table_widget.h /usr/bin/uic-qt4 tests/tests_dialog.ui -o ../tmp/release/ui_tests_dialog.h g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/data_block.o base/data_block.cpp g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/exception.o base/exception.cpp g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/math_utils.o base/math_utils.cpp g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/signal_channel.o base/signal_channel.cpp g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/signal_event.o base/signal_event.cpp g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/FFTReal.o signal_processing/FFTReal.cpp g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I../extern/include -I. -I../tmp/release -I../tmp/release -o ../tmp/release/notch_filter8.o signal_processing/notch_filter8.cpp In file included from signal_processing/notch_filter8.cpp:1: signal_processing/notch_filter8.h:9:37: error: boost/circular_buffer.hpp: No such file or directory In file included from signal_processing/notch_filter8.cpp:1: signal_processing/notch_filter8.h: In member function ‘void SigViewer_::NotchFilter8::filterImpl(const T&, T&, int) const’: signal_processing/notch_filter8.h:35: error: ‘boost’ has not been declared signal_processing/notch_filter8.h:35: error: expected primary-expression before ‘double’ signal_processing/notch_filter8.h:35: error: expected ‘;’ before ‘double’ signal_processing/notch_filter8.h:37: error: ‘buffer’ was not declared in this scope signal_processing/notch_filter8.h:42: error: ‘buffer’ was not declared in this scope signal_processing/notch_filter8.h:48: error: ‘buffer’ was not declared in this scope signal_processing/notch_filter8.h:53: error: ‘buffer’ was not declared in this scope make[1]: *** [../tmp/release/notch_filter8.o] Error 1 make[1]: Leaving directory `/Data60G/mir/Biosig-sourceforge/sigviewer/0.4.3/sigviewer-0.4.3-r504-src/src' make: *** [sub-src-make_default] Error 2
- Vygooglím, že boost http://www.boost.org/ jsou nějaké C++ knihovny, takže mi nejspíš chybí kus té knihovny. Jaký? circular_buffer
- Nainstaluji balík libboost-doc – je to v /usr/share/doc/libboost1.40-doc
- /usr/share/doc/libboost1.40-doc/HTML/libs/circular_buffer/doc/circular_buffer.html
- zkusím instalovat balík libboost1.40-all-dev
- jo, už to proběhlo OK
Testuji – viz /bug/3084001
Použití
[editovat]Vstupní soubory
[editovat]Menu File -> Open otevře okno k vybrání signálového souboru. Uvažují se následující formáty:
- .evt
- .edf – European data format
- .gdf – General Data Format for Biomedical Signals
- .bkr
- .cnt
Výstupní soubory
[editovat]Dle Dataformats supported by BioSig http://biosig.sf.net podporuje SigViewer pro zápis pouze formát GDF v2:
Menu
[editovat]- File
- Open Ctrl+O
- Save Ctrl+S
- Save as
- Export events
- Import events
- Info Ctrl+I
- Recent files
- Close
- Exit
- Edit
- To all channels Ctrl+A
- Copy to channels Ctrl+P
- Delete Ctrl+D
- Change channel Ctrl+N
- Change type Ctrl+T
- Event table
- Mode
- New events Ctrl+1
- Edit events Ctrl+2
- Scroll Ctrl+3
- Shift signal Ctrl+4
- Zoom Ctrl+5
- View
- Zoom in
- Zoom out
- Auto Scale
- Go To Ctrl+G
- Options
- Channels Ctrl+G
- Show Events Ctrl+G
- Help
- Log
- About SigViewer
bugs
[editovat]gdf2test.gdf
[editovat]Je to přiložený testovací soubor
- délka 31400 bytes
- informace viz File → Info
- GDF verse 1.99
- 6 kanálů, vzorkování 1000 Hz
- typ dat: int16
- délka záznamu: 10 s