DicomObjectsVIEW – ein neues LabVIEW-Toolkit zur Verarbeitung von medizinischen Bilddaten

Dr. sc. hum. Dipl.-Ing. Peter Herrmann, Klinik für Anästhesiologie, Universitätsmedizin Göttingen

"Die Kombination aus DicomObjects, LabVIEW und IMAQ Vision macht DicomObjectsVIEW zu einem interessanten Werkzeug für den Mediziner."

- Dr. sc. hum. Dipl.-Ing. Peter Herrmann, Klinik für Anästhesiologie, Universitätsmedizin Göttingen

Die Aufgabe:

Visualisierung und Analyse von computertomografischen Schnittbildern der Lunge

Die Lösung:

Auf Basis der OCX Libraries von DicomObjects7 wurde mit LabVIEW 2015 und NI Vision 2015 eine Anwendungssoftware entwickelt, die DICOM-Funktionalitäten mit grafischer Programmierung und Image Processing vereint.

Autor(en):

Dr. sc. hum. Dipl.-Ing. Peter Herrmann - Klinik für Anästhesiologie, Universitätsmedizin Göttingen

 

Diese Kundenlösung wurde im Tagungsband 2016 des Technologie- und Anwenderkongresses „Virtuelle Instrumente in der Praxis“ veröffentlicht.

 

Eingesetzte Produkte: LabVIEW, NI Vision


Kurzfassung

Unsere Arbeitsgruppe entwickelt mit LabVIEW und IMAQ Vision schon seit einigen Jahren Software-Werkzeuge zur Visualisierung und Analyse von computertomografischen Schnittbildern der Lunge. Diese Lungen-CTs liegen im sogenannten DICOM-Format (Digital Imaging and COmmunication in Medicine) vor und können bei genauer Kenntnis des Dateiformats direkt mit LabVIEW gelesen werden. Über die Jahre und bedingt durch die unterschiedlichen Fragestellungen und Forschungsprojekte ist eine Anwendersoftware (MALUNA) entstanden, die mittlerweile in vielen international kooperierenden Forschungsgruppen zur CT-Lungenanalyse eingesetzt wird. Häufige Anfragen bezüglich der Nutzung von MALUNA kamen auch von anderen Forschern. Dadurch ist die Idee für ein DICOM-Toolkit für LabVIEW entstanden. Die Umsetzung des kompletten DICOM-Standards ausschließlich mit LabVIEW erwies sich als zu kompliziert, sodass wir uns entschlossen haben, eine externe Bibliothek einzubinden. Das frei erhältliche DCMTK Toolkit von Offis in Oldenburg, welches alle DICOM-Funktionen bietet, liegt nur in einem Gemisch aus ANSI C und C++ vor. Damit alle Funktionen in LabVIEW genutzt werden können, müssten spezielle Wrapper-DLLs programmiert werden, was ebenfalls sehr zeitaufwendig ist. Wir entschlossen uns deshalb, die Libraries von Medical Connections zu nutzen. Die DicomObjects-Bibliothek liegt sowohl als OCX als auch als .NET Library vor und lässt sich problemlos in LabVIEW einbinden. Neben den wichtigsten DICOM-Diensten sind auch umfangreiche medizinische 3D-Rekonstruktionen möglich.

 

DicomObjects

DicomObjects ist ein DICOM-Toolkit (API), bestehend aus unabhängigen „Objekten“ zur schnellen und sicheren Entwicklung von DICOM-konformen Anwendungen für die medizinische Bildgebung. Die Objekte können als 32-bit- bzw. 64-bit-.NET- oder -Active-X-Objekte in LabVIEW eingebunden werden. Das DicomViewer-Objekt lässt sich zudem in einem Container als Steuerelement auf dem Frontpanel platzieren. Fast jeder Aspekt der DICOM-Bild- und -Datenmanipulation kann mit DicomObjects durchgeführt werden: u. a. Bildanzeige und Konvertierung, Netzwerk-Übertragung von Bildern und zugeordneten Daten einschließlich Arbeitslisten, DICOM-Server und -Client-Anwendungen, Drucken auf DICOM- und Windows-Druckern, Unterstützungen aller Modalitäten, Datenbankabfragen, Sicherheitsaspekte usw. Die Hauptkomponenten von DicomObjects sind:

 

DicomViewerControl: ein Active-X-Steuerelement, das in LabVIEW im Active-X-Container eingebettet werden kann. Es bietet umfangreiche Darstellungsmöglichkeiten für DICOM-Bilder sowie Datei- und Netzwerkoperationen. DicomViewer arbeitet als sogenannter Storage Class Provider (SCP) und „hört“ an verschiedenen TCP/IP-Ports. Eingehende Ereignisse wie Übertragungs-, Speicher- und Suchanfragen können mit entsprechenden Aktionen beantwortet werden.

 

DicomServer-Objekt: ein Automatisierungsobjekt ohne eine Benutzeroberfläche, welches ebenfalls einen SCP-Dienst zur Verfügung stellt. Eintreffende Ereignisse, wie beispielsweise die Übertragung von angeforderten Patientenbildern aus dem Bildarchiv, können mit der „Register Event Callback“-Funktion von LabVIEW erfasst werden. (Bild 1)

 

DicomQuery-Objekt: führt Anfragen an einen DICOM-Server (z. B. Bild-Archivierungssystem) aus, um gesuchte Patientendaten zu übertragen. Typische DICOM-Anfragen sind C_FIND, C_GET, C-MOVE.

 

DicomPrint-Objekt: macht es möglich, auf den meisten DICOM-Druckern ohne detaillierte Kenntnisse der zugrunde liegenden Nachrichten zu drucken.

 

DicomGlobal-Objekt: wird für bestimmte globale Operationen, wie das Überschreiben von Registry-Werten oder Attributen, herangezogen.

 

DicomConnection-Objekt: Mit dem Objekt kann eine Verbindung entweder automatisch als Reaktion auf eine eingehende Abfrageanforderung oder explizit vom Client-Programm erstellt werden. Methoden dieses Objekts sind für den asynchronen Nachrichtenaustausch von zentraler Bedeutung.

 

DicomDataSet-Objekt: stellt eine Reihe von Datenelementen und deren Eigenschaften zur Verfügung. 

 

DicomImage-Objekt: stellt ein SuperSet des DicomDataSet-Objekts da. Es enthält zusätzlich eine Sammlung von Attributen und die Pixeldaten des medizinischen Bilds. Das Objekt lässt sich somit auch visualisieren. Ein DicomImage-Objekt ist über die CreateObject-Methode sofort verfügbar. Aus mehreren DicomImage-Objekten kann eine DicomImages-Kollektion erstellt werden. U. a. lassen sich aus diesen Bilderstapeln DicomVolume-Objekte erstellen, aus denen wiederum mit der Methode Make3D für die Medizin typische 3D-Objekte gerendert werden (Bild 2). Das DicomImage-Objekt stellt natürlich auch alle Methoden zum Lesen der im DICOM-Standard beschriebenen Bildformate zur Verfügung (Singleframe, Multiframe, Big und Little Endian, explizite und implizite VR, alle Kompressionsverfahren, das Einlesen der Dateien über DICOMDIR etc.).

 

Weitere Objekte sind DicomAttributes zum Auslesen von speziellen Attributen und Sequenzen, DicomLabels zum Platzieren von Overlays (Text, geometrische Körper etc.) im Bild oder zum Schneiden in das 3D-Objekt und DicomContexts (DICOM Presentation Contexts).

 

Anwendungssoftware MALUNA 4

Auf Basis der OCX Libraries von DicomObjects7 wurde mit LabVIEW 2015 und NI Vision 2015 eine Anwendungssoftware entwickelt, die DICOM-Funktionalitäten mit grafischer Programmierung und Image Processing vereint. So ist es möglich, auf das medizinische Bild die unterschiedlichsten Bildbearbeitungsfunktionen von NI Vision schnell und einfach anzuwenden. Neben Routinen zur funktionellen Bildanalyse wurden u. a. auch Algorithmen zur automatischen Erkennung der gesunden Lunge programmiert. Nach Aufbau einer DICOM-Netzwerkverbindung mit dem Bildarchiv kann die Software Suchabfragen und entsprechende Übertragungen der Bilder zum Client-Rechner anfordern. Werden die Bilder übertragen, erkennt das die Software und speichert die ankommenden Daten programmatisch ab. Nach erfolgreicher Übertragung wird eine Erfolgsmeldung an den Server geschickt und die Session wird geschlossen. Die aktuelle Version von Vision bietet auch neue Features zur Klassifizierung von Texturen. Die Kombination der Algorithmen „histogramm of oriented gradients“ (HOG) und „local binary patterns“ (LBP) bieten hier sehr gute Möglichkeiten, unterschiedliche, krankhafte Veränderungen im Lungengewebe zu erkennen (Bild 3). Ein trainiertes System könnte hier den Mediziner bei der Beurteilung eines Patienten unterstützen.

 

Zusammenfassung

DicomObjectsVIEW ist ein neues Toolkit, welches es ermöglicht, die „DICOM-Welt“ in LabVIEW zu integrieren. DicomObjects lässt sich als 32-bit- oder 64-bit-Version sowohl als Active-X- als auch als .NET-Bibliothek einbinden. Neben DICOM-Funktionalitäten bietet das Toolkit auch 3D-Rekonstruktionsalgorithmen, die in der Medizin üblich sind, wie z. B. Volumen-Rendering, multiplanare Rekonstruktion oder maximale Intensitätsprojektion. Die 3D-Körper können auch über sogenannte Labels in verschiedene Ebenen geschnitten werden. Alle im DICOM-Standard beschriebenen Dateiformate und Netzwerkdienste (DIMSE) werden unterstützt und können verarbeitet werden.

 

Die Kombination aus DicomObjects, LabVIEW und IMAQ Vision macht DicomObjectsVIEW zu einem interessanten Werkzeug für den Mediziner.

 

Informationen zum Autor:

Dr. sc. hum. Dipl.-Ing. Peter Herrmann
Klinik für Anästhesiologie, Universitätsmedizin Göttingen
Göttingen 37085
Germany
Tel: +49 (0)551 39-13987
Fax: +49 (0)551 39-8676
pherrma@gwdg.de

Bild 1: Storage- SCP. Das VI wartet auf eintreffende Events (hier: Image Received) und reagiert mit entsprechenden Aktionen (z. B. Speichern).
Bild 2: Aus einer Images-Kollektion gerendertes 3D-Volumen-Objekt; multiplanare Rekonstruktion (MPR) und Volumen-Rendering (VR)
Bild 3: Programm zur Klassifizierung unterschiedlicher Typen von Lungengewebe