Informatik Forsch. Entw. (2008) 22: 147–160 DOI 10.1007/s00450-007-0038-9
REGULÄRE
BEITRÄGE
¨ Softwaretechnische Instrumentenunterstutzung ¨ ein leistungssteuerndes HNO Navigationssystem fur ¨ Michael Beyer · Andreas Rose · Emanuel Jank · J¨org Kruger
Eingegangen: 31 Januar 2007 / Angenommen: 29 Oktober 2007 / Online ver¨offentlicht: 22 Januar 2008 © Springer-Verlag 2008
Zusammenfassung Durch Einsatz von Softwaretechnik k¨onnen immer komplexere Funktionalit¨aten in Medizinger¨aten realisiert werden. In der computerunterst¨utzten Chirurgie werden Assistenzsysteme entwickelt mit dem Ziel, die Risiken bestehender Behandlungsmethoden zu minimieren und in neue chirurgische Anwendungsbereiche vorzudringen. Um die steigende Komplexit¨at solcher Systeme zu beherrschen, m¨ussen anstelle von hardwarenahen Implementierungen Abstraktionskonzepte gefunden werden, die u¨ berschaubare Programmstrukturen und problemlose Erweiterbarkeit erm¨oglichen. F¨ur das bereits klinisch evaluierte Navigationssystem FESS-Control wird mit Hilfe von bekannten Softwaretechnikmethoden ein Modell entwickelt und implementiert, das im Gegensatz zur bestehenden Implementierung die Beschreibung leistungsgesteuerter chirurgischer Instrumente auf einer abstrakten Ebene und deren sichere automatisierte Erkennung erm¨oglicht. FESS (functional endonasal sinus surgery) ist eine minimal invasive Behandlungsmethode f¨ur die Nase und Nebenh¨ohlen, bei der der Chirurg keine direkte Sicht zum Operationssitus und den Instrumenten hat. Mit dem Ziel, den Chirurgen w¨ahrend M. Beyer · A. Rose (u) · E. Jank · J. Kr¨uger Bereich Medizintechnik, Fraunhofer Institut f¨ur Produktionsanlagen und Konstruktionstechnik, Pascalstraße 8–9, 10587 Berlin, Deutschland e-mail:
[email protected] E. Jank e-mail:
[email protected] M. Beyer Fachgebiet Programmierung eingebetteter Systeme, Sekretariat FR5-6, Technische Universit¨at Berlin, Franklinstr. 28/29, 10587 Berlin, Deutschland e-mail:
[email protected]
des Eingriffs zu unterst¨utzen, verwendet FESS-Control eine optische Navigationskamera, um die r¨aumliche Lage eines Shavers bez¨uglich des Patienten und dessen Bilddaten w¨ahrend der Operation zu bestimmen. Gleichzeitig erfolgt zum Schutz sensibler Strukturen eine Leistungssteuerung des Instruments. Mit Hilfe des neuen Modells wird die Beschr¨ankung des existierenden Systems, welches nur gerade Shaverans¨atze navigiert, aufgehoben und die Verwendung weiterer in der medizinischen Anwendung ben¨otigter Shaverans¨atze erm¨oglicht. Die neue L¨osung f¨ur das FESS-Control System ist ein u¨ berzeugendes Beispiel daf¨ur, dass Methoden der Softwaretechnik auch in den Anwendungen der Medizintechnik gewinnbringend eingesetzt werden k¨onnen. ¨ Schlusselw¨ orter Instrumentenerkennung· Instrumentenmodellierung · Navigated Control · FESS-Control Abstract Software engineering can be used to realize more complex functionalities in medical devices. In computerassisted surgery, assistance systems are developed, in order to reduce the risks posed by existing surgical methods and to explore new surgical methods. To cope with increasing complexity of such systems, instead of hardware-oriented implementations, abstraction concepts are needed to realize manageable program structures and unproblematic expandability. For the already clinically evaluated navigation system FESS-Control, a model will be developed and implemented using well-known software engineering methods. Unlike to the existing implementation, the model allows the description of power-controlled surgical instruments on an abstract level and their safe automatic identification. FESS (functional endonasal sinus surgery) describes a minimally invasive surgical method for treating diseases of the nose and paranasal sinuses. The surgeon has no direct view of the
13
148
Beyer et al.
operation site and his instruments. In order to support the surgeon during the operation, FESS-Control uses an optical navigation camera to determine the spatial position of the shaver with respect to the patient and his image data during the operation. At the same time, the instrument’s power is controlled to protect sensitive tissue. The new model can be used to overcome the limitations of the existing system, which only supports straight shaver blades, and to allow the use of other shaver blades needed in medical applications. The new solution for the FESS-Control system is a convincing example of how software engineering methods can be gainfully used in medical technology.
¨ blemstellung beschrieben. Anschließend wird ein Uberblick u¨ ber den L¨osungsansatz gegeben und auf die wichtigsten Aspekte eingegangen. Nach einer Bewertung des Ansat¨ zes wird Aufgrund der Uberarbeitung des Lokalisators, der internen Softwarestruktur, der Verfeinerung des Abschaltverhaltens und des erstmalig kontrolliert navigierten Abtragens mit gebogenen Shavern in einem Experiment nachgewiesen, dass sich die verschiedenen Shaverans¨atze im System problemlos integrieren lassen und die notwendige Gesamtsystemgenauigkeit f¨ur den klinischen Einsatz erreicht wird. Abschließend wird ein Ausblick auf zuk¨unftige Weiterentwicklungen und Verbesserungen gegeben.
Keywords Instrument identification · Instrument modelling · Navigated control · FESS-Control CR subject classification J.3 · I.6.5 ¨ 1 Einfuhrung Heutzutage unterst¨utzen klinische Navigationssysteme den Chirurgen bei der chirurgischen Pr¨aparation. Auf Basis bildgebender Verfahren (z.B. CT1 , MRT2 , u.a.) erfolgt eine pr¨aoperative Planung und intraoperative Visualisierung der Position von chirurgischen Instrumenten in den Bilddaten. Die zur Verf¨ugung stehenden Systeme unterst¨utzen den Chirurgen nur passiv. Das patentierte Navigated Control Verfahren [9] beschreibt einen Ansatz zum optimalen Gewebeabtrag in der Medizin. Das Verfahren wurde bereits in mehreren chirurgischen Anwendungsf¨allen untersucht und erm¨oglicht eine aktive Unterst¨utzung des Chirurgen. In der Nasennebenh¨ohlenchirurgie wurde f¨ur die Entfernung von Polypen das FESS-Control System [8] entwickelt. Das System wurde bereits klinisch evaluiert, unterst¨utzt aber nur ein spezielles Shaverinstrument. In der medizinischen Anwendung werden aber noch weitere Shaverinstrumente eingesetzt, welche sich hinsichtlich Durchmesser, Abbiegung und Form der Spitze unterscheiden. Um auch diese Instrumente mit dem System zu unterst¨utzen, muss neben einer Hardwareanpassung auch die Implementierung der Software u¨ berarbeitet werden. Das System ben¨otigt Kenntnis u¨ ber die zu verwendenden Instrumente und sollte diese anhand spezifischer Merkmale automatisiert erkennen k¨onnen. Durch eine vorausschauende Betrachtungsweise, sollte u¨ ber die Modellierung von Shaverinstrumenten hinaus, ein m¨oglichst breites Spektrum an chirurgischen Instrumenten abgedeckt werden, um zuk¨unftig weitere Instrumente leistunggesteuert navigieren zu k¨onnen. In den folgenden Abschnitten wird zuerst der medizinische Kontext zum Verst¨andnis der darauffolgenden Pro1 CT
– Computertomogrpahie – Magnet-Resonanz-Tomographie
2 MRT
13
2 Medizinischer Kontext Bei der FESS-Behandlungsmethode wird zum Entfernen von Polypen ein Shaversystem eingesetzt. Dieses setzt sich zusammen aus einem Handst¨uck, mehreren unterschiedlichen Ans¨atzen, einer chirurgischen Einheit und einem Fußpedal. Im Handst¨uck befindet sich ein Motor, der die Klinge in der sch¨utzenden Schneidkappe des Shaveransatzes antreibt. Der Motor wird mit Hilfe der chirurgischen Einheit und dem Fußpedal angesteuert. Innerhalb der Shaverklinge befindet sich ein Absaugkanal, welcher Gewebe ansaugt und nach dem Schneiden durch die Klinge abtransportiert. Bei der Behandlung mit der FESS Methode k¨onnen schwerwiegende Komplikationen auftreten. Aufgrund der anatomischen N¨ahe zum Auge und Gehirn kann es zur Verschlechterung der Sehkraft, Gehirnhautentz¨undungen oder Einblutungen ins Gehirn [6] kommen. Ziel des FESS-Control Systems ist die exakte Umsetzung der Operationsplanung durch eine Beschr¨ankung des Arbeitsbereiches des aktiven Shavers. Das in Abb. 1 dargestellte System besteht aus einer LapDoc-Plattform als Navigationscomputer (RoboDent GmbH), Navigationskamera (POLARIS, NDI [10]), Kontrolleinheit (BZMM), chirurgische Einheit mit Fußpedal zur Steuerung der Instrumentenleistung (Storz), passiven Lokalisatoren f¨ur Shaver und Patient und einer Software mit Planungs- und Behandlungsmodul (BZMM). Die Navigationskamera ist mit dem Navigationscomputer verbunden und liefert im 20 Hz Takt die Lageinformationen der Lokalisatoren. Der Navigationscomputer wertet diese aus und sendet in Echtzeit eine Leistungsvorgabe an die Kontrolleinheit. Diese kapselt die Ein- und Ausg¨ange der chirurgischen Einheit und kann die Leistungszufuhr zum Shaver unterbrechen. Mit Hilfe eines CD-ROM Laufwerkes im Navigationscomputer werden die Patientenbilddaten in das System geladen. Die Registrierung der Bilddaten zum Patientenlokalisator erfolgt durch eine Bissschiene mit Navigationsbogen [11], die der Patient w¨ahrend der Bildaufnahme und Operation tr¨agt.
Softwaretechnische Instrumentenunterst¨utzung f¨ur ein leistungssteuerndes HNO Navigationssystem
149
Abb. 2 Shaver mit Shaveransatz 4 mm 65◦ ; vier weitere Shaverans¨atze 2 mm; 3 mm; 4 mm und 4 mm 35◦
Abb. 1 FESS-Control System
Die Anwendung des Systems unterteilt sich in zwei Phasen. In der Planungsphase l¨adt der Chirurg pr¨aoperative CT-Bilddaten in den Navigationscomputer und zeichnet in den axialen Schnittbildern den Arbeitsbereich des Instruments ein. Zu Beginn der Behandlungsphase wird eine Registrierung des Shavers durchgef¨uhrt, bei der die Geometrie des Instruments u¨ berpr¨uft und ggf. erneut vermessen wird. W¨ahrend der Operation wird die Lage des Instruments in den CT-Bilddaten eingeblendet und relativ zur Planung u¨ berpr¨uft. Verl¨asst das Shaverinstrument den definierten Arbeitsbereich, unterbricht das Navigationssystem die Instrumentenleistung und verhindert dadurch die u¨ berm¨aßige Entfernung von Gewebe. FESS-Control wurde bereits an 10 Patienten in der Uni-Klinik Leipzig klinisch evaluiert [4]. Dabei wurde festgestellt, dass weniger Blickachsenwechsel des Chirurgen zwischen Endoskop- und Navigationsbildschirm erfolgten und der zeitliche Aufwand dem der konventionellen Methode entsprach.
3 Technische Randbedingungen Aufgrund des engen Zugangsweges durch die Nase und der anatomischen Begrenzungen werden Shaver in verschiedenen Ausf¨uhrungen angeboten. Beispielsweise ist die Verwendung des 60◦ gebogenen Shaveransatzes f¨ur die Stirnh¨ohlen sinnvoll [7]. In der Abb. 2 sind verschiedene Shaverans¨atze
dargestellt, die sich hinsichtlich Durchmesser, Abbiegung und Schneidefenster unterscheiden. Das vorhandene FESSControl System unterst¨utzt nur den geraden Shaveransatz mit 4 mm Durchmesser. Diese Beschr¨ankung ergibt sich hardwareseitig aufgrund des 5-DoF3 Instrumentenlokalisators und softwareseitig durch eine statische Implementierung. Auf dem Markt existieren bereits Systeme, die beliebige Instrumente vermessen k¨onnen. Diese besitzen aber nur unvollst¨andige Informationen u¨ ber den geometrischen Aufbau des Instruments, bzw. betrachten das Instrument auf einer zu abstrakten Ebene, auf der f¨ur die Navigation mit Leistungssteuerung ben¨otigte Details verloren gehen. Die einfache Erweiterung der Software des vorhandenen Systems durch zus¨atzliche Fallunterscheidungen an den entsprechenden Stellen, w¨urde zu un¨ubersichtlichen und mit zunehmender Instrumentenanzahl (aufgrund der Zustandskombination) zu immer komplexer werdenden Quellcode f¨uhren. Dieser w¨urde schlecht wartbar und das Hinzuf¨ugen und Entfernen von Instrumenten sehr ineffizient, zeitaufwendig und fehleranf¨allig. Ben¨otigt wird eine M¨oglichkeit der Modularisierung der Instrumente, mit der Instrumente u¨ ber Schnittstellen adaptiert und parametrisierte Programmteile wiederverwendet werden k¨onnen. ¨ Neben den strukturellen Anderungen des Programmaufbaus ergeben sich auch Probleme bei der Visualisierung und Berechnung der Leistungsvorgabe von Instrumenten. Die Visualisierung muss generisch an den vermessenen Parametern des Instruments angepasst werden und bei der Berechnung der Leistungsvorgabe muss die Form gr¨oßerer Instrumente ber¨ucksichtigt werden. Im vorhandenen System wird die Leistungsvorgabe auf Basis einer voxelbasierten Darstellung der Planung in der Aufl¨osung der Patientenbilddaten bestimmt. F¨ur die als Punkt approximierte Instrumentenspitze braucht demzufolge nur gepr¨uft werden, ob das entsprechende Voxel innerhalb oder außerhalb des Arbeitsraumes liegt. Dies hat den Vorteil, dass die Bestimmung der 3 DoF – Freiheitsgrade
(Degrees of Freedom)
13
150
r¨aumlichen Lage unabh¨angig von der Komplexit¨at der Planung in Echtzeit berechenbar ist. Nachteil an diesem Verfahren ist, dass die als Polygon eingezeichnete Kontur zur Leistungssteuerung rasterisiert wird. Um den hohen Genauigkeitsanforderungen aus der medizinischen Problemstellung gerecht zu werden, muss ein Modell gefunden werden, mit dem die Ausdehnung der Instrumentenspitze ber¨ucksichtigt und die Planung geometrisch exakt umgesetzt werden kann. Ein weiteres Problem ergibt sich durch die zus¨atzliche Benutzerinteraktion, die sich bei mehreren Instrumenten aufgrund der Auswahl ergibt. Die zus¨atzliche Interaktion sollte m¨oglichst minimal und intuitiv f¨ur technisch ungeschulte Benutzer sein.
4 Erweiterungen des Systems Neben der notwendigen technischen Erweiterung beschrie¨ ben im n¨achsten Abschnitt, wird im Folgenden ein Uberblick u¨ ber die softwaretechnische Realisierung gegeben, um die zuvor genannten Probleme zu l¨osen. Mit Hilfe von Objektorientierung, abstrakten Modellen aus verschiedenen Sichten (Geometrie, Workflow, Darstellung), Spezialisierung und zur Hilfenahme von Design Patterns wird ein Instrumentenmodell entwickelt, mit dem alle zum leistungsgesteuerten Navigieren ben¨otigten Merkmale im System abgebildet werden. Dies erm¨oglicht eine schlanke Schnittstelle auf einem abstrakten Niveau. Die f¨ur die Visualisierung und Leistungssteuerung ben¨otigten Informationen k¨onnen aus dem Modell abgeleitet und mit Ans¨atzen aus der Computer Graphics entsprechend verarbeitet werden. Auf Basis einer Menge vormodellierter Instrumente wird das Instrument automatisch identifiziert. Ausgehend vom Beginn der Behandlung ist das benutzte Instrument noch undefiniert, aber auf Grund der notwendigen Registrierung vor dem Einsatz kann anhand der Unterschiede im geometrischen Aufbau und dem Workflow der Registrierung das Instrument automatisiert erkannt werden. Nach einer kurzen Beschreibung und Begr¨undung der hardwareseitig notwendigen Modifikation wird die Realisierung des Systems vorgestellt und am Fallbeispiel der verschiedenen Shaverans¨atze n¨aher beschrieben.
5 Lokalisatorbefestigung und Instrumentenvermessung Zur optischen Vermessung der r¨aumlichen Lage des Shaverinstruments wurde der in Abb. 3 dargestellte 6-DoF Instrumentenlokalisator konstruiert. Dieser kann im Gegensatz zu einem universellen Instrumentenadapter, welcher beliebig am Instrument befestigt werden kann, eindeutig repositionierbar an beliebige Shaverans¨atze der Firma Storz montiert werden. Die Lokalisatorbefestigung umschließt den Shaveransatz mit einem passgenauen Zylinder. Die axiale Fixie-
13
Beyer et al.
Abb. 3 6-DoF Instrumentenlokalisator
rung erfolgt in Richtung des Handst¨ucks durch einen Zylinderdeckel mit einer Bohrung zum Durchf¨uhren der Anschl¨usse und andererseits durch eine Kappe, die mit dem Zylinder verschraubt wird. Die axiale Verdrehung des Shaveransatzes wird durch eine Einkerbung im Zylinder verhindert, welche den Orientierungsstift am Shaveransatz umschließt. Durch die Repositionierbarkeit wird gew¨ahrleistet, dass die ungef¨ahre Lage der Instrumentenspitze aus einer vorherigen Vermessung bekannt ist und als Unterscheidungsmerkmal f¨ur eine automatisierte Instrumentenauswahl verwendet werden kann. Die r¨aumliche Lage der Instrumentenspitze relativ zur Lokalisatorbefestigung wird im FESS-Control System durch die Kalibrierung der Wirkachse und Registrierung der Instrumentenspitze auf die zuvor ermittelte Wirkachse wie folgt bestimmt: • Bei der Kalibrierung wird die Shaverspitze in eine passgenaue Sackbohrung eines Kalibrierk¨orpers mit Lokalisator gesteckt. Das Navigationssystem kennt die ungef¨ahre Lage der Kalibrierachse aus einer vorherigen Kalibrierung und vergleicht diese mit der Kalibrierbohrung. Stimmen die Lagen der Achsen ungef¨ahr u¨ berein, startet der Kalibrierprozess. W¨ahrend der Kalibrierung werden in mehreren Zyklen Positions- und Orientierungsdaten der Bohrachse im Koordinatensystem des Instrumentenlokalisators gespeichert. Abschließend wird die Wirkachse des Shavers durch Mittelung der Daten berechnet. • Zur Registrierung wird die Spitze des Shavers an den Registrierpunkt des Patientenlokalisators gehalten. Das Navigationssystem berechnet den Abstand des Registrierpunktes zur ermittelten Wirkachse des Instruments. Der Registrierprozess startet, wenn der Abstand ann¨ahernd null ist. Es wird die Position des Registrierpunktes auf der Wirkachse des Instruments u¨ ber einen bestimmten Zeitraum aufgezeichnet. Ist die Ver¨anderung des Abstandes vom Registrierpunkt zur Wirkachse des Instruments gegen¨uber dem Initialwert zu groß wird die Registrierung zur¨uckgesetzt. Dadurch ist gew¨ahrleistet, dass sich die Instrumentenspitze wirklich am Registrierpunkt befindet. Die Position der Instrumentenspitze ergibt sich aus der Mittelung der aufgezeichneten Positionen.
Softwaretechnische Instrumentenunterst¨utzung f¨ur ein leistungssteuerndes HNO Navigationssystem
Die Kalibrierung des Instruments braucht auf Grund der Repositionierbarkeit des Instrumentenlokalisators nur einmal initial durchgef¨uhrt werden. Durch die notwendige Registrierung wird die gespeicherte Kalibrierung indirekt u¨ berpr¨uft. Ist die vorhandene Kalibrierung zum Registrieren zu ungenau, kann das Instrument jederzeit mit Hilfe des Kalibrierk¨orpers erneut kalibriert werden.
6 Softwaretechnische Modellierung Die vorhandene Implementierung wird als ein Framework betrachtet. Ein Framework ist ein Programmierger¨ust f¨ur eine bestimmte Anwendungsdom¨ane, in unserem Fall die Navigationsumgebung des chirurgischen Instruments. Die zu navigierenden Instrumente werden als Komponenten im Framework registriert. Die Instrumentenkomponente selbst ist ein Modell, das dem Framework die ben¨otigten Merkmale zum Navigieren zur Verf¨ugung stellt. Dies wird entweder durch Zugriff auf bestimmte Daten oder durch Aufruf von Funktionen mit ben¨otigten Umgebungsparametern realisiert. Das Modell setzt sich aus vier abstrakten Sichten auf das Instrument zusammen. Jede Sicht ist wiederum eine Art Teilmodell, indem das Instrument beschrieben wird. Betrachtet man verschiedene Instrumente miteinander ergeben sich folgende Sichten: • Geometrischer Aufbau Jedes Instrument besitzt einen geometrischen Aufbau, welcher mindestens einen Lokalisator und eine Instrumentenspitze enth¨alt. Zwischen diesen beiden Objekten k¨onnen sich beliebig weitere Objekte befinden, welche eine r¨aumliche Lagebeziehung zueinander besitzen. • Instrumentenvermessung In Abh¨angigkeit vom geometrischen Aufbau des Instruments sind verschiedene Verfahren zur Vermessung der Instrumentengeometrie notwendig, um die r¨aumliche Lage der Instrumentenspitze zum Patientenlokalisator zu bestimmen. • Visualisierung Zur realistischen Darstellung des Instruments in den Bilddaten, muss eine entsprechende Visualisierung des Instruments definiert werden. Diese kann statisch implementiert oder dynamisch zur Laufzeit anhand des vermessenen geometrischen Aufbaus generiert werden. • Aktiver Bereich Der aktive Bereich ist der wirksame Teil des Instruments, der w¨ahrend der Anwendung vollst¨andig innerhalb des geplanten Arbeitsvolumens sein muss. Im Falle des Shavers entspricht dies dem Schneidefenster. Auf Basis der Teilmodelle, l¨asst sich eine abstrakte Instrumentenschnittstellenklasse deklarieren, die sich aus Zugriffsfunktionen auf die jeweiligen Teilmodelle zusammensetzt. In den folgenden Unterabschnitten wird der Aufbau
151
jedes Teilmodells vorgestellt und jeweils die Modellierung des Shavers mit Hilfe des Teilmodells beschrieben. 6.1 Modellierung des geometrischen Aufbaus Zur Modellierung des geometrischen Aufbaus wurde die aus der Robotik bekannte kinematische Kette verwendet [5]. Laut Definition ist eine kinematische Kette ein System aus starren K¨orpern, die durch Gelenke verbunden sind. Die Gelenke k¨onnen dabei unterschiedliche Freiheitsgrade besitzen. In der Implementierung werden die starren K¨orper von der Klasse Objekt abgeleitet und die Gelenke von der Klasse ¨ ¨ Ubergang. Die in Abb. 4a dargestellte Klasse Ubergang verbindet zwei Objekte indem sie als Attribute, Zeiger auf die zu verbindenden Objekte und zur Beschreibung des ¨ Ubergangs eine homogene 4 × 4 Transformationsmatrix und einen Eigenschaftsvektor besitzt. Der Eigenschaftsvektor ist ein Bitvektor, in dem bspw. Informationen der folgenden Art gespeichert werden: G¨ultigkeit der 4 × 4 Matrix, ¨ im Falle eines Ubergangs der noch nicht kalibriert oder ¨ registriert wurde; Sichtbarkeit, im Falle eines Ubergangs dessen Pfad u¨ ber die Kamera f¨uhrt und Durchschnittliche Sichtbarkeit, die Sichtbarkeit ist u¨ ber einen bestimmten Zeitraum nicht unterbrochen. In Abb. 4b ist eine einfache kinematische Kette skizziert. Die Objekte werden als ¨ Kreise und die Uberg¨ ange als Linien zwischen den Objekten dargestellt. ¨ Um den Ubergang von Objekt B nach A in Abb. 4b (gestrichelt dargestellt) zu ermitteln, muss der k¨urzeste Pfad innerhalb des Graphen bestimmt werden. Dieser geht von B ¨ nach C zu A. Der resultierende Ubergang ergibt sich aus der ¨ Verkn¨upfung der Ubergangsinformationen entlang des Pfa¨ des. Die homogene Ubergangsmatrix berechnet sich aus der Multiplikation der Matrizen des Pfades. Ist die Pfadrichtung ¨ entgegengesetzt der Ubergangsrichtung, muss die Matrix invertiert werden. F¨ur das Beispiel aus Abb. 4b ergibt sich folgende Berechnung: −1 B TA =B TC · A TC . (1) ¨ Ahnlich den Matrizen werden die Eigenschaften der ¨ Uberg¨ange logisch verkn¨upft. Dabei m¨ussen einige Eigen-
¨ Abb. 4 a Struktur der Klasse Ubergang; b einfache kinematische Kette
13
152
Beyer et al.
schaften verundet und andere verodert werden. Mit Hilfe einer Bitmaske m, die an der Stelle der zu verodernden Elemente mit eins initialisiert ist und ansonsten mit null, ergibt sich aus den Eigenschaftsvektoren e1 und e2 der Eigenschaftsvektor e12 mit: e12 = e1 ∧ e2 ∨ m ∧ e1 ∨ m ∧ e2 .
(2)
Eine kinematische Kette ist demzufolge ein Container ¨ aus Uberg¨ angen, die zusammengesetzt einen gerichteten Graph bilden. Bei der Erzeugung der kinematischen Kette wird sichergestellt, dass der Graph nicht zyklisch und somit eine offene kinematische Kette ist. W¨are der Graph ¨ zyklisch, k¨onnten durch falsch gesetzte Uberg¨ ange in den Zyklen Inkonsistenzen auftreten. Zur Vermeidung einer Tiefen- oder Breitensuche bei der Bestimmung des k¨urzesten Pfades zur Laufzeit, werden f¨ur jedes Objekt, was dem Graph hinzugef¨ugt wird, zus¨atzliche Richtungsinformationen erzeugt. Die Richtungsinformationen sind in Form eines bin¨aren Suchbaums implementiert, wobei das Zielobjekt der Suchschl¨ussel und der n¨achste ¨ zu traversierende Ubergang der Wert ist. Es ergibt sich f¨ur einen Pfad der L¨ange l und einem ausbalancierten Suchbaum mit n Objekten ein Suchaufwand von O(l · log(n)). Die Beschreibung des geometrischen Aufbaus der OPSituation mit Hilfe kinematischer Ketten erfolgt einerseits f¨ur das Instrument und andererseits f¨ur die restlichen Komponenten. Die gesamte OP-Situation ergibt sich demzufolge durch das Verbinden der kinematischen Ketten aller Komponenten. Die Verbindung zweier kinematischer Ketten erfolgt entweder durch ein gemeinsames Verbindungsobjekt ¨ oder einen Ubergang zwischen beiden Ketten. Anschließend hat jede Kette Zugriff auf die Elemente der anderen. Zwei verbundene Ketten verhalten sich nach außen wie eine große Gesamtkette. Das Konzept der Richtungsinformationen zur Aufwandsminimierung der Suche innerhalb einer Kette, wurde kettenbergreifend erweitert. In einem zweiten bin¨aren Suchbaum werden als Suchschl¨ussel die Zielobjekte der verbundenen Ketten verwendet und als Wert ein Tripel bestehend aus: einem Verbindungsobjekt innerhalb der eigenen Kette, was als erstes Zwischenziel erreicht werden muss und einen Zeiger auf die Kette und das enthaltende Verbindungsobjekt des direkten Partners in der die Traversierung fortgesetzt wird. Zuerst wird der Pfad bis zum Verbindungsobjekt innerhalb der eigenen Kette berechnet. Anschließend wird in der direkten Partnerkette die Berechnung rekursiv fortgesetzt, bis das Zielobjekt erreicht wird. In Abb. 5 ist ein Ausschnitt des geometrischen Aufbaus der OP-Situation skizziert. Eine kinematische Kette ist als ¨ Umrandung der enthaltenden Objekte und Uberg¨ ange dargestellt. Die kinematische Kette des Kalibrierk¨orpers wird u¨ ber das Navigationsmodul mit der kinematischen Kette des
13
,,gebogenen Shavers“ verbunden. Dazu wurde im Navigationsmodul das Kameraobjekt untergebracht, welches zwei ¨ inzidente Uberg¨ ange zu den Lokalisatorgeometrien besitzt, die anhand der realen Kameramesswerte zyklisch aktualisiert werden. Im Aufbau des Kalibrierk¨orpers wurden die ¨ Kalibrierbohrungen durch einen bekannten Ubergang zur Lokalisatorgeometrie verbunden. Die Verbindung der Lokalisatorgeometrie des Shavers mit der Wirkachse erfolgt durch einen Kalibrier¨ubergang und von der Wirkachse zur Spitze mittels eines Registrier¨ubergangs. Die beiden zuletzt ¨ ¨ genannten Uberg¨ ange erben von der Klasse Ubergang und erweitern diese um spezifische Informationen. Die Abb. 5 zeigt beispielsweise, dass der Kalibrier¨ubergang um einen Zeiger auf das Kalibrierobjekt erweitert wurde, gegen welches die Kalibrierung erfolgte. Zus¨atzlich wird die Qualit¨at der letzten Kalibrierung gespeichert, um sie mit folgenden Kalibrierungen zu vergleichen und ggf. neue Kalibrierungen mangels schlechterer Qualit¨at zur¨uckzuweisen. Die kinematische Kette hat den Vorteil, dass man die OP-Situation beliebig mit Hilfe der vordefinierten Komponenten konfigurieren kann und dass Instanzen beim Abfragen von ¨ Uberg¨ angen keine Kenntnis u¨ ber die innere geometrische Struktur ben¨otigen. 6.2 Implementierung der Prozesskette mittels Design Patterns Zur Beschreibung des Workflows w¨ahrend der Behandlung werden Prozesse verwendet. Prozesse definieren den Ablauf mittels Zustands¨uberg¨angen im System und eigenen sich daher zur zeitlichen Beschreibung von Vorg¨angen
Abb. 5 Beschreibung der OP Situation durch das Verbinden der einzelnen kinematischen Ketten
Softwaretechnische Instrumentenunterst¨utzung f¨ur ein leistungssteuerndes HNO Navigationssystem
w¨ahrend der Operation, zu denen die Instrumentenvermessung geh¨ort. Intern besteht ein Prozess aus einer Zustandsmaschine, die den Ablauf des Prozesses bzw. des Messverfahrens beschreibt. Zustands¨uberg¨ange werden durch das Observieren des Systemzustands und der Taktung ausgel¨ost. Dazu besitzt jeder Prozess eine update-Methode, mit der ¨ die Uberpr¨ ufung periodisch ausgef¨uhrt wird. Im Fall der Instrumentenvermessung betrachten die Prozesse die kinematische Kette der OP-Situation, um die Lagebeziehung von Objekten zu u¨ berpr¨ufen. Deshalb erfolgt das Aktualisieren der Prozesse immer nach dem Einlesen der neuen Kameramesswerte. Aufgrund der einfachen Schnittstelle, k¨onnen Prozesse beliebig verschachtelt und zu Prozessketten aneinandergereiht werden. Es entsteht eine Abarbeitungsreihenfolge, indem iterativ die update-Methoden der Prozesse aufgerufen werden. Zur Priorisierung der Prozessreihenfolge, wird bei jedem update-Aufruf die Aktualisierungsart als Parameter u¨ bergeben. Es wird unterschieden zwischen einer aktiven Aktualisierung, bei der ein Prozess aktiv in den Vordergrund treten darf, um mit dem Benutzer zu interagieren oder einer passiven Aktualisierung, die nur zum Aktualisieren interner Daten vorgesehen ist. Wird ein Prozess aktiv aktualisiert und ist seine Startbedingung erf¨ullt, tritt dieser in den Vordergrund, um mit dem Benutzer zu interagieren. Anschließend werden alle nachfolgenden Prozesse passiv aktualisiert. Die Interaktion zwischen Benutzer und aktiven Prozess kann auf zwei Arten erfolgen: • Asynchrone Benutzerinteraktion tritt auf, wenn der Benutzer u¨ ber ein Hinweisfenster zur Durchf¨uhrung einer bestimmten Aktion mit dem Instrument aufgefordert wird. Der Inhalt des Hinweisfensters wird nach dem Model-View-Controller Design Pattern periodisch aktualisiert. Die Benutzeraktion wird in der Update-Phase der Prozesse, durch die Zustandsmaschine des aktiven Prozesses interpretiert. Ein weiterer Fall von asynchroner Benutzerinteraktion kann auftreten, wenn der Benutzer beispielsweise die Kalibrierung des aktuell verwendeten Instruments erzwingen m¨ochte. In diesem Fall, erfolgt eine Anfrage von außen an die Prozesskette, welche mit Hilfe des Chain of Responsibility Design Patterns [3] verarbeitet wird. Die Bearbeitung einer Anfrage durch die Prozesskette erfolgt durch Iteration u¨ ber die Prozessreihenfolge. An den Prozessen wird die Methode process (Anfrage) mit der Anfrage als Parameter aufgerufen. Wurde die Anfrage von einem Prozess bearbeitet, erfolgt der Abbruch der Iteration. • Synchrone Benutzerinteraktion ist erforderlich, wenn ein Prozess eine Anfrage stellt, die nicht vom System bearbeitet werden kann und eine Entscheidung vom Benutzer erfordert. Beispielsweise muss eine Kalibrierung mit schlechterer Qualit¨at als die vorherige vom Benutzer entschieden werden oder das erkannte Instrument best¨atigt
153
¨ werden. Anfragen dieser Art erfordern das Offnen eines Dialoges und die Unterbrechung der Prozessverarbeitung, bis die Anfrage bearbeitet wurde. In der Implementierung werden Anfragen durch einen Stack im aktiven Prozess realisiert, welcher immer nach der Update-Phase abgearbeitet wird. Kann eine Anfrage nicht vom System bearbeitet werden, wird ein Dialogfenster ge¨offnet. In Abh¨angigkeit der Entscheidung des Benutzers wird die entsprechende Aktion ausgef¨uhrt und die Prozessverarbeitung fortgesetzt. Die Ausf¨uhrung der m¨oglichen Folgeaktionen wird mit Hilfe des Command Processor Design Pattern [3] realisiert. F¨ur jede m¨ogliche Auswahl wird daf¨ur ein Kommando in der Anfrage hinterlegt. Mit Hilfe der Prozessketten l¨asst sich die Instrumentenvermessung durch die Aneinanderreihung mehrerer Messverfahren beschreiben. Die Messverfahren sind als Prozesse implementiert, die geometrische Parameter eines Instruments auf Basis der Kameradaten bestimmen. In Abb. 6 ist die Prozesskette f¨ur die Vermessung des gebogenen Shavers dargestellt. Betrachtet man beispielsweise den Kalibrierprozess in der Prozesskette des gebogenen Shavers, dann kann dieser erst in den Vordergrund treten, wenn die Sichtbarkeit des Instruments nicht mehr gefordert wird. Als Parameter erh¨alt der Kalibrierprozess den Kalibrier¨ubergang aus Abb. 5 und Zugriff auf die kinematische Kette. Im Kalibrier¨ubergang existiert ein Verweis auf die ben¨otigte Kalibrierbohrung. Mit Hilfe des Zugriffs auf die kinematische ¨ Kette kann der Ubergang zwischen Wirkachse und Kalibrierbohrung bestimmt werden. Befindet sich die Wirkachse des Shavers ungef¨ahr in der Kalibrierbohrung, startet der Kalibrierprozess und tritt aktiv in den Vordergrund. Die Kalibrierung erfolgt u¨ ber mehrere Zyklen und endet mit dem Setzen der vermessenen Daten. Durch die strikte Trennung von Verhalten und Geometrie, lassen sich die Messverfahren durch eine andere Instanziierung problemlos auf andere Instrumente u¨ bertragen, bzw. durch Spezialisierungen noch verfeinern.
Abb. 6 Prozesskette des gebogenen Shavers
13
154
Beyer et al.
Abb. 8 Approximierter aktiver Bereich der Shaverspitze Abb. 7 Indizierte Dreiecksmasche des 65◦ gebogenen Shaveransatzes mit Lokalisatorbefestigung
6.3 Visualisierung Die Visualisierung eines Instruments erfolgt durch eine Oberfl¨achendarstellung in Form von indexbasierten Dreiecksmaschen, welche statisch vorgeben oder dynamisch generiert werden. Der in Abb. 7 dargestellte gebogene Shaver setzt sich aus der geschlossenen Oberfl¨ache der Lokalisatorbefestigung und des Shaveransatzes zusammen. Die Masche der Lokalisatorbefestigung wurde aus der CADSoftware exportiert, in der die Konstruktion erfolgte. Die Masche des Shaveransatzes wird mit Hilfe einer sweepRepr¨asentation [12] zur Laufzeit generiert. Eine sweepRepr¨asentation besteht aus einem endlich großen, zweioder dreidimensionalen Geometrieelement – im Fall des gebogenen Shavers ein Kreis mit dem Durchmesser des Shaveransatzes in der x-y-Ebene um den Koordinatenursprung – und einer Transformationsvorschrift. Als Transformationsvorschrift wird eine F¨uhrungslinie aus Transformationsmatrizen verwendet. Der Shaver l¨asst sich in folgende Bereiche unterteilen: Spitze, Bogen und Schaft. Die Spitze des Shaveransatzes setzt sich aus einer Halbkugel mit anschließendem Zylinder zusammen. Der Bogen wird mit Hilfe eines Kreisbogens approximiert. Der notwendige Kreisdurchmesser wurde f¨ur jeden Shaveransatz manuell vermessen und als Konstante in das Softwaremodell eingetragen. Die F¨uhrungslinie des Instrumentenschaftes wird durch eine Hermite-Interpolation generiert. Dies ist notwendig, weil die Achse des Schaftes und der Spitze durch Messrauschen der optischen Navigationskamera nicht in einer Ebene liegen und demzufolge kein Schnittpunkt berechnet werden kann. Die geschlossene Dreiecksmasche ergibt sich, indem der Kreis als ein n-Eck approximiert wird und die gegen¨uberliegenden Segmente des n-Ecks entlang der F¨uhrungslinie mit einem Viereck verbunden werden. 6.4 Aktiver Bereich Der aktive Bereich eines Instruments wird auf zwei Arten definiert. Zur Darstellung in den Planungsdaten wird eine Oberfl¨achendarstellung in Form einer indexbasierten Dreiecksmasche, analog dem Abschn. 6.3 verwendet. F¨ur die Abstandsberechnung zur Grenzschicht wird eine Abstandsfunktion dist implementiert. Diese erh¨alt als Eingabeparameter eine optimierte Version des Arbeitsvolumens AV und
13
berechnet den Vorzeichen behafteten Abstand des aktiven Bereichs zur Grenzschicht des Arbeitsvolumens. ⎧ ⎨< 0 innerhalb dist(AV) = = 0 schneidet Grenzschicht (3) ⎩ > 0 außerhalb . Bei dem gebogenen Shaver wird der aktive Bereich der Instrumentenspitze als eine H¨ulse approximiert, dargestellt in Abb. 8. Die H¨ulse besitzt als Kern ein Liniensegment. Die Abstandsberechnung l¨asst sich zur¨uckf¨uhren auf die Bestimmung des Abstandes dist(AV, L) zwischen der Grenzschicht des Arbeitsvolumens AV und dem Liniensegment L. ⎧ d d ⎨dist(AV, L) + 2 wenn dist(AV, L) < − 2 dist(AV) = dist(AV, L) − d2 wenn dist(AV, L) > d2 ⎩ 0 sonst . (4)
7 Effektive Abstandsberechnung Die f¨ur die Abstandsberechnung ben¨otigten Planungsdaten sind in Form von Polygonen in den axialen Schnittebenen der CT-Bilddaten gegeben und k¨onnen in eine indexbasierte Dreiecksmasche transformiert werden [13]. Der k¨urzeste Abstand zwischen den Planungsdaten und des aktiven Bereichs l¨asst sich zur¨uckf¨uhren auf die Bestimmung des k¨urzesten Abstands des am n¨achsten liegenden Dreiecks zum aktiven Bereich. Um nicht jedes Mal bei der Abstandsbestimmung den Abstand zu allen Dreiecken zu ermitteln – was bei sehr komplexen Segmentierungen zur Verletzung der Echtzeitanforderung f¨uhren kann – wird nur eine Untermenge bestehend aus den am nahsten liegenden Dreiecken zum aktiven Bereich des Instruments betrachtet. Die Anzahl der Dreiecke in der Untermenge ist wesentlich geringer, da der aktive Bereich der Instrumentenspitze im Verh¨altnis zum segmentierten Bereich kleiner ist. Die Untermenge der Dreiecke wird mit Hilfe einer Voxelrepr¨asentation { f VX , f OBJ } bestimmt [12]. Als Voxelfunktion f VX wird eine Abbildung fVX : E 3 → Z von Quadern des euklidischen Vektorraums E 3 in die Menge der ganzen Zahlen verwendet. Die Objektfunktion fOBJ ist eine Abbildung f OBJ : Z → O der Voxel in eine Menge von Dreiecken O die zu dem entsprechenden Quader am n¨achsten liegen. Die Dreiecke der Quader werden in zwei Schritten bestimmt. Zuerst erfolgt die Berechnung der Abst¨ande vom
Softwaretechnische Instrumentenunterst¨utzung f¨ur ein leistungssteuerndes HNO Navigationssystem
155
gung der Dreiecksmengen der eingenommenen Voxel ergeben. Im Falle des Shavers entspricht dies den eingenommenen Voxeln durch das Liniensegment. Das Vorzeichen des Abstandes ergibt sich aus der r¨aumlichen Lagebeziehung des aktiven Bereichs der Instrumentenspitze bez¨uglich der Dreiecksmasche des Arbeitsvolumens und wird mit Hilfe von Kanten gewichteten Pseudonormalen bestimmt [1].
8 Automatisierte Instrumentenauswahl Abb. 9 a Quader mit umschließender approximierender Kugel; b Betrachtung der nahe liegenden Dreiecke zu einem Quader des Voxelvolumens (2D-Ansicht)
Mittelpunkt des Quaders zu allen Dreiecken. Die Abst¨ande werden in einer nach Abst¨anden sortierten Liste gespeichert. In Abb. 9b ist der k¨urzeste Abstand vom Mittelpunkt des Quaders durch einen Kreis dargestellt, welcher das Dreieck 2 ber¨uhrt. Die anderen Punkte des Quaders werden durch das Prinzip der Hindernisvergr¨oßerung ber¨ucksichtigt. Zur Vereinfachung wird der Quader durch eine umschließende Kugel mit der L¨ange der Quaderhauptdiagonalen als Durchmesser u¨ berapproximiert, dargestellt in Abb. 9a. Die Menge der n¨achsten Dreiecke zu allen Punkten innerhalb der Kugel ergibt sich durch die Vereinigung der Dreiecke, dessen Abstand zum Mittelpunkt kleiner gleich des k¨urzesten Abstandes zum Mittelpunkt zuz¨uglich des Kugelradius ist. In Abb. 9b ist der erweiterte minimale Abstand als gestrichelter Kreis dargestellt und f¨uhrt zu der Dreiecksmenge {1, 2, 4, 5, 6}. Diese l¨asst sich effektiv aus der sortierten Abstandsliste entnehmen. Das Erstellen des Voxelvolumens erfolgt einmalig beim Eintritt in die Behandlungsphase. Soll der Abstand des aktiven Bereichs einer Instrumentenspitze zum Arbeitsvolumen bestimmt werden, m¨ussen nur die Dreiecke betrachtet werden, die sich aus der Vereini-
Die Software des Systems wurde um eine automatische Instrumentenauswahl erweitert. Das hat den Vorteil, dass sich der klinisch evaluierte Benutzungsablauf nur geringf¨ugig ver¨andert und nicht unn¨otig um eine manuelle Auswahl erweitert werden muss, bei der die Gefahr besteht, dass der Chirurg versehentlich das falsche Instrument ausw¨ahlt. Unterscheiden sich zwei Instrumentenmodelle hinreichend, kann anhand der Startbedingungen f¨ur die Instrumentenvermessmethoden, das aktuell verwendete Instrument erkannt werden. Als Grundlage der automatischen Instrumentenauswahl wird eine Menge vordefinierter Instrumentenmodelle verwendet. Die kinematischen Ketten dieser Modelle werden mit der kinematischen Kette der OP-Situation u¨ ber den ¨ Ubergang von der Kamera zur jeweiligen Lokalisatorgeometrie verbunden. Die Prozessketten der Instrumente aus der Instrumentenmenge werden, wie in Abb. 10 dargestellt, innerhalb eines Instrumentenerkennungsprozesses durch einen Multiplexer angesteuert. Dieser kann alle Prozessketten ansteuern, wenn das Instrument noch nicht erkannt wurde oder nur die Prozesskette des erkannten Instruments. Die Ergebnisse der Prozessketten werden durch einen Entscheider ausgewertet und entsprechend weitergeleitet. Zuerst werden die Prozessketten gefiltert, in denen ein Prozess hervortreten m¨ochte. Treten mehrere Prozesse verschiedener Prozessketten in den Vordergrund, wird
Abb. 10 Interner Aufbau des Instrumentenerkennungsprozesses
13
156
zus¨atzlich zwischen wartenden und aktiven Prozessen unterschieden. Ein Prozess ist aktiv, wenn er beispielsweise eine Messung durchf¨uhrt. Ein Prozess ist wartend, wenn bspw. der Benutzer aufgefordert wird, eine Aktion durchzuf¨uhren. Der Prozess wartet in diesem Fall auf die Erf¨ullung seiner Startbedingung. Ein aktiver Prozess ist demzufolge h¨oher priorisiert und wird anstelle von wartenden Prozessen weitergeleitet. Existiert kein aktiver Prozess, aber mehrere wartende, dann werden die Prozesse nach ihren Spezialisierungen sortiert. Ein Registrierprozess ist z.B. h¨oherwertiger als ein Sichtbarkeitsaufforderungsprozess, der dem Benutzer nur eine Hinweismeldung ausgibt. Existieren mehrere aktive Prozesse entsteht ein Instrumentenkonflikt. In diesem Ausnahmefall generiert der Entscheider eine entsprechende ¨ Instrumentenauswahlanfrage, die zum Offnen eines Auswahldialoges f¨uhrt. Ein Instrument wird eindeutig erkannt, wenn in dessen Prozesskette eine Anfrage zum Setzen eines Instrumentenparameters gesendet wird, welche vom Entscheider beim Aktualisieren entgegen genommen wird. Dieser setzt das aktive Instrument und leitet dann die Anfrage weiter. M¨ochte der Chirurg ein anderes Instrument verwenden, muss er das aktuelle Instrument zuvor abmelden. Dies erfolgt, in dem er die Instrumentenspitze f¨ur l¨angere Zeit an den Abmeldepunkt des Patientenlokalisators h¨alt. Die Abmeldeprozedur wird durch den Instrumentenr¨ucksetzprozess innerhalb des Erkennungsprozesses gesteuert. Durch das ausschließliche Betrachten des Informationsflusses der Instrumentenprozessketten erfolgt die Auswahl relativ unabh¨angig von der Art des verwendeten Instruments und ist deshalb universell einsetzbar.
9 Bewertung des neuen Ansatzes Dank der vier abstrakten Sichten auf ein Instrument, die durch Objektorientierung und Design Patterns implementiert werden konnten, ließen sich viele Gemeinsamkeiten zwischen chirurgischen Instrumenten extrahieren, die dem Entwickler durch das Navigationsframework zu Verf¨ugung gestellt werden. Als Beispiel sei die kinematische Kette genannt. Jedes Instrument besitzt eine eigene geometrische Struktur, aber die Berechnungsvorschriften innerhalb der Struktur sind f¨ur alle Instrumente gleich. In der Implementierung konnten soviele Gemeinsamkeiten zwischen Instrumenten gefunden und ins Framework verlagert werden, dass nur noch ein Instrumentenbeschreibungsmodell zur Integration neuer Modelle ben¨otigt wurde. Die vorhandenen Abh¨angigkeiten in der kinematischen Kette bzw. zwischen den Kommunikationsmechanismen der Prozesskette werden durch das Framework ber¨ucksichtigt, wodurch viele Implementierungsfehlerquellen ausgeschlossen werden und ein hoher Grad an Wiederverwendung erreicht wird.
13
Beyer et al.
10 Untersuchung der Korrektheit ¨ ¨ durch Uberpr ufung der Gesamtsystemgenauigkeit am technischen Phantom ¨ Zur Uberpr¨ ufung der Korrektheit des Systems wurden alle f¨unf Shaverans¨atze aus Abb. 2 modelliert und im Navigationsframework registriert. Die Korrektheit der Imple¨ mentierung wurde durch die Uberpr¨ ufung der Gesamtsystemgenauigkeit anhand eines technischen Phantoms nachgewiesen (dargestellt in Abb. 11a und b). Das technische Phantom besteht aus einer Grundplatte, zu der rechtwinklig eine Montageplatte f¨ur die Befestigung des Patientenlokalisators angeordnet ist. In einem Abstand a¨ hnlich dem von Oberkiefer zur Nasennebenh¨ohle ist eine quadratische Schale auf der Grundplatte angeordnet. In dieser kann wahlweise eine quaderf¨ormige Zielgeometrie, die das abzutragende Gewebe darstellt oder ein Phenolschaumk¨orper aus dem die geplante Geometrie abgetragen wird, befestigt werden. Die Gesamtgenauigkeit des Systems entspricht der Abweichung von Zielgeometrie zur abgetragenen Geometrie. In einem ersten Schritt wurde mit Hilfe eines 16 Zeiler Computertomograph (GE LightSpeed) eine Bildaufnahme des technischen Phantoms mit eingesetzter Zielgeometrie gemacht. Die Bildaufnahme erfolgte mit einer axialen Schichtdicke von 0,625 mm und einem Schichtabstand von 0,4 mm. Anschließend wurde die Zielgeometrie mit einem Gelenkarmesssystem (FaroArm Titanium) vermessen. Das System kann Punkte im Raum mit einer Genauigkeit von 0,036 mm RMS bestimmen. Der Quader als Zielgeometrie besitzt sechs Seiten. Eine Seite dient als Zugangsweg f¨ur den Shaver. Die verbleibenden f¨unf Seiten wurden mehrmals als Ebene im Koordinatensystem des Patientenlokalisators PL vermessen, dargestellt in Abb. 11c, und gemittelt. F¨ur die Seite w ergibt sich folgende Referenzebene: PL
E ref,w : x −PL pref,w ·PL nref,w = 0 .
(5)
Anschließend wurden f¨ur alle f¨unf Shaverans¨atze aus Abb. 2 folgende Schritte durchgef¨uhrt: F¨ur jeden Shaveransatz wurde ein neuer Phenolschaumk¨orper in die Schale des technischen Phantoms gesteckt, dargestellt in Abb. 11d. Die CT-Bilddaten wurden von CD in das Navigationssystem importiert. In der Planungsphase wurde der gut sichtbare Quader in den Bilddaten, wie in Abb. 11e dargestellt, segmentiert. Mit Hilfe der Planung wurde im Navigationsmodus der Quader mit dem aktuellen Shaveransatz vorsichtig abgetragen. Beim Abschalten des Motors durch das System wurde darauf geachtet, dass der Shaver nicht versehentlich in den Phenolschaum gestochen wird. Die Behandlung wurde abgeschlossen, als keine Bereiche mehr existierten, die mit dem Shaver abgetragen werden konnten. Anschließend wurde der K¨orper mit
Softwaretechnische Instrumentenunterst¨utzung f¨ur ein leistungssteuerndes HNO Navigationssystem
157
Abb. 11 a Skizze des technischen Phantoms mit Nummerierung der Seitenfl¨achen; b technisches Phantom mit verschraubter Zielgeometrie; c Abtasten einer Seitenfl¨ache der Zielgeometrie; d technisches Phantom mit eingesetztem Phenolschaumk¨orper; e Screenshot von der blau segmentierten Zielgeometrie in den CT-Bilddaten; f Abtasten einer mit dem Shaver abgetragenen Seitenfl¨ache des Phenolschaumk¨orpers Tabelle 1 Ergebnisse der Gesamtsystemgenauigkeitsuntersuchung w 1 2 3 4 5 1..5
Abb. 12 Darstellung der aufgenommenen Messpunkte von allen Shaverans¨atzen. Die Blickrichtung entspricht der Richtung von Abb. 11a, die Seitenw¨ande lassen sich dementsprechend zuordnen. Die F¨arbung der Messpunkte entspricht dem Abstand zum Quader, welcher im Hintergrund als Rechteck dargestellt ist
N 200 200 200 200 200 1000
sw [mm] 0,6 0,9 0,7 0,6 0,9 0,7
m w [mm] −0,2 0,7 0,2 −0,2 −0,6 0,0
∆min [mm] ∆max [mm] −1,8 0,8 −0,9 2,2 −1,7 1,5 −1,7 1,3 −2,8 1,1 −2,8 2,2
Die unterscheidbaren Shavermodelle wurden vom System korrekt identifiziert. Bei dem geraden Shaveransatz mit 3 mm und 4 mm kam es zu einer manuellen Auswahl, weil kein Unterscheidungsmerkmal zwischen beiden Instrumenten existiert. In Abb. 12 sind die abgetasteten Messpunkte PL pw,i aller Shaverans¨atze dargestellt. Der Abstand zwischen Zielgeometrie und den abgetasteten Punkt wurde wie folgt berechnet: dist
PL
E ref,w ,PL pw,i = PL pw,i −PL pref,w ·
nref,w PL | nref,w | PL
. (6)
Lack bespr¨uht, um die Oberfl¨ache zu h¨arten. Nach der Trocknungsphase wurden alle f¨unf Seiten des Quaders im Koordinatensystem des Patientenlokalisators durch das Abtasten mehrerer Punkte auf der Oberfl¨ache vermessen, dargestellt in Abb. 11f. Pro Seite wurden 40 Punkte abgetastet, die m¨oglichst homogen auf der Fl¨ache verteilt waren.
In der Tabelle 1 ist die mittlere Standardabweichung sw , der Mittelwert der Abweichung m w , die minimale Abweichung ∆min und maximale Abweichung ∆max aller Shaverans¨atze bez¨uglich der f¨unf W¨ande, sowie f¨ur alle W¨ande dargestellt. Die Standardabweichung f¨ur 1000 Messpunkte betr¨agt 0,7 mm, das bedeutet mit einer Wahrscheinlichkeit von 68%
13
158
betr¨agt der Abstand der abgetragenen Geometrie zur Zielgeometrie weniger als 0,7 mm. Das Ergebnis entspricht ungef¨ahr dem Resultat aus fr¨uheren Messungen des urspr¨unglich klinisch evaluierten Systems. Ungenauigkeiten k¨onnen durch folgende Systemkomponenten entstehen: Die Navigationskamera berechnet die Lage der Lokalisatoren aus den Positionen der Marker und diese werden mit einer Genauigkeit von 0,35 mm RMS bestimmt [10]. Dieser Vermessungsfehler beeinflusst auch die Genauigkeit bei der Vermessung der Instrumentenspitze durch die Kamera. Ein anderes Problem ist die Aufl¨osung der CT-Bilddaten. Denn diese ist eine untere Grenze f¨ur die Gesamtsystemgenauigkeit. Der Bezug zwischen Patientenlokalisator und Patientenbilddaten wird auf Basis der CT-Bilddaten mit dem Bissschienenregistrierverfahren [11] hergestellt. Ebenfalls auf Basis der CT-Bilddaten erfolgte die manuelle Segmentierung der Zielgeometrie. Zus¨atzliche Fehler entstehen durch die Approximation des Schneidefensters zu einer H¨ulse und dem manuellen Abtasten der Oberfl¨ache mit dem Gelenkmessarm.
11 Zusammenfassung und Ausblick Es wurde ein Softwaremodell entwickelt und implementiert, mit dem die Beschr¨ankung eines bereits klinisch evaluierten Navigationssystems auf ein statisches Instrument u¨ berwunden wurde. Das Modell erm¨oglicht mit Hilfe von Methoden aus der Softwaretechnik die Beschreibung eines Abb. 13 Behandlungsphase, das Instrument wird relativ zu den pr¨aoperativen CT-Bilddaten und segmentierten Arbeitsbereich dargestellt
13
Beyer et al.
m¨oglichst breiten Spektrums von chirurgischen Instrumenten, die in Kombination mit ein Navigationsframework leistungsgesteuert unterst¨utzt werden. Mit Hilfe von Objektorientierung und Design Patterns wurde ein Modell implementiert, mit dem ein Instrument abstrakt aus mehreren Sichten beschrieben werden kann. Der geometrische Aufbau wird sehr allgemein durch eine kinematische Kette modelliert und die Instrumentenvermessung mit Hilfe von Prozessketten. Die Visualisierung erfolgt mit einer zum Teil statisch und dynamisch generierten indexbasierten Dreiecksmasche und der aktive Teil des Instruments wird ebenfalls durch eine Dreiecksmasche visualisiert und f¨ur die Abstandsberechnung zus¨atzlich durch eine Abstandsberechnungsfunktion beschrieben, die auf einer effektiven Datenrepr¨asentation zur Einhaltung der Echtzeitbedingung arbeitet. Die Unterteilung in vier abstrakte Sichten erm¨oglicht die Deklaration einer schlanken Instrumentenschnittstelle. Zur Reduzierung der Benutzerinteraktion und Falscheingaben wurde eine Instrumentenerkennung realisiert, die aus einer Menge vormodellierter Instrumente das verwendete Instrument anhand von hinreichenden Unterschieden in den Modellen erkennt. Mit Hilfe des neuen Ansatzes und eines neuen technisch notwendigen 6-DoF Instrumentenlokalisators unterst¨utzt das System alle Shaverformen der Firma Storz. Die Abb. 13 zeigt einen Screenshot des Behandlungsmodus. Der 65 Grad gebogene Shaveransatz wurde automatisch erkannt und wird lagerichtig in den Bilddaten eingeblendet. Der heller dargestellte aktive Bereich des Instru-
Softwaretechnische Instrumentenunterst¨utzung f¨ur ein leistungssteuerndes HNO Navigationssystem
ments befindet sich vollst¨andig innerhalb des segmentierten Arbeitsvolumens. Die Leistungszufuhr des Instruments wird demzufolge freigegeben. Detailliertere Informationen u¨ ber die Realisierung der vorgestellten Methode sind in [2] zu finden. Zuk¨unftige Weiterentwicklungen k¨onnten unter anderem die folgenden Punkte umfassen: • Weitere Modularisierung Durch Einsatz weiterer Abstraktionen kann u¨ ber das Instrument hinaus versucht werden, das System weiter zu modularisieren. Es k¨onnten andere Planungstrategien und deren Abh¨angigkeiten bzw. Beziehungen zu den Instrumenten durch softwaretechnische Modellierung ausgedr¨uckt werden. Dadurch kann ein hoher Grad an Wiederverwendung einzelner Elemente der Software erreicht werden, welcher in Zukunft zu verk¨urzten Entwicklungszeiten f¨uhrt. • Klinischer Einsatz Die Genauigkeitsexperimente wurden unter Laborbedingungen am technischen Phantom durchgef¨uhrt. F¨ur einen Einsatz am Patienten muss das System nach dem Medizinproduktegesetz zugelassen werden. Besonders wichtig w¨are zu untersuchen, in weit die Akzeptanz solcher komplexen Systeme durch Erweiterungen der funktionalen M¨oglichkeiten steigt. • Konflikterkennung in der Instrumentenmenge Unterscheiden sich zwei Instrumente nicht hinreichend, wie beispielsweise der gerade Shaveransatz mit 3 mm und 4 mm Durchmesser, wird dieser Konflikt zur Laufzeit erkannt und durch den Benutzer aufgel¨ost. Auf Basis des Instrumentenmodells k¨onnte ein Verfahren entwickelt werden, das Konflikte im Vorfeld erkennt. Diese lassen sich unter Umst¨anden durch Hinzuf¨ugen weiterer Unterscheidungsmerkmale beseitigen. • Integration weiterer Instrumente Das dynamische Instrumentenmodell wurde f¨ur die Einbindung weiterer Instrumente konzipiert. Beispielsweise wurde die Fr¨ase aus der Arbeit von [13], mit wenig Aufwand in das System integriert. Die automatische Instrumentenauswahl konnte problemlos zwischen den Shaverans¨atzen und der Fr¨ase unterscheiden.
Danksagung Diese Arbeit entstand am Berliner Zentrum f¨ur Mechatronische Medizintechnik (BZMM), einem Kooperationsinstitut der Charit´e Universit¨atsmedizin Berlin und dem Fraunhofer Institut f¨ur
159
Produktionsanlagen und Konstruktionstechnik. Wir danken allen Mitarbeitern des BZMMs f¨ur ihre Hilfsbereitschaft und Unterst¨utzung w¨ahrend der Realisierung dieses Projektes, sowie den anonymen Reviewern des Artikels f¨ur ihre konstruktiven Hinweise.
Literatur 1. Baerentzen JA, Aanaes H (2005) Signed distance computation using the angle weighted pseudonormal. IEEE Trans Vis Comput Graph 11(3):243–253 2. Beyer M (2006) Entwurf, Realisierung und Integration einer dynamischen Instrumentenmodellierung f¨ur ein klinisches Navigationssystem mit Leistungssteuerung f¨ur die HNO-Chirurgie. Master’s thesis, Technische Universit¨at Berlin 3. Gamma E, Helm R, Johnson R, Vlissides J (1996) Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software. Addison-Wesley, Bonn Reading, MA 4. Hofer M, Strauss G, Koulechov K, Dietz A, L¨uth T, Christos T (2006) Ergebnisse der ersten klinischen Anwendung des navigiert-kontrollierten shavers in der FESS/Hals-Nasen-OhrenUniversit¨atsklinik – ICCAS innovation center computer assisted surgery, Forschungsbericht 5. Hommel G, Heiß H (1990) Roboterkinematik 1990-15. Technische Universit¨at Berlin, Forschungsbericht 6. Hosemann WG, Weber RK, Keerl R (2000) Minimally Invasive Endonasal Sinus Surgery: Principles, Techniques, Results, Complications, Revision Surgery. Thieme, Stuttgart 7. Kennedy DW (2000) Functional Endoscopic Sinus Surgery: Concepts, surgical indications, and instrumentation. In: Kennedy DW, Zinreich SJ (eds) Diseases of the Sinuses – Diagnosis and Endoscopic Management. BC Decker Inc, Hamilton, Ontario, pp 197–210 8. Koulechov K (2006) Leistungssteuerung chirurgischer Instrumente in der Kopf-Chirurgie. PhD thesis, Technische Universit¨at M¨unchen, M¨unchen 9. L¨uth T, Bier J, Bier A, Hein A (2002) Verfahren und System zum minimalen Gewebeabtrag in der Medizin und Zahnmedizin sowie f¨ur Modell- und Manufakturarbeiten. Offenlegungsschrift DE 101 17 403 A1 10. NDI (2003) NDI Polaris Accedo – User’s Guide, rev. number 1.0 11. Schermeier O, L¨uth T, Glagau J, Szymanski D, Tita R, Hildebrand D, Klein M, Nelson K, Bier J (2002) Automatic patient registration in computer assisted maxillofacial surgery. In: Westwood J, Hoffman H, Robb R, Stredney D (eds) Medicine Meets Virtual Reality, vol 85. IOS Press, Newport Beach, USA, pp 461–467 12. T¨onnies KD, Lemke HU (1994) 3D-Computergrafische Darstellung. R Oldenburg Verlag, M¨unchen Wien 13. Winne C (2005) Integration und Evaluierung des NavigatedControl Verfahrens in ein chirurgisches Navigationssystem f¨ur das navigierte Fr¨asen. Master’s thesis, Technische Universit¨at Berlin, Berlin
13
160
Beyer et al.
Michael Beyer geb. 1981 in Hennigsdorf; Studium der Technischen Informatik an der Technischen Universit¨at Berlin; 2004 (M¨arz) bis 2006 (Dez.) studentische Hilfskraft am Berliner Zentrum f¨ur Mechatronische Medizintechnik – Mitarbeit am Forschungsprojekt FESS-Control; 2006 (Juli) Diplomarbeit mit dem Thema “Entwurf, Realisierung und Integration einer dynamischen Instrumentenmodellierung f¨ur ein klinisches Navigationssystem mit Leistungssteuerung f¨ur die HNO-Chirurgie”; 2006 (Okt.) Abschluss als Diplom-Ingenieur f¨ur Technische Informatik; seit 2007 (Jan.) wissenschaftlicher Mitarbeiter im Fachgebiet Programmierung eingebetteter Systeme an der Technischen Universit¨at Berlin.
Andreas Rose geb. 1976 in Oranienburg; Studium der Technischen Informatik an der Technischen Universit¨at Berlin; 2003 Abschluss als Diplom-Ingenieur f¨ur Technische Informatik; seit 2003 wissenschaftlicher Mitarbeiter am Fraunhofer Institut f¨ur Produktionsanlagen und Konstruktionstechnik (IPK) in Berlin mit dem Schwerpunkt computerassistierter Unterst¨utzungssysteme f¨ur die Mund-, Kiefer- und Gesichtschirurgie.
13
Emanuel Jank geb. 1978 in Leipzig, beendete 2003 sein Studium der Technischen Informatik an der TU Berlin als Diplom-Ingenieur. Seit 2003 ist er wissenschaftlicher Mitarbeiter am Fraunhofer IPK und leitet dort seit 2005 die Abteilung ,,Assistenzsysteme in der Medizin“. In Kooperation mit der Charit´e Berlin erforscht diese Gruppe klinische Navigationssysteme und intraoperative 3D-Bildgebung.
¨ Prof. Dr.-Ing. J¨org Kruger studierte Elektrotechnik mit dem Schwerpunkt Regelungstechnik an der Universit¨at GH Paderborn und der Technischen Universit¨at Berlin. Seine Promotion (Dr.-Ing.) schloss er 1998 zum Thema: ,,Methoden zur Verbesserung der Fehlererkennung an Antriebsstrecken“ ab. 2003 wurde er als Universit¨atsprofessor an den Lehrstuhl ,,Industrielle Automationstechnik“ am ,,Institut f¨ur Werkzeugmaschinen und Fabrikbetrieb“ (IWF) an der Technischen Universit¨at Berlin berufen. Erg¨anzend zu seiner T¨atigkeit an der TU Berlin wurde er im Jahr 2004 zum Direktor des Bereichs ,,Automationstechnik“ am Fraunhofer IPK ernannt und im Jahr 2005 kommissarischer Leiter des Bereichs ,,Medizintechnik“ am Fraunhofer IPK.