2D Visualisierung von Messdaten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ilja
User
Beiträge: 9
Registriert: Sonntag 23. Oktober 2005, 12:55

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
Leonidas
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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
jochim
User
Beiträge: 32
Registriert: Montag 5. August 2002, 20:47
Wohnort: Dortmund

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
ilja
User
Beiträge: 9
Registriert: Sonntag 23. Oktober 2005, 12:55

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
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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
ilja
User
Beiträge: 9
Registriert: Sonntag 23. Oktober 2005, 12:55

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?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ilja hat geschrieben:Ein Kommilitone von mir recherschiert diesbezüglich auch und ist aber auf Qt / PyQt gestossen... Kennst du dich damit auch aus?
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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten