Hallo!
Ich suche nach einer Möglichkeit Messdaten, zB. ein medizinisches EKG-Signal zu visualisieren (Oszilloskop-artig) und frage mich ob Python für so eine Aufgabe geeignet ist und anderen Sprachen dementsprechend bevorzugt werden soll.
Die Daten liegen zunächst als reine Abtastwerte in einer Datei vor und sollen aber später auf jeden Fall in Echtzeit empfangen/gelesen und visualisiert werden, zB von der USB-Schnittstelle oder einem (Software-) Signalgenerator (vielleicht auch in Python programmiert).
Ich hatte vorher mit Gnuplot in Kombination mit Python gearbeitet, was unheimlich schnell zu programmieren ging. In Punkto Echtzeitfähigkeit ist das aber nicht mehr ausreichend.
Das ganze ist ein Projekt einer Veranstaltung "Medizinische Messtechnik und Signalverarbeitung" im Informatikstudiengang.
Any ideas, comments, suggestions, questions?
Thanx
Ilja
2D Visualisierung von Messdaten
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Was Gnuplot kann, kann Matplot schon la.. ähm.. besser!
Alternativ könntest du eine Art Oszilloskop mit Pygame basteln. Es klingt zwar so als wäre es nur für Spiele geeignet, jedoch kann man Pygame vielfältig einsetzen. Jedoch erfordert Pygame (und SDL allgemein, da Pygame ein SDL Binding ist) ein wenig Einarbeitungszeit.
Alternativ könntest du eine Art Oszilloskop mit Pygame basteln. Es klingt zwar so als wäre es nur für Spiele geeignet, jedoch kann man Pygame vielfältig einsetzen. Jedoch erfordert Pygame (und SDL allgemein, da Pygame ein SDL Binding ist) ein wenig Einarbeitungszeit.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hi,
sieh dir mal Matplotlib an:http://matplotlib.sourceforge.net/ Der Hauptentwickler des Programmes ist Neurologe und nutzt es zur Darstellung von EEG's und ähnlichem. Zudem ist es leicht zu handhaben und bietet duch seine Backends viele Ausgabemöglichkeiten, zudem unter einer Open Source Lizenz, also kostenfrei.
MfG
Jochim
sieh dir mal Matplotlib an:http://matplotlib.sourceforge.net/ Der Hauptentwickler des Programmes ist Neurologe und nutzt es zur Darstellung von EEG's und ähnlichem. Zudem ist es leicht zu handhaben und bietet duch seine Backends viele Ausgabemöglichkeiten, zudem unter einer Open Source Lizenz, also kostenfrei.
MfG
Jochim
Danke für Antworten 
An Pygame hatten wir auch gedacht, auch wenn das vielleicht etwas überdimentionsiert ist.
Und zu Matplot: ist das das Äquivalent zu Gnuplot? Also generiert man hier statische Grafiken? Oder kann man eine 2D-Wellenform / ein Signal quasi in Echtzeit über den Bildschirm wandern lassen?
Werd mal beides ausprobieren.
Thanx again

An Pygame hatten wir auch gedacht, auch wenn das vielleicht etwas überdimentionsiert ist.
Und zu Matplot: ist das das Äquivalent zu Gnuplot? Also generiert man hier statische Grafiken? Oder kann man eine 2D-Wellenform / ein Signal quasi in Echtzeit über den Bildschirm wandern lassen?
Werd mal beides ausprobieren.
Thanx again
matplotlib ist toll und kann beides - aber mit Einschränkungen bei der interaktiven Verwendung. Ich benutzte es gerade in einer wxPython-Applikation und die ist höllisch langsam - aber darauf kommt es mir hierbei nicht an (es ist Faulheit, die mich vom Wechsel abhält
). matplotlib mit gtk soll auch wesentlich schneller sein (darüber werde ich ggf. nachdenken mal zu wechseln).
Also, wenn Du wirklich Geschwindigkeit brauchst, ist matplotlib vielleicht keine so gute Alternative - aber für Deine Applikation vielleicht schon. Ich möchte Dir den Rat geben John Hunter (erst hatte ich hier seine Mailadresse gepostet, aber das ist wohl eine schlechte Idee - probiere besser erst mal die Mailingliste: matplotlib-users@lists.sourceforge.net) direkt zu kontaktieren - schließlich ist er der Autor von Matplotlib und arbeitet damit in genau Deinem Feld. Herz, was willst Du mehr?
gnuplot & python sind auch eine gute Kombination, aber es schadet in meinen Augen dann nicht gnuplot schon zu kennen, damit der Start nicht so schwer wird. Außerdem - nur meinen Meinung! - sind die Plots nicht so schön.
Gruß,
Christian
edit: 1 x: Austausch der Mailadressen

Also, wenn Du wirklich Geschwindigkeit brauchst, ist matplotlib vielleicht keine so gute Alternative - aber für Deine Applikation vielleicht schon. Ich möchte Dir den Rat geben John Hunter (erst hatte ich hier seine Mailadresse gepostet, aber das ist wohl eine schlechte Idee - probiere besser erst mal die Mailingliste: matplotlib-users@lists.sourceforge.net) direkt zu kontaktieren - schließlich ist er der Autor von Matplotlib und arbeitet damit in genau Deinem Feld. Herz, was willst Du mehr?

gnuplot & python sind auch eine gute Kombination, aber es schadet in meinen Augen dann nicht gnuplot schon zu kennen, damit der Start nicht so schwer wird. Außerdem - nur meinen Meinung! - sind die Plots nicht so schön.
Gruß,
Christian
edit: 1 x: Austausch der Mailadressen
Vielen Dank für deine Hinweise! Bin mal gespannt auf die matplotlib, denn Gnuplot kenn ich ja schon, und finde das eigentlich auch schon sehr toll.
Auch interessant, dass der Autor von Matplotlib aus der Medizinecke kommt.
Ein Kommilitone von mir recherschiert diesbezüglich auch und ist aber auf Qt / PyQt gestossen... Kennst du dich damit auch aus?
Auch interessant, dass der Autor von Matplotlib aus der Medizinecke kommt.
Ein Kommilitone von mir recherschiert diesbezüglich auch und ist aber auf Qt / PyQt gestossen... Kennst du dich damit auch aus?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Qt ist ein GUI-Toolkit, wie wxWidgets und GTK+ es auch sind und PyQt ist ein Python-Binding dafür. Wie willst du damit Messadten visualisieren? Punkte auf die Fenster zeichnen? Klar, das ist natürlich möglich, aber das kannst du in wxPython und PyGTK ja auch. Ich habe schon einiges Gute über Qt/PyQt gehört, jedoch arbeitet PyQt noch nicht mit dem neuesten Qt4 zusammen und ich finde es auch nicht so ganz toll, dass die Sachen von zwei Firmen (Trolltech bei Qt und RiverBank bei PyQt) entwickelt werden, statt von Communitys, wobei das auch Vorteile hat.ilja hat geschrieben:Ein Kommilitone von mir recherschiert diesbezüglich auch und ist aber auf Qt / PyQt gestossen... Kennst du dich damit auch aus?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice