Procalysis HRV Lab

11/22/2010

Technologien: Java, SWT, JFace, Hardware (Polar, Suunto), digitale Signalverarbeitung (DSP)

Bei dieser Software handelt es sich um eine Produktvariante, die aus Procalysis Signal / Biomed entstand. HRV Lab ist ein kombiniertes Hard- und Softwarepaket zur Analyse der Herzratenvariabilität (engl.: Heart Rate Variability, HRV). Damit ermöglicht die Software eine minimal belastende Diagnostik der Parasympathikus-Sympathikus Interaktion. Als Hardware können Brustgurte von Suunto (Memory Belt) und Polar (Wearlink) verwendet werden, die Daten der zeitlichen Schwankungen der Herzschlagabstände wahlweise für längere Untersuchungen speichern oder für kurze Untersuchungen auch direkt drahtlos übertragen können. HRV Lab bietet die folgenden zentralen Features:

  • Echtzeit-Übertragung und Aufzeichnung der Polar Daten über die Soundkarte eines PCs. Damit ist keine zusätzliche teure Hardware zur analog-digital Wandlung mehr nötig.
  • Auslesen der Suunto Speicherdaten durch Nutzung der Suunto USB Bibliothek.
    Erzeugung der HRV Daten
    • Aus Suunto und Polar Daten können direkt HRV Signale zur weiteren Verarbeitung generiert werden.
    • Auch aus generischen EKG Daten kann durch einen speziellen, hochpräzisen Wavelet Algorithmus ein HRV Signal erzeugt werden.
    • Eine automatische Artefakt Bereinigung der HRV Daten führt zu präzisen Ergebnissen, selbst bei schlechter Signalqualität.
  • HRV Analyse auf „Knopfdruck“
    • Alle klinisch relevanten Kennwerte, sowie zusätzliche komplexe Analysen (z.B. Zeit-Frequenz Verteilung und Recurrence Plot) werden automatisch aus einem bereinigtem HRV Signal berechnet.
    • Es wird ein 4-seitiger PDF Report erzeugt, im dem alle Analyseergebnisse optisch ansprechend dargestellt werden.

Procalysis® HRV Lab kam im Rahmen verschiedener wissenschaftlicher Studien zum Einsatz und wird derzeit als marktreifes Produkt von der Simplana GmbH (www.simplana.de) angeboten.

Hauptfenster von Procalysis HRV Lab: EKG Signal mit markierten R-Zacken (oben links), Wavelet Time-Frequency-Distribution (rechts), Recurrence Plot (unten links)

Erste Seite des PDF Reports:


 


Procalysis Signal und Biomed

11/22/2010

Technologien: Java, SWT, JFace, XML, Datenbanken (Apache Derby/Java DB, HyperSQL, MySQL, Postgresql), digitale Signalverarbeitung (DSP), diverse Bibliotheken

Procalysis® („Process analysis“) ist ein modulares Softwarepaket zur einfachen Signalanalyse mit dem Schwerpunkt der Verarbeitung biomedizinischer Zeitreihen. Nach einem ersten Prototypen während meiner frühen Studienzeit konnte ich die Software im Rahmen meiner Diplomarbeit grundlegend überarbeiten und verbessern. Zu den Highlights gehören:

  • Intuitive Anwendung komplexer DSP Funktionen (z.B. FFT, Filter oder Wavelets) ohne Programmierkenntnisse.
  • Die Verarbeitung sehr großer Datenmengen (z.B. hochauflösende Zeitreihen im Gigabyte Bereich) wird durch zwei Mechanismen unterstützt.
    • Eine effiziente Speicherverwaltung mit extrem einfacher API verwendet randomisiertes Paging und Memory Mapped Files. Es werden nur jeweils kleine Bereiche des Datenobjekts im Speicher gehalten, während sich der Großteil der Daten in Dateien befindet. Die Verwaltung wurde mit der Zielsetzung entwickelt, auch noch bei konkurrierendem Zugriff (Multithreading), möglichst effizient zu arbeiten.
    • Ein spezieller Darstellungsalgorithmus skaliert optimal mit steigender Signalgröße und ermöglicht Echtzeit Zoom- und Scrollfunktionen. Für unterschiedliche Detailgrade werden hierfür zusätzliche Informationen berechnet, auf die dann statt der Originaldaten zugegriffen wird.
  • Makros oder „Click’n’Code“: Benutzer können ohne Programmierung zum Zwecke von Serienanalysen an einem Beispieldatensatz Vorgänge ausführen, die das Programm später bei beliebig vielen Objekten nachahmt. Die einfache Kombination elementarer Funktionen schafft somit höherwertige, komplexe Funktionen. Dessen automatisierte Anwendung führt zu einer imensen Arbeitserleichterung.
  • Skripte: Zur Erweiterung der Software können Skripte programmiert werden, die sich auch fest in das Programm einbinden lassen. Hierfür kam die Skriptsprache Beanshell (www.beanshell.org) zum Einsatz. Zur komfortablen Programmierung wurde ein Skript-Editor mit Syntax-Highlighting und Content Assistant entwickelt.
  • Datenportal: Zur einfachen Datenorganisation können Daten strukturiert in einer internen oder externen Datenbank abgelegt werden. Hierfür wurde ein spezielles Datenbankschema entwickelt, das hierarchische Strukturen zusammen mit Signaldaten und Zusatzinformationen verarbeitet. Eine abstrakte Datenhaltungsschicht ermöglicht die Verwendung unterschiedlicher Datenbank Systeme.

Obwohl Procalysis ca. 40 verschiedene Bibliotheken verwendet, ist ein Großteil der DSP- und Analysefunktionen in Eigenentwicklung entstanden.


Procalysis Signal / Biomed kam im Rahmen verschiedener wissenschaftlicher Studien zum Einsatz und wird derzeit als marktreifes Produkt von der Simplana GmbH (www.simplana.de) angeboten.

Hauptfenster von Procalysis: Signal Tabs (oben), Kennwerte (rechts), Datenportal (unten):

Der Skripteditor:

 


 


Reversi

11/22/2010

Technologien: Java, Applets, KI Algorithmus

Bei einer meiner ersten kleinen privaten Projekte ging es um die Implementierung des bekannten Spiels Reversi, bei dem gegnerische „Steine“ übersprungen werden, die dann dem jeweiligen Spieler zugeordnet werden.


Der Spieler hat die Möglichkeit, gegen den Computer bzw. gegen die KI anzutreten, die einen nächsten Zug anhand einer einfachen Bewertungsfunktion für Spielfeldpositionen bestimmt. Ziel dabei ist es, vorausschauend möglichst an einem Punkt im Spiel die Ecken zu erreichen. Aus allen dafür günstigen Positionen, wird diejenige ausgewählt, die die meisten „Steine“ überspringt.


 


Blog

jReflectServer 2.0
New version released | 1/4/2017

jReflectServer (formerly jReflect) has been updated. Version 2.0 allows distributed code ... Read More

DocuCast
Instantly backup your files on change | 3/21/2014

DocuCast is a real time file revision and backup system for use in professional and private ... Read More

jReflect: lightweight java web-server & -framework
3/7/2014

jReflect is a very small & lightweight java web-server and -framework for ... Read More

More Blog Entries