Conference PaperPDF Available

GraphMIC: Medizinische Bildverarbeitung in der Lehre

Authors:

Abstract and Figures

Die Lehre der medizinischen Bildverarbeitung vermittelt Kenntnisse mit einem breiten Methodenspektrum. Neben den Grundlagen der Verfahren soll ein Gefühl für eine geeignete Ausführungsreihenfolge und ihrer Wirkung auf medizinische Bilddaten entwickelt werden. Die Komplexität der Methoden erfordert vertiefte Programmierkennt- nisse, sodass bereits einfache Operationen mit großem Programmieraufwand verbunden sind. Die Software GraphMIC stellt Bildverarbeitungs- operationen in Form interaktiver Knoten zur Verfügung und erlaubt das Arrangieren, Parametrisieren und Ausführen komplexer Verarbeitungssequenzen in einem Graphen. Durch den Fokus auf das Design einer Pipeline, weg von sprach- und frameworkspezifischen Implementierungsdetails, lassen sich grundlegende Prinzipien der Bildverarbeitung anschaulich erlernen. In diesem Beitrag stellen wir die visuelle Programmierung mit GraphMIC der nativen Implementierung äquivalenter Funktionen gegenüber. Die in C++ entwickelte Applikation basiert auf Qt, ITK, OpenCV, VTK und MITK.
No caption available
… 
Content may be subject to copyright.
GraphMIC: Medizinische Bildverarbeitung
in der Lehre
Alexander Eduard Szalo1, Alexander Zehner1,? , Christoph Palm1,2
1Regensburg - Medical Image Computing (ReMIC)
Ostbayerische Technische Hochschule Regensburg (OTH Regensburg), Regensburg
2Regensburg Center of Biomedical Engineering (RCBE)
OTH Regensburg und Universit¨
at Regensburg, Regensburg
info@graphmic.org
Kurzfassung. Die Lehre der medizinischen Bildverarbeitung vermittelt
Kenntnisse mit einem breiten Methodenspektrum. Neben den Grundla-
gen der Verfahren soll ein Gef¨
uhl f¨
ur eine geeignete Ausf¨
uhrungsreihen-
folge und ihrer Wirkung auf medizinische Bilddaten entwickelt werden.
Die Komplexit¨
at der Methoden erfordert vertiefte Programmierkennt-
nisse, sodass bereits einfache Operationen mit großem Programmierauf-
wand verbunden sind. Die Software GraphMIC stellt Bildverarbeitungs-
operationen in Form interaktiver Knoten zur Verf¨
ugung und erlaubt das
Arrangieren, Parametrisieren und Ausf¨
uhren komplexer Verarbeitungsse-
quenzen in einem Graphen. Durch den Fokus auf das Design einer Pipeli-
ne, weg von sprach- und frameworkspezifischen Implementierungsdetails,
lassen sich grundlegende Prinzipien der Bildverarbeitung anschaulich er-
lernen. In diesem Beitrag stellen wir die visuelle Programmierung mit
GraphMIC der nativen Implementierung ¨
aquivalenter Funktionen gegen-
¨
uber. Die in C++ entwickelte Applikation basiert auf Qt, ITK, OpenCV,
VTK und MITK.
1 Einleitung
Die Medizinische Bildverarbeitung nutzt ein breites Methodenspektrum von der
Bildverbesserung, der Merkmalsextraktion und Klassifikation, ¨
uber die Bild-
segmentierung und Bildregistrierung bis hin zur Visualisierung der Ergebnisse.
Die Besonderheiten medizinischer Bilder, insbesondere die unzureichende Ab-
grenzung von Gewebetypen, die Vielzahl an bildgebenden Modalit¨
aten und die
Varianz der Bildinhalte bei verschiedenen Patienten, aber auch beim gleichen
Patienten zu verschiedenen Zeitpunkten macht die besondere Herausforderung
?Der Autor lieferte den gleichen Beitrag zu dieser Arbeit wie der Erstautor
2 Szalo, Zehner & Palm
aus. Immer komplexere Verfahren versuchen, ¨
arztliches Vorwissen f¨
ur die au-
tomatisierte und damit objektive Verarbeitung nutzbar zu machen, verschiede-
ne Modalit¨
aten zu kombinieren oder L¨
osungsans¨
atze verschiedener Problemfel-
der gemeinsam zu bearbeiten. Ein Schl¨
ussel zur Medizinischen Bildverarbeitung
liegt damit in der detaillierten Kenntnis der gebr¨
auchlichen Verfahren in ihrer
Wirkung, der geeigneten Kombination und vor allem der problemspezifischen
Parametrisierung. Dabei m¨
ussen viele Methoden nicht von Grund auf imple-
mentiert werden. Vielmehr haben sich mehrere Programmbibliotheken etabliert,
die den Entwicklungsprozess vereinfachen sollen. Allerdings sind diese Biblio-
theken in hohem Maße komplex und auf Programmierebene nur mit großem
Aufwand kombinierbar. Die Lehre der Medizinischen Bildverarbeitung ist damit
konfrontiert, nichttriviale Methoden zu vermitteln und in praktischen ¨
Ubungen
zu vertiefen. Die Nutzung der professionellen Bildverarbeitungsbibliotheken zur
praktischen Umsetzung der Konzepte erfordert aber mitunter tiefgehende Pro-
grammierkenntnisse, die sich erst im Lauf des Studiums und der beruflichen Pra-
xis entwickeln. So sind schon einfache Vorverarbeitungsverfahren mit einem nicht
unerheblichen Aufwand zur Umsetzung verbunden, was schnelle Erfolgserlebnis-
se erschwert. Die Software GraphMIC soll den Zugang zur Bildverarbeitung im
Rahmen der Lehre erleichtern. Durch die Interaktion mit visuellen Komponen-
ten ist es m¨
oglich, Operationen aus den Bibliotheken ITK [1] und OpenCV [2]
in einem Graphen zu arrangieren, zu parametrisieren und auszuf¨
uhren. Features
wie Multithreading, die integrierte Visualisierung von zweidimensionalen (2D)
und dreidimensionalen (3D) Bilddaten und die Verarbeitung von Bildsequen-
zen erlauben das Erlernen von Methoden der Bildverarbeitung mit besonderem
Schwerpunkt auf den Einsatz in der Medizin.
2 Material und Methoden
2.1 Stand der Technik
Die Anwendungen MevisLab [3] und CASSANDRA (www.cassandra-vision.com)
setzen ebenfalls auf die visuelle Darstellung von Bildoperationen. MevisLab bie-
tet neben eigenen Modulen große Teile der Funktionen aus ITK und VTK [4].
Allerdings setzt ein effizientes Arbeiten umfangreiche Kenntnisse der Bibliothken
voraus. CASSANDRA integriert OpenCV zur Bildverarbeitung. Relevante Ei-
genschaften f¨
ur den Einsatz im medizinischen Bereich wie die Verarbeitung von
3D Bilddaten oder die Unterst¨
utzung bekannter Bildformate wie DICOM sind
nicht vorhanden. Das vielfach in der Lehre verwendete Programm ImageJ [5]
bietet zahlreiche Funktionen zur Interaktion mit Bilddaten, darunter die Erstel-
lung von Java Plugins, um die Wirkung eigener Methoden zu vermitteln [6]. In
ImageJ geht jedoch schnell aufgrund der gewachsenen Struktur die ¨
Ubersicht
und der Zusammenhang zwischen den Methoden verloren.
Die in GraphMIC verwendeten Bibliotheken ITK und OpenCV zeigen ver-
schiedene Anwendungsschwerpunkte. ITK ist f¨
ur die Verarbeitung medizinischer
Bilddaten ausgelegt und konzentriert sich insbesondere auf die Registrierung und
Segmentierung. Die Zahl der in ITK verf¨
ugbaren Bildoperationen bel¨
auft sich
GraphMIC: Medizinische Bildverarbeitung in der Lehre 3
aktuell auf ¨
uber 700. OpenCV stellt ca. 2500 Algorithmen insbesondere f¨
ur die
Echtzeitbildverarbeitung bereit.
2.2 Konzept
Ziel von GraphMIC ist die Entkopplung vom Verst¨
andnis der Methoden der Me-
dizinischen Bildverarbeitung und vertiefter Programmierkenntnisse. Das wird
durch die Abbildung der Bildoperationen auf einen Graphen erreicht, in dem
Operationen als Knoten und Kommunikationswege zum Datenaustausch von
Bildern und Parametern als Kanten darstellt werden. Durch Interaktion mit vi-
suellen Komponenten lassen sich Parameter und die Reihenfolge der Operationen
anpassen und erlauben so das Erlernen der Wirkung von Funktionen aus ITK
und OpenCV auf experimentellem Wege.
Vereinfachung durch visuelle Programmierung Nachfolgend stellen wir
die native Programmierung auf Basis des ITK Frameworks der visuellen Pro-
grammierung mit GraphMIC anhand eines einfachen Beispiels gegen¨
uber.
ITK nutzt das Template-Konzept von C++ sehr intensiv. Der Vorteil besteht
in der Wiederverwendbarkeit von Code f¨
ur diverse Bilddatentypen und Bilddi-
mensionen. Allerdings muss sp¨
atestens beim Einsatz der Bildverarbeitungsklas-
sen in einer Applikation der Typ des tats¨
achlich zu verwendenden Bildtypen
festgelegt werden (Abb. 1(1)). Mittels typedef wird dieser Typ auch f¨
ur die
verwendeten Operationen weitergegeben (Abb. 1(2)). Der Instantiierung der be-
teiligten Klassen (Abb. 1(3)) folgt die Spezifikation des zu verarbeitenden Bildes
Abb. 1. Beispielprogramm zum ITK BilateralImageFilter (vgl. [1]).
4 Szalo, Zehner & Palm
(Abb. 1(4)). Durch die Verkn¨
upfung der Ausg¨
ange (GetOutput) mit den Ein-
g¨
angen (SetInput) wird die Ausf¨
uhrungsreihenfolge festgelegt (Abb. 1(5–7)). In
dem Sinne ist ein Pipelinekonzept in ITK bereits angelegt. Der Parametrisie-
rung der Operationen (Abb. 1(5–7)) folgt die Ausf¨
uhrung der gesamten Pipeli-
ne (Update) (Abb. 1(7)). Umfangreiche Verarbeitungssequenzen sind im Code
schwierig nachzuvollziehen und zu warten. ¨
Anderungen der Pipeline erfordern ein
Anstoßen des Buildprozesses: z.B. Anwendung auf einen anderen Bildtypen, ei-
ner anderen Verarbeitungsreihenfolge oder einer anderen Parametrisierung. Das
Ergebnis der Pipeline ist nur durch Nutzung eines externen Viewers nachvoll-
ziehbar, Zwischenergebnisse m¨
ussen separat persistiert werden.
Abb. 2 zeigt die Umsetzung des Beispiels aus Abb. 1 mit GraphMIC. Bild-
operationen werden als Knoten und ihre Beziehungen als Kanten sofort erkenn-
bar. ¨
Andert sich die Konfiguration eines Knotens, werden entsprechende Ver-
bindungen farbig markiert. Damit wird der Verarbeitungszustand der Pipeline
verdeutlicht. Parameter einer Operation werden je nach Datentyp als Textbox,
Dropdown bzw. Checkbox abgebildet. Ausgef¨
uhrte Knoten geben die Berech-
nungszeit an und optionale Vorschaubilder liefern einen schnellen ¨
Uberblick ¨
uber
die Wirkung einer Methode. Im Gegensatz zum nativen Code bleibt der Bildtyp
in GraphMIC variabel, so dass der Graph z.B. durch Auswahl eines 3D Daten-
satzes eine unver¨
anderte Nutzung erlaubt, sofern die Operationen kompatibel
sind.
Performance durch native Operationen Die Datenstruktur eines Knotens
besitzt neben Logiken zur Thread- und Parameterverwaltung eine Referenz auf
die zugrundeliegende ITK bzw. OpenCV Operation. Alle Knoten k¨
onnen sowohl
mit Einzelbildern als auch Bildserien umgehen und wenden die Bildoperation f¨
ur
jedes in der Bildsequenz vorliegende Bild an. Bei der Verarbeitung wird grund-
s¨
atzlich mit dem Datentypen des Eingabebildes gearbeitet. Typkonversionen sind
Abb. 2. Umsetzung des ITK Beispiels aus Abb. 1 in GraphMIC.
GraphMIC: Medizinische Bildverarbeitung in der Lehre 5
m¨
oglich, m¨
ussen aber explizit vom Benutzer in den Graphen eingebunden wer-
den.
Integrierte Visualisierung Um bei der Betrachtung gewonnener Bilddaten
nicht auf externe Anwendungen angewiesen zu sein, ist ein auf VTK basierter
Viewer in GraphMIC integriert (Abb. 3) und erlaubt die Betrachtung von 2D
und 3D Bilddaten ohne ein vorheriges Schreiben auf den Datentr¨
ager zu erfor-
dern. Werkzeuge des Viewers erlauben die verschiedenen Interaktionen z.B. das
Setzen von Saatpunkten f¨
ur die Segmentierung oder die manuelle Vorregistrie-
rung verschiedener Modalit¨
aten.
Moderne Frameworks Die Applikation basiert auf dem Qt5 Framework und
erlaubt die plattformunabh¨
angige Programmierung (www.qt.io). Die QtQuick
Technologie erm¨
oglicht die Umsetzung eines modernen User Interfaces durch
Hardwarebeschleunigung. Der Anwendungskern profitiert von vielen High-Level
Komponenten wie der Qt Meta Language und dem signal-slot Konzept. MITK [7]
erlaubt es, die verschiedenen Kombinationen von Templateparametern in ITK
f¨
ur die dynamische Verwendung durch Makros zu umgehen.
3 Ergebnisse
Als Proof of Concept wurde die Software exemplarisch mit einer Reihe von Me-
thoden aus den Bibliotheken ITK (110) und OpenCV (40) umgesetzt, die sich
gemeinsam in einer Pipeline nutzen lassen. Abb. 3 zeigt das zugeh¨
orige User
Interface von GraphMIC. Die linke Seite bietet eine ¨
Ubersicht der angelegten
Pipelines. Der mittlere Bereich integriert den Editor zum Arrangieren der Kno-
ten. Die abgebildete Pipeline zeigt ein Beispiel f¨
ur die kombinierte Verarbeitung
von ITK und OpenCV Modulen. So wird die Kreisdetektion mit Hilfe eines
Moduls aus OpenCV berechnet, w¨
ahrend die Vorverarbeitung aus ITK Modu-
len besteht. Der rechte Fensterbereich enth¨
alt den Viewer, der die Analyse von
Ergebnisbildern bzw. Bildserien durch verschiedene Interaktionsm¨
oglichkeiten
unterst¨
utzt.
4 Diskussion
GraphMIC hat derzeit den Entwicklungsstand eines Prototyps und soll in Zu-
kunft ausgebaut werden. Neben der Integration von weiteren Modulen aus ITK
und OpenCV sollen vor allem zwei Aspekte weiterentwickelt werden: der Viewer
und benutzerdefinierte Knoten.
MITK stellt eine API f¨
ur einen Viewer mit umfangreicher Funktionalit¨
at zur
Verf¨
ugung. Sobald eine stabile Integration in Qt5 verf¨
ugbar ist, wird die MITK
Viewer API f¨
ur GraphMIC adaptiert und ersetzt den derzeitigen rudiment¨
a-
ren VTK Viewer. Ein weiteres Ziel ist die Implementierung benutzerdefinierter
Operationen mithilfe von Python. Diese sollen die Erstellung eigener Knoten
6 Szalo, Zehner & Palm
Abb. 3. Umsetzung einer Pipeline in GraphMIC zur Landmarkendetektion in Blockfa-
ceaufnahmen eines Rattenhirnschnittblocks. Die Landmarken dienen zur Registierung
der 2D Bilder zu einem 3D Modell.
erlauben und nahtlos in die Bildverarbeitungspipeline integriert werden k¨
onnen.
In Zukunft soll GraphMIC die Lehre der medizinischen Bildverarbeitung unter-
st¨
utzen. Dazu ist es geplant die Software frei zur Verf¨
ugung zu stellen.
Literaturverzeichnis
1. Ibanez L, Schroeder W, Ng L, Cates J. The ITK Software Guide Second Edition.
Kitware Inc.; 2005.
2. Bradski G, Kaehler A. Learning OpenCV: Computer Vision with the OpenCV
Library. Cambridge, MA: O’Reilly; 2008.
3. Koenig M, Spindler W, Rexilius J, Jomier J, Link F, Peitgen H. Embedding VTK
and ITK into a visual programming and rapid prototyping platform. Procs SPIE
Medical Imaging. 2006;.
4. Schroeder W, Martin K, Lorensen B. VTK Textbook 4th edition. Kitware, Inc.;
2006.
5. Rasband WS. ImageJ. U.S. National Institutes of Health, Bethesda, Maryland, USA;
1997.
6. Burge M, Burger W. Digitale Bildverarbeitung - Eine Einf¨
uhrung mit Java und
ImageJ 2nd Edition. Heidelberg: Springer Verlag; 2006.
7. Wolf I, Nolden M, Boettger T, Wegner I, Schoebinger M, Hastenteufel M, et al. The
MITK Approach. Insight Journal. 2005;.
Article
Full-text available
Objective We have created an open-source application and framework for rapid GPU-accelerated prototyping, targeting image analysis, including volumetric images such as CT or MRI data. Methods A visual graph editor enables the design of processing pipelines without programming. Run-time compiled compute shaders enable prototyping of complex operations in a matter of minutes. Results GPU-acceleration increases processing the speed by at least an order of magnitude when compared to traditional multithreaded CPU-based implementations, while offering the flexibility of scripted implementations. Conclusion Our framework enables real-time, intuition-guided accelerated algorithm and method development, supported by built-in scriptable visualization. Significance This is, to our knowledge, the first tool for medical data analysis that provides both high performance and rapid prototyping. As such, it has the potential to act as a force multiplier for further research, enabling handling of high-resolution datasets while providing quasi-instant feedback and visualization of results.
Book
Full-text available
Abstract The Insight Toolkit (ITK) is an open-source software toolkit for performing registration and segmentation. Segmentation is the process of identifying and classifying data found in a digitally sampled representation. Typically the sampled representation is an image acquired from such medical instrumentation as CT or MRI scanners. Registration is the task of aligning or developing correspondences between data. For example, in the medical environment, a CT scan may be aligned with a MRI scan in order to combine the information contained in both. ITK is implemented in C++. It is cross-platform, using a build environment known as CMake to manage the compilation process in a platform-independent way. In addition, an automated wrapping process (Cable) generates interfaces between C++ and interpreted programming languages such as Tcl, Java, and Python …
Article
Full-text available
The Medical Imaging Interaction Toolkit (MITK) is an opensource toolkit for the development of interactive medical image analysis software. MITK is based on the open-source Insight Toolkit (ITK) and Visualization Toolkit (VTK) and extends them with features required for interactive systems. ITK is used for the algorithmic scope and general infrastructure, VTK for visualization. Key features of MITK are the coordination of multiple 2D and 3D visualizations of arbitrary data, a general interaction concept including undo/redo, and its extendibility and flexibility to create tailored applications due to its toolkit character and different layers of hidden complexity. The paper gives a brief introduction into the overall concepts and goals of the MITK approach. Suggestions and participation are welcome. MITK is available at www.mitk.org. Partly supported by the Deutsche Forschungsgemeinschaft (DFG) within the project SFB 414 "Information Technology in Medicine Computer and Sensor Supported Surgery".
Book
Die Autoren geben eine fundierte Einführung in die wichtigsten Methoden der digitalen Bildverarbeitung. Dabei steht die praktische Anwendbarkeit im Vordergrund, formale und mathematische Aspekte sind auf das Wesentliche reduziert, ohne dabei auf eine präzise und konsistente Vorgehensweise zu verzichten. Der Text eignet sich für technisch orientierte Studiengänge ab dem 3.Semester und basiert auf der mehrjährigen Lehrerfahrung der Autoren zu diesem Thema. Der Einsatz in der Lehre wird durch zahlreiche praktische Übungsaufgaben unterstützt. Das Buch eignet sich auch als detaillierte Referenz für Praktiker und Anwender gängiger Verfahren der digitalen Bildverarbeitung, z.B. in der Medizin, der Materialprüfung, der Robotik oder der Medientechnik. Softwareseitig basiert das Buch auf der in Java implementierten und frei verfügbaren Bildverarbeitungsumgebung ImageJ.
Book
Überarbeitete Neuauflage des erfolgreichen Buches, das von Praktikern und Dozenten gerne eingesetzt wird. Die Autoren geben eine fundierte Einführung in die wichtigsten Methoden der digitalen Bildverarbeitung. Die praktische Anwendbarkeit steht dabei im Vordergrund, während formale und mathematische Aspekte auf das Wesentliche reduziert sind, ohne auf eine präzse algorithmische Beschreibung zu verzichten. Der Text eignet sich als detaillierte Referenz für Praktiker und Anwender gängiger moderner Verfahren der digitalen Bildverarbeitung, z.B. in der Medientechnik, Medizin, Biologie, Robotik oder Materialprüfung. Zugleich bildet das Buch eine Basis für die Lehre der entsprechenden Fächer oder zum Selbststudium. Konkrete Übungsaufgaben runden die Darstellung ab. Es basiert auf der in Java implementierten und frei verfügbaren Bildverarbeitungssoftware ImageJ. Source Code und ergänzende Materialien finden sich online auf der zugehörigen Support-Site. "Eine trockene Materie gut und spannend aufbereitet, pädagogisch überzeugend und inhaltlich bestechend: Digitale Bildverarabeitung - Eine Einführung mit Java und ImageJ ist ein offener Geheimtipp in Spezialistenkreisen" -- Wolfgang Treß, Amazon Redaktion
Article
Visualization and image processing of medical datasets has become an essential task for clinical diagnosis support as well as for treatment planning. In order to enable a physician to use and evaluate algorithms within a clinical setting, easily applicable software prototypes with a dedicated user interface are essential. However, substantial programming knowledge is still required today when using powerful open source libraries such as the Visualization Toolkit (VTK) or the Insight Toolkit (ITK). Moreover, these toolkits provide only limited graphical user interface functionality. In this paper, we present the visual programming and rapid prototyping platform MeVisLab which provides flexible and simple handling of visualization and image processing algorithms of VTK/ITK, Open Inventor and the MeVis Image Library by modular visual programming. No programming knowledge is required to set up image processing and visualization pipelines. Complete applications including user interfaces can be easily built within a general framework. In addition to the VTK/ITK features, MeVisLab provides a full integration of the Open Inventor library and offers a state-of-the-art integrated volume renderer. The integration of VTK/ITK algorithms is performed automatically: an XML structure is created from the toolkits' source code followed by an automatic module generation from this XML description. Thus, MeVisLab offers a one stop solution integrating VTK/ITK as modules and is suited for rapid prototyping as well as for teaching medical visualization and image analysis. The VTK/ITK integration is available as package of the free version of MeVisLab.
VTK Textbook 4th edition
  • W Schroeder
  • K Martin
  • B Lorensen
Schroeder W, Martin K, Lorensen B. VTK Textbook 4th edition. Kitware, Inc.; 2006.
  • W S Rasband
Rasband WS. ImageJ. U.S. National Institutes of Health, Bethesda, Maryland, USA; 1997.