<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="de">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Die Verwendung des Common Toolkits CTK in der computerassistierten Chirurgie -Eine Demo Anwendung</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">F</forename><surname>Ganglberger¹</surname></persName>
							<email>florian.ganglberger@student.i-med.ac.at</email>
							<affiliation key="aff1">
								<orgName type="department">gleichermaßen beigetragen</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Y</forename><surname>Özbek¹</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">gleichermaßen beigetragen</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">W</forename><surname>Freysinger¹</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="laboratory">Visualization Laboratory</orgName>
								<orgName type="institution">Univ. HNO Klinik</orgName>
								<address>
									<settlement>Innsbruck</settlement>
									<country key="AT">Österreich</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Die Verwendung des Common Toolkits CTK in der computerassistierten Chirurgie -Eine Demo Anwendung</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">562A69A7FF33DB7A489A4DA07A2C0ADB</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T07:45+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract/>
		</profileDesc>
	</teiHeader>
	<text xml:lang="de">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Problemstellung</head><p>Zunehmende Komplexität und Sicherheitsanforderungen stellen Entwickler bei der Umsetzung von modernen, klinisch verwendbaren Anwendungen vor neue Herausforderungen. Um diesen Problemen zu begegnen werden Frameworks wie IGSTK <ref type="bibr" target="#b0">[1]</ref>, MITK <ref type="bibr" target="#b1">[2]</ref>, CISST <ref type="bibr" target="#b2">[3]</ref> etc. eingesetzt. Sie bieten wiederverwendbare Methoden und Programmgerüste, welche die Entwicklung vereinfachen. Die aufwändige Neuimplementierung von Standardmethoden wie Visualisierung <ref type="bibr" target="#b3">[4]</ref>, Registrierung/Segmentierung <ref type="bibr" target="#b4">[5]</ref> oder Navigation <ref type="bibr" target="#b0">[1]</ref> können somit vermieden werden. Plugin Frameworks <ref type="bibr" target="#b5">[6]</ref>[7] <ref type="bibr" target="#b6">[8]</ref> sowie die Unterstützung von State-Maschinen <ref type="bibr" target="#b0">[1]</ref>   </p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>[ 6 ]</head><label>6</label><figDesc>helfen zudem den Grad an Komplexität zu bewältigen, und die Ausfallsicherheit zu erhöhen. Der zunehmende Umfang eines Frameworks kann einen höheren Aufwand für die Einarbeitung bedeuten, auch wenn nur kleine Teile davon verwendet werden. Das schlägt sich vor allem bei der Entwicklung von Prototypen und Tech-Demos zu Buche, für die aufgrund des explorativen Charakters oft nur wenig Entwicklungszeit bleibt. Dafür bieten sich schlanke Frameworks mit kurzer Einarbeitungszeit wie z.B: das Common Toolkit [7] an. CTK ist ein Open-Source Toolkit aus dem biomedizinischen Bereich, welches ein service-basierendes Plugin Framework bereitstellt [7]. Die Konzeption des CTK Frameworks erlaubt die Erstellung von modularen CAS Applikationen. Zur Zeit gibt es nur wenige umfassende Tutorials im Netz. Obwohl CTK im MITK Framework [2] verwendet wird, gibt es kaum offene Beispielapplikationen, wodurch eine effiziente Entwicklung erschwert wird. Wir nehmen in unserem Beitrag Bezug auf dieses Problem und bieten eine Einführung in das CTK Plugin-Framework, Minimalbeispiele für dessen Verwendung, sowie eine quelloffene Demo-Applikation, die als Template für Standardnavigation verwendet werden kann. Die dabei erstellten Module/Plugins können dank service-/event-basierter loser Kopplung einfach wiederverwendet werden. 2 Material und Methoden In diesem Abschnitt wird ein kurzer Überblick des Common Toolkits gegeben, sowie eine Einführung in das Plugin-Framework bzw. dessen Verwendung im Kontext der computerassistierten Chirurgie. Die dadurch gewonnenen Erkenntnisse bilden die Grundlage für die in Abschnitt 3 vorgestellte Demoanwendung. Das CTK Framework besteht aus einem umfassendem Dicom-Loader [9], einem Dicom Application Hosting System, einer Sammlung von Qt-Widgets mit Bezug auf biomedizinische Anwendungen, einem Commandline Interface und einem Plugin Framework. Die einzelnen Elemente basieren dabei auf C++ unter Verwendung von Qt-Bibliotheken [6]. Im Folgenden wird nur auf das Plugin Framework eingegangen, da es einen modularen Aufbau von CAS Anwendungen ermöglicht und die Demo-Anwendung darauf aufgebaut ist. Die anderen Funktionen des Frameworks können jedoch uneingeschränkt benutzt werden um die Demo-Anwendung zu erweitern. CTK Plugins sind modulare Einheiten innerhalb einer Applikation, die konzeptionell von einander getrennte Funktionen wie z.B. die Kommunikation zu einem Tracker, die Bereitstellung von GUI Elementen oder das Einlesen von Daten übernehmen. Plugins werden separat kompiliert und vom Plugin Framework zur Laufzeit geladen. Plugins werden über eine PluginActivator Klasse gestartet, für das parallele Ausführen von Plugins muss in dieser Klasse ein GUI-oder Background Thread gestartet werden. Jedes Plugin enthält zudem einen Pointer auf den Plugin Kontext, welcher einen Zugangspunkt zu allen geladenen Plugins und Services bietet. Das Hauptprogramm muss somit nur die Plugins starten und je nach Bedarf ein Gerüst für die grafische Oberfläche initialisieren. Die Kommunikation zwischen Plugins wird über Services bereitgestellt. Als Service werden Objekte bezeichnet, die von einem Plugin in der CTK Service Registry registriert wurden und von der CTK Service Klasse abgeleitet sind. Die CTK Service Registry dient als zentrale Anlaufstelle für Plugins, die entweder einen Service bereitstellen oder auf einen Service zugreifen möchten. Ein Service wird dabei eindeutig über sein Interface (C++ Klasse die üblicherweise nur virtuelle Methoden beinhaltet) und seine Eigenschaften (C++ Hashmap, welche Namen und Zustand als Standarddatentypen von Eigenschaften beinhaltet) definiert. Dabei müssen sowohl das Plugin, das den Service bereitstellt, als auch alle Plugins, die auf den Service zugreifen, das Interface inkludieren. Ein Plugin stellt einen Service bereit, indem er es in der CTK Service Registry registriert. Andere Plugins können der Registry unter Angabe des Interfaces und dessen Eigenschaften ein Tracker Objekt (Instanz einer Klasse, welche die abstrakte Klasse ctkServiceTracker implementiert) übergeben. Dieses Objekt wird nun benachrichtigt, sobald der Service der CTK Service Registry hinzugefügt oder entfernt wird, oder die Eigenschaften des Services geändert werden. Die Benachrichtigung erfolgt dabei synchron, weshalb Plugins, die eine Änderung am Service Objekt propagieren, keine Locks darauf haben sollten. Alternativ kann ein Plugin oder das Hauptprogramm direkt auf ein Service Objekt aus der Service Registry zugreifen, eine Manipulation des Objektes durch mehrere Plugins sollte aber aufgrund der Speichersicherheit vermieden werden. Abbildung 1a zeigt die service-basierte Kommunikation zwischen den Plugins. Plugin A stellt das Service Objekt zur Verfügung. Plugin B greift über ein Service Tracker Objekt zu, welches bei einer Änderung benachrichtigt wird. Plugin C und das Hauptprogramm greifen direkt auf das Service Objekt zu. Das Eventmanagement übernimmt dabei das CTK eigene Eventadmin Plugin, welches den Service ctkEventAdmin für das Senden von Events bereitstellt. Dieser Service ermöglicht Plugins, Events (bestehend aus Eigenschaften analog zu Services) unter einem bestimmten Topic (vom Typ QString) zu veröffentlichen. Um Events zu einem bestimmten Topic zu empfangen, müssen Plugins das Interface ctkEventHandler implementieren, und sich bei der Service Registry registrieren. Events können dabei synchron oder asynchron gesendet werden. Abbildung 1b verdeutlicht den Zusammenhang zwischen dem Eventadmin Plugin und anderen Plugins. Plugin D sendet ein Objekt unter einem bestimmten Topic, das Eventadmin Plugin ruft die handleEvent Methode von Plugin E auf (nachdem es sich vorher für das Topic registriert hat). Im Kontext der computerassistierten Chirurgie eignet sich service-basierte Kommunikation besonders für den Austausch von Daten, die nicht durch Standard C++ Datentypen beschrieben werden können, da diese nicht von Events unterstützt werden. Beispiele dafür sind die Übergabe von DICOM [9] Daten zwischen Plugins, oder von Qt GUI Elemen-</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>5 Zusammenfassung</head><label>5</label><figDesc>In diesem Beitrag wurde Bezug auf diese Probleme genommen, und eine Einführung in das CTK Plugin-Framework gegeben. Dieses ermöglicht die Erstellung von modularen CAS Anwendungen und die Einbindung von externen Bibliotheken um den Funktionsumfang zu erweitern, ohne auf größere Frameworks zurückgreifen zu müssen. In Abschnitt 2 wurde die Erstellung von Plugins beschrieben, sowie deren Kommunikation mittels Services und Plugins. Um den Einstieg in das CTK Framework zu erleichtern, und dessen Einsatz im CAS Bereich zu überprüfen, wurde eine Demo-Applikation für Standardnavigation erstellt, die in Abschnitt 3 vorgestellt wird. Der Quellcode der Demo-Applikation, Minimalbeispiele für Plugins, und ein Tutorial stehen auf www.voxelmaster.at frei zur Verfügung. Unter Verwendung dieser Hilfestellungen kann die Entwicklungen von CAS Anwendungen einfacher und effizienter gestaltet werden können.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>ten an das Hauptprogramm. Im Gegensatz dazu können asynchron übertragene Events für kleine, oft zu aktualisierende Daten wie z.B Tracker Koordinaten für Echtzeitnavigation verwendet werden. Die service/event-basierte Art des Datenaustausches ermöglicht eine lose Kopplung zwischen einzelnen Plugins, und somit den modularen Aufbau einer CAS Anwendung wie sie in Abschnitt 3 vorgestellt wird. Einmal erstellte Plugins können dadurch nicht nur ohne großen Aufwand in anderen Programmen wiederverwendet werden, sondern auch eigenen State-Maschinen beinhalten. Jedes Plugin agiert dabei als eigenständiges Modul, deren Status durch definierte Zugriffspunkte (GUI Eingaben, Service Updates und Events) verändert werden kann. Da CTK auf Qt<ref type="bibr" target="#b5">[6]</ref> basiert, bietet sich die Qt eigene State-Maschinen Implementierung an. Da Plugins beliebige Bibliotheken einbinden können, ist auch die Verwendung von anderen Umsetzungen wie etwa IGSTK<ref type="bibr" target="#b0">[1]</ref> möglich. Um den Einsatz von CTK in der computerassistierten Chirurgie zu validieren, und um den Einstieg in das Framework zu erleichtern, wurde eine Demo-Anwendung entwickelt. Sie ermöglicht das Laden von DICOM [9] Bildern, die Einbindung von Tracking Daten, deren marker-basierte Registrierung mit CT Daten, Navigation und die Anzeige von (Stereo-)Video Streams. Der Aufbau der Applikation lässt sich in drei Untergruppen Aufteilen: Hauptprogramm: Das Hauptprogramm übernimmt das Laden von Plugins und bietet ein grundlegendes Qt GUI Gerüst. Diese wird dynamisch von Service Objekten, die von Visualisierungs-Plugins registriert wurde, geladen. Das rechte Frame enthält die Visualisierung des gerade ausgewählten Plugins, das linke die Kontrollelemente für alle Plugins. Mit einem Klick auf den Plugin Titel kann ein aktives Plugin ausgewählt werden. Als Tech-Demo gedacht, erfüllt das Mikroskop Plugin keinen Nutzen für die Navigation. Das KE enthält keine Steuerelemente, im VE werden links und rechts zwei Videostreams eines Stereo-Kamera Setups angezeigt. Die Streams erhält es als GUI Element über einen Service des Mikroskop-Kommunikations Plugins. Abbildung 2 zeigt die Kommunikation zwischen Hauptprogramm, Visualisierungs-Plugins, Kommunikations-Plugins und Eventadmin-Plugin, sowie ihren Services. Das Hauptprogramm startet alle Plugins. Das kann in beliebiger Reihenfolge geschehen, da jedes Plugin über eine eigene State-Maschine verfügt. Solange noch nicht alle benötigten Services initialisiert wurde, wartet jedes Plugin in einem "wait" Status. Nach dem Starten der Visualisierungs-Plugins lädt das Hauptprogramm deren GUI Elemente in das GUI-Grundgerüst. Wurden mit dem DICOM Loader DICOM Daten geladen, wird das Service Tracker Objekt des Navigations Plugins benachrichtigt. Dadurch holt sich das Navigations-Plugin die DICOM Daten aus dem DICOM Daten Service Objekt. Erhält das Navigations-Plugin Tracker Koordinaten Events (also wenn die Tracker Kommunikation erfolgreich gestartet wurde), kann mit der Registrierung und anschließender Navigation im Navigations-Plugin begonnen werden. Von dem Prozess unabhängig, bekommt das Stereo-Mikroskop Plugin den Video-Stream als GUI Element, sobald die Mikroskop-Kommunikation initialisiert wurde. Im Vergleich zu umfassenden Toolkits im CAS Bereich bietet das Common Toolkit eine kurze Einarbeitungszeit. Obwohl beispielsweise MITK [2] auf CTK basiert, ist seine Verwendung wegen seines extensiven Funktionsumfangs mit hohem Aufwand verbunden. Im Gegensatz dazu erlaubt das CTK Plugin Framework eine effektive Entwicklung von Prototypen und Demos. Plugins können dabei dank einer service-basierten Kommunikation einfach ausgetauscht oder wiederverwendet werden. Etwaige benötigte Funktionen (z.B. Segmentierung/Registrierung, State-Maschinen) können durch Einbindung von bekannten Bibliotheken wie z.B. ITK [5] oder Qt [6] verwendet werden. Die vorgestellte Demo Applikation repräsentiert ein einfaches Beispiel für Standardnavigation unter Verwendung des Common Toolkits. Durch dessen Implementierung wurde bewiesen, dass CTK im CAS Bereich verwendet werden kann. Dank des öffentlich verfügbaren Quellcodes bietet die Demo eine Hilfestellung bei der Entwicklung mit dem CTK Plugin Framework.</figDesc><table><row><cell>3</cell><cell>Ergebnisse</cell></row><row><cell>4</cell><cell>Diskussion</cell></row><row><cell cols="2">Um eine Stereo-Mikroskop-Navigation zu ermöglichen, be-</cell></row><row><cell cols="2">steht die Möglichkeit, Events vom Tracker-Kommunikations-</cell></row><row><cell cols="2">Plugin zu empfangen sowie GUI Elemente der Navigation</cell></row><row><cell cols="2">wiederzuverwendenden. Dieses Feature wurde aufgrund der</cell></row><row><cell cols="2">Simplizität nicht implementiert.</cell></row><row><cell cols="2">Kommunikations-Plugins: Kommunikations-Plugins stellen</cell></row><row><cell cols="2">Visualisierungs-Plugins über Services und Events Informati-</cell></row><row><cell cols="2">onen zur Verfügung. Sie dienen damit als Schnittstelle zur</cell></row><row><cell cols="2">Hardware. Diese Plugins können jederzeit durch neue ersetzt</cell></row><row><cell cols="2">werden (zB. Um mit anderen Trackern kommunizieren zu</cell></row><row><cell cols="2">können), solange sie die selben Service Interfaces implemen-</cell></row><row><cell cols="2">tieren bzw. die gleichen Events senden.</cell></row><row><cell cols="2">Tracker-Kommunikation: Das Tracker-Kommunikations-</cell></row><row><cell cols="2">Plugin bildet die Verbindung zu einem spezifischen Tracker.</cell></row><row><cell cols="2">In der Demo Applikation werden mittels IGSTK [1] Marker</cell></row><row><cell cols="2">Koordinaten von einem Optotrak Certus Tracker (NDI, Deutschland) ausgelesen und per Event (über das Eventadmin-</cell></row><row><cell cols="2">Plugin) an das Navigations-Plugin geschickt. Um andere Tracker (beispielsweise über IGSTK [1] oder OpenIGTLink</cell></row><row><cell cols="2">[10]) einzubinden reicht es ein neues Tracker-Kommunikations-Plugin zu erstellen und Events an das EventAdmin-</cell></row><row><cell cols="2">Plugin zu senden.</cell></row></table><note>Visualisierungs-Plugins: Visualisierungs-Plugins stellen dem Hauptprogramm GUI Elemente über einen Service zur Verfügung. Diese bestehen aus einem Visualisierungselement (VE), welches die eigentliche grafische Darstellung übernimmt, und einem Kontrollelement (KE). Für die Demo-Anwendung wurden drei Visualisierungs-Plugins erstellt: Dicom Loader: Über das KE können CT-DICOM [9] Daten geladen werden. Im VE werden die Daten in einer kranial, sagitalen, longitudinalen sowie in einer kombinierten Ansicht dargestellt. Dafür wird der IGSTK DicomReader [1] verwendet, die GUI Elemente wurden mit dem Qt Designer [6] erstellt. Ein Pointer auf die DICOM Daten wird in einem Service Objekt gespeichert, bei dessen Aktualisierung wird das Navigations-Plugin benachrichtigt. Navigation: Das Navigations-Plugin übernimmt die marker-basierte Registrierung der DICOM [9] Daten, deren Visualisierung und die Navigation. Die Visualisierung erfolgt dabei analog zum DICOM Loader Plugin. Die Tracking Daten erhält es über asynchrone Events vom Tracker-Kommunikaions Plugin. Durch die lose Kopplung ist es möglich, das Tracker-Kommunikations Plugin beliebig auszutauschen. Stereo-Mikroskop-Visualisierung: Mikroskop-Kommunikation: Dieses Plugin implementiert die Verbindung zu einem Stereo-Kamera Setup, welches die Kameras eines Stereo-Mikroskops repräsentiert. Der Video-Stream wird als Qt GUI Element über einen Service dem Stereo-Mikroskop-Visualisierungs-Plugin bereitgestellt. Dieses Plugin stellt alle weiteren Parameter des Mikroskops (Zoom, Fokus, Position, etc.) zur Verfügung.</note></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The Book</title>
		<author>
			<persName><forename type="first">K</forename><surname>Cleary</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><surname>Igstk</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Insight</title>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The Medical Imaging Interaction Toolkit: challenges and advances</title>
		<author>
			<persName><forename type="first">M</forename><surname>Nolden</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Zelzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Seitel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Wald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Müller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">M</forename><surname>Franz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Maleike</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Fangerau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Baumhauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Maier-Hein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">H</forename><surname>Maier-Hein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">P</forename><surname>Meinzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Wolf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Computer Assisted Radiology and Surgery</title>
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">The CISST libraries for computer assisted intervention systems</title>
		<author>
			<persName><forename type="first">A</forename><surname>Deguet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kumar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Taylor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Kazanzides</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Insight</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">8</biblScope>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">J</forename><surname>Schroeder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">E</forename><surname>Lorensen</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>formerly Prentice-Hall</publisher>
		</imprint>
	</monogr>
	<note>Third edition</note>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">The ITK Software Guide</title>
		<author>
			<persName><forename type="first">L</forename><surname>Ibanez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Schroeder</surname></persName>
		</author>
		<ptr target="http://www.itk.org/ItkSoftwareGuide.pdf" />
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Kitware, Inc</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Programming with QT</title>
		<author>
			<persName><forename type="first">M</forename><surname>Dalheimer</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>O&apos;Reilly Media</publisher>
		</imprint>
	</monogr>
	<note>Second edition</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title/>
		<author>
			<persName><forename type="first">S</forename><surname>Pieper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Halle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kikinis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">3d</forename><surname>Slicer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Proceedings of the 1st IEEE International Symposium on Biomedical Imaging: From Nano to Macro</title>
		<imprint>
			<biblScope unit="page" from="632" to="635" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">SC Introduction to the ACR-NEMA DICOM standard</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">D</forename><surname>Bidgood</surname></persName>
		</author>
		<author>
			<persName><surname>Horii</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">RadioGraphics</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="page" from="345" to="355" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">OpenIGTLink: an open network protocol for image-guided therapy environment</title>
		<author>
			<persName><forename type="first">J</forename><surname>Tokuda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">S</forename><surname>Fischer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Papademetris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Yaniv</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Ibanez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Liu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The international journal of medical robotics computer assisted surgery MRCAS</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="423" to="434" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
