-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft ein computerimplementiertes Verfahren zum Anpassen/Korrigieren von Steuerbefehlen zum Bewegen einer medizinischen Bildgebungsvorrichtung, die mit einer Bewegungsvorrichtung verbunden ist, ein entsprechendes Computerprogramm, ein Programmspeichermedium, das ein solches Programm speichert, und einen Computer zum Ausführen des Programms, wie sowie ein medizinisches System mit einem elektronischen Datenspeicher und dem oben genannten Computer.
-
TECHNISCHER HINTERGRUND
-
Bei diagnostischen medizinischen Verfahren werden oft Kameras verwendet, um anatomische Strukturen sichtbar zu machen, die mit bloßem Auge nur schwer oder gar nicht zu erkennen sind. In solchen Fällen helfen Kameras bei der Visualisierung dieser anatomischen Strukturen, indem sie in der Nähe dieser Strukturen mit einer ungehinderten Sichtlinie platziert werden und die empfangenen Bilder an eine entfernte Anzeige oder einen Monitor übertragen, der von einem Arzt leicht beobachtet werden kann. Beispielsweise verwenden endoskopische Verfahren Kameras, um das Innere von Hohlorganen oder Hohlräumen im Körper eines Patienten zu untersuchen und zu visualisieren. Herkömmliche Endoskope haben einen langgestreckten Instrumentenkörper mit einem distalen Abschnitt, der normalerweise innerhalb des Körpers des Patienten platziert wird, und einem proximalen Abschnitt, der normalerweise außerhalb des Körpers des Patienten verbleibt. Während der distale Endoskopabschnitt mit der mindestens einen Kamera versehen ist, kann der gesamte Endoskopkörper durch eine mit dem proximalen Abschnitt des Endoskops verbundene, motorisch antreibbare Halterungsstruktur gehalten werden, so dass jemand aus dem medizinischen Personal (hierin gleichbedeutend und kurz auch „ein Arzt“) das Endoskop zusammen mit der Kamera an einen gewünschten Ort bewegen kann, und zwar durch Steuerung der motorisierten Halterungsstruktur über eine Benutzerschnittstelle. Da gängige Endoskope einen röhrenförmigen und rotationssymmetrischen Endoskopkörper aufweisen, ist es möglich und in vielen Fällen auch erwünscht, dass das Endoskop mitsamt der Kamera in verschiedenen Ausrichtungen um seine Längsachse an der Halterungsstruktur befestigt werden kann, wobei das Endoskop oft einen Rotationsfreiheitsgrad um seine Längsachse behält, auch wenn es von der Halterungsstruktur gehalten wird.
-
Um raumrichtungsabhängige digitale Daten bereitzustellen, zu erfassen und zu verarbeiten, ist jedem der an einer solchen robotischen Endoskopie beteiligten medizinischen Geräte ein vordefiniertes Koordinatensystem zugeordnet. Der verbleibende Rotationsfreiheitsgrad der Endoskopkamera gegenüber einer motorisierten Halterungsstruktur, die das Endoskop und die Kamera festhält, führt daher häufig dazu, dass ein Benutzer das auf einem Monitor angezeigte Kamerabild in eine bestimmte Richtung bewegt haben möchte und er intuitiv ein Eingabegerät manipuliert, beispielsweise einen Joystick, jedoch eine unerwartete Reaktion erhält, wenn sich das angezeigte Bild in eine andere Richtung bewegt, als vom Benutzer beabsichtigt.
-
In der Vergangenheit begegneten Mediziner diesem Problem entweder durch anfängliches Drehen des Endoskops innerhalb der Halterungsstruktur, bis die Steuerbefehlsrichtungen mit den Richtungen übereinstimmen, in die das Endoskop und die angezeigten Bilder tatsächlich bewegt werden, oder indem sie sich einfach gedanklich an die Nichtübereinstimmung zwischen den beabsichtigten und den tatsächlich provozierten Bewegungsrichtungen des auf dem Bildschirm angezeigten Bildes einstellten. Jedoch ist keiner dieser Ansätze benutzerfreundlich oder für neues und unerfahrenes Personal geeignet.
-
Ansätze des Standes der Technik zur Korrektur dieser Steuerungs-Reaktions-Abweichung, die eine intuitivere und daher benutzerfreundlichere Verwendung von Roboterendoskopen ermöglichen, stellen eine automatische Bildkorrektur bereit, die auf Sensordaten basiert. Beispielsweise kann das Endoskop mit einem Gyrosensor versehen sein, über den es erkennt, um welchen Winkel das Endoskop gegenüber der Halterungsstruktur gedreht wird, so dass das angezeigte Endoskopbild durch eine Drehung um den gleichen Betrag rechnerisch korrigiert werden kann. Diese automatischen Bildkorrekturen gehen jedoch mit einem gewissen Verlust an Bildqualität und einer gewissen Zeitverzögerung zwischen den Steuereingaben und den entsprechenden Bewegungen des angezeigten Bildes einher.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, die Mängel der Ansätze des Standes der Technik zu überwinden, indem ein intuitiver, benutzerfreundlicher, aber dennoch unkomplizierter Ansatz zum Steuern eines Roboterendoskops bereitgestellt wird.
-
Die vorliegende Erfindung kann für alle Verfahren verwendet werden, die die Verwendung mindestens einer Kamera umfassen, die von einer motorisierten Struktur getragen wird, die durch manuelle Benutzereingaben gesteuert wird.
-
Im Folgenden werden Aspekte der vorliegenden Erfindung, Beispiele und beispielhafte Schritte und deren Ausführungsformen offenbart. Unterschiedliche Ausführungsmerkmale der Erfindung sind erfindungsgemäß kombinierbar, wo immer dies technisch sinnvoll und machbar ist.
-
BEISPIELHAFTE KURZBESCHREIBUNG DER ERFINDUNG
-
Im Folgenden wird eine kurze Beschreibung der spezifischen Merkmale der vorliegenden Erfindung gegeben, die die Erfindung nicht lediglich auf die in diesem Abschnitt beschriebenen Merkmale oder eine Kombination der Merkmale beschränken soll.
-
Die vorliegende Erfindung betrifft ein Verfahren zum Anpassen von Steuerbefehlen zum Bewegen einer medizinischen Kamera, die mit einer motorisierten Halterungsstruktur verbunden ist, wobei die Einstellung auf Bildern basiert, die von der Kamera bereitgestellt werden. Basierend auf einem Vergleich von mindestens zwei von der Kamera gelieferten Bildern wird eine tatsächliche Bewegung der Kamera bestimmt und mit einer beabsichtigten Bewegung verglichen, die durch einen an die motorisierte Halterungsstruktur weitergeleiteten Steuerbefehl definiert wird. Falls eine Abweichung zwischen der beabsichtigten Bewegung und der tatsächlichen Bewegung festgestellt wird, wird eine Korrektur auf den Steuerbefehl angewendet, so dass die tatsächliche Bewegung der Kamera mit der beabsichtigten Bewegung übereinstimmt.
-
ALLGEMEINE BESCHREIBUNG DER ERFINDUNG
-
In diesem Abschnitt wird eine Beschreibung der allgemeinen Merkmale der vorliegenden Erfindung gegeben, beispielsweise durch Bezugnahme auf mögliche Ausführungsformen der Erfindung.
-
Im Allgemeinen erfüllt die Erfindung die oben genannte Aufgabe, indem sie gemäß einem ersten Aspekt ein computerimplementiertes medizinisches Verfahren zum Anpassen bzw. Korrigieren von Steuerbefehlen zum Bewegen einer medizinischen Bildgebungsvorrichtung bereitstellt, die mit einer Bewegungsvorrichtung verbunden ist. Das Verfahren umfasst das Ausführen, auf mindestens einem Prozessor mindestens eines Computers (beispielsweise mindestens eines Computers, der Teil eines Navigationssystems ist), der folgenden beispielhaften Schritte, die von dem mindestens einen Prozessor ausgeführt werden.
-
In einem (zum Beispiel ersten) beispielhaften Schritt werden erste Bilddaten erfasst, die ein von der medizinischen Bildgebungsvorrichtung empfangenes erstes Bild beschreiben.
-
In einem (zum Beispiel zweiten) beispielhaften Schritt werden beabsichtigte Bewegungsdaten erfasst, die eine beabsichtigte Bewegung des medizinischen Bildgebungsvorrichtung beschreiben, wobei die beabsichtigten Bewegungsdaten auf einem an das Bewegungsvorrichtung übertragenen Steuerbefehl basieren.
-
In einem (beispielsweise dritten) beispielhaften Schritt werden zweite Bilddaten erfasst, die ein zweites Bild beschreiben, das von der medizinischen Bildgebungsvorrichtung empfangen wurde, die als Ergebnis des Steuerbefehls bewegt wurde.
-
In einem (beispielsweise vierten) beispielhaften Schritt werden basierend auf den ersten Bilddaten und den zweiten Bilddaten Ist-Bewegungsdaten bestimmt, die eine Ist-Bewegung des medizinischen Bildgebungsvorrichtung beschreiben.
-
In einem (beispielsweise fünften) beispielhaften Schritt werden Korrekturdaten basierend auf den beabsichtigten Bewegungsdaten und den tatsächlichen Bewegungsdaten bestimmt, die eine Korrektur beschreiben, die auf den Steuerbefehl anzuwenden ist, um die beabsichtigte Bewegung des medizinischen Bildgebungsvorrichtung zu erzeugen.
-
Mit anderen Worten umfasst der erfindungsgemäße Ansatz zum Anpassen oder Korrigieren von Steuerbefehlen die Aufnahme von mindestens zwei Bildern über eine Kamera vor und nach einer durch einen Eingabebefehl initiierten Kamerabewegung. Durch einen Abgleich der Bildinhalte lässt sich feststellen, welche Bewegung die Kamera tatsächlich ausgeführt hat. Beispielsweise kann ein Gesamtbewegungsvektor basierend auf einer Positionsdifferenz von mindestens einem, vorzugsweise von mehreren Merkmalen in den mindestens zwei erhaltenen Bildern berechnet werden. In einem speziellen Fall, wenn sich alle oder fast alle erkennbaren Merkmale zwischen zwei aufgenommenen Bildern um den gleichen Betrag und in die gleiche Richtung bewegt haben, d.h. durch den gleichen Bewegungsvektor innerhalb der angezeigten Bildebene beschrieben wurden, kann davon ausgegangen werden, dass die Kamera translatorisch und im Wesentlichen senkrecht zur Sichtlinie der Kamera bewegt worden ist. Wenn in einem anderen Fall die Kamera um ihre Sichtlinie gedreht wurde, beschreiben die erkennbaren Merkmale in beiden erhaltenen Bildern ein Vektorfeld um einen Mittelpunkt, der das Drehzentrum der Kamera innerhalb der Bildebene darstellt. Wenn in einem weiteren beispielhaften Fall die Bildmerkmale, wie sie in den erhaltenen Bildern zu sehen sind, ein Vektorfeld beschreiben, bei dem die spezifischen Vektoren zu einem bestimmten Mittelpunkt konvergieren oder von diesem divergieren, kann angenommen werden, dass die Kamera auf ein beobachtetes Objekt zu oder davon weg entlang der Sichtlinie der Kamera bewegt wurde. Selbstverständlich kann eine tatsächliche Bewegung der Kamera während eines medizinischen Eingriffs durch jede denkbare Kombination der oben beschriebenen beispielhaften Bewegungen überlagert werden.
-
Zusammenfassend verwendet die vorliegende Erfindung mindestens zwei von der Kamera erhaltene Bilder, um eine Bewegung zu bestimmen, die die Kamera tatsächlich zwischen den verglichenen Bildern ausgeführt hat.
-
Erfindungsgemäß wird diese über einen Bildvergleich ermittelte Ist-Bewegung dann mit einer Soll-Bewegung der Kamera verglichen, die durch einen an die motorisierte Halterungsstruktur der Kamera gerichteten Steuerbefehl repräsentiert wird. Beispielsweise kann die beabsichtigte Bewegung mit der tatsächlichen Bewegung verglichen werden, indem die jeweiligen Gesamtbewegungsvektoren, die aus dem Steuerbefehl, bzw. den erhaltenen Bildern berechnet werden, verglichen werden.
-
Falls die verglichenen Bewegungen, genauer gesagt die verglichenen Gesamtbewegungsvektoren, eine Abweichung zwischen der beabsichtigten Bewegung und der tatsächlichen Bewegung aufweisen, ist es die Aufgabe der vorliegenden Erfindung, eine Korrektur zu bestimmen, die dann auf den Steuerbefehl angewendet wird, so dass die tatsächliche Kamerabewegung mit der beabsichtigten Bewegung übereinstimmt, beispielsweise für zukünftige Steuerbefehle oder sogar den aktuellen Steuerbefehl, bei dem die tatsächliche Bewegung zunächst abgewichen ist.
-
Um die jeweiligen Bewegungen/Bewegungsvektoren miteinander zu vergleichen, ist es denkbar, dass die jeweiligen Bewegungen/Bewegungsvektoren innerhalb eines gemeinsamen Koordinatensystems miteinander korreliert sind. Ein solches gemeinsames Koordinatensystem kann beispielsweise der Anzeigeeinrichtung zugeordnet sein, auf der dem Behandler während der Endoskopie die Kamerabilder angezeigt werden. Beispielsweise können die Raumrichtungen wie „oben“, „unten“, „links“, „rechts“ für die tatsächliche Bewegung und die beabsichtigte Bewegung als die Richtungen „oben“, „unten“, „links“ und „ rechts“ auf dem Bildschirm definiert werden. Folglich können die Richtungen „in“ und „out“ als senkrecht zur Bildschirmebene zum Bildschirm hin bzw. von ihm weg gerichtet definiert werden. Selbstverständlich könnte das gemeinsame Koordinatensystem neben dem Monitor, der die Kamerabilder anzeigt, beliebigen anderen technischen Geräten zugeordnet werden.
-
In einem praktischen Beispiel möchte ein Arzt, der ein endoskopisches Verfahren mit der vorliegenden Erfindung durchführt, möglicherweise, dass sich das Kamerabild, das gegenwärtig auf dem Display angezeigt wird, in Bezug auf den Monitor „nach unten“ bewegt. Der Steuerbefehl zum Auslösen einer solchen Bewegung kann als „Auf“-(oder „Ab“-)-Steuerung definiert werden, die vom Benutzer über eine Benutzerschnittstelle wie einen Joystick, eine Computermaus oder ein berührungsempfindliches Touchpad eingegeben wird. Nach Ausführung des entsprechenden „Auf“- (bzw. „Ab“-)Befehls durch Drücken des Joysticks oder der Computermaus oder eines Fingers über das Touchpad nach vorne wird ein entsprechendes Steuersignalban die motorisierte Halterungsstruktur übermittelt, die demgemäß eine vordefinierte Bewegung zusammen mit der Kamera durchführt.
-
Da die den Geräten (z. B. Eingabegerät wie ein Joystick und ein Anzeigegerät wie ein Monitor), mit denen ein Arzt direkt interagiert, zugeordneten Koordinatensysteme aus weiter oben erläuterten Gründen bezüglich der den Geräten, die die tatsächliche Bewegung der Bilder direkt beeinflussen (z.B. Bewegungsvorrichtung wie eine motorisierte Kameraträgerstruktur und eine bildgebende Vorrichtung wie eine Kamera), zugeordneten Koordinatensysteme, nicht fixiert korrigiert werden, stellt die vorliegende Erfindung eine „On-the fly“ Korrektur bereit, so dass der Arzt eine Bildbewegung erhält, die er aufgrund der Steuereingaben intuitiv erwartet.
-
Während der Steuerbefehl von einem Arzt manuell über ein Eingabegerät wie einen digitalen oder analogen Joystick, eine Computermaus, ein Touchpad oder ein anderes geeignetes Eingabegerät ausgeführt werden kann, kann ein Steuerbefehl auch automatisch von einem Steuergerät erzeugt und übertragen werden. Beispielsweise kann eine solche Steuervorrichtung dazu programmiert sein, einen spezifischen Steuerbefehl an die motorisierte Halterungsstruktur zu übertragen, um das System zu korrigieren. Beispielsweise können solche automatischen Steuerbefehle in vordefinierten Zeitintervallen und/oder für vordefinierte Bedingungen ausgegeben werden. Beispielsweise könnte zu Beginn eines endoskopischen Eingriffs ein automatischer Steuerbefehl ausgegeben werden, so dass das System einmalig korrigiert wird, bevor die Kamera für die Endoskopie verwendet wird. Eine solche Korrekturprozedur kann jedoch auch jedes Mal durchgeführt werden, wenn der Benutzer das Eingabegerät zum Ausführen eines Eingabebefehls aktiviert. In einem solchen Fall wird der automatisch ausgegebene Steuerbefehl zur Korrektur des Systems verwendet, so dass ein nachfolgender manueller Steuerbefehl bereits zu einer erwarteten Reaktion, d.h. einer erwarteten Bewegung des auf dem Bildschirm angezeigten Bildes führt.
-
Während die beabsichtigte Bewegung eine beabsichtigte Bewegungsrichtung des medizinischen Bildgebungsvorrichtung umfassen kann, kann sie auch eine beabsichtigte Bewegungsgeschwindigkeit des medizinischen Bildgebungsvorrichtung umfassen. Die beabsichtigte Bewegungsgeschwindigkeit kann von einer Abmessung der Anzeigevorrichtung, insbesondere von der Breite, der Höhe, der Größe und/oder der Pixelanzahl der Anzeigevorrichtung abhängen, so dass ein Benutzer immer die gleiche oder ungefähr die gleiche Geschwindigkeit erfährt, mit der sich ein Kamerabild über den Bildschirm bewegt, unabhängig von den spezifischen Eigenschaften des Monitors oder Displays. Mit anderen Worten, das System kann nicht nur in Bezug auf die Bewegungsrichtungen der Kamera korrigiert werden, sondern auch in Bezug auf die Geschwindigkeit der Kamerabewegung. Ein Arzt, der beispielsweise einen analogen Joystick um einen relativ kleinen Winkel auslenkt, erwartet, dass sich die Kamera ziemlich langsam bewegt. Befindet sich die Kamera jedoch sehr nahe an einem zu beobachtenden Objekt, kann bereits eine leichte Auslenkung des Joysticks dazu führen, dass ein Kamerabild über den Bildschirm fliegt. Wird die Kamera hingegen vergleichsweise weit vom zu beobachtenden Objekt entfernt, kann selbst eine starke Auslenkung des Joysticks nur zu einer kaum wahrnehmbaren Bewegung des Kamerabildes auf dem Bildschirm führen. Denn ein System, bei dem die Motoren der motorisierten Kamerahalterungsstruktur fest auf eine bestimmte Steuerbefehlsamplitude (z.B. Joystick-Auslenkung) korrigiert sind, berücksichtigt nicht den Abstand zwischen der Kamera und dem von der Kamera zu beobachtenden Objekt. Dies kann zu den oben erwähnten unerwünschten Situationen führen, die für einen Benutzer ziemlich unangenehm sind. Um diesem Problem zu begegnen, kann die vorliegende Erfindung Maßnahmen zum Steuern der Geschwindigkeit bereitstellen, mit der die Kamera bewegt wird, und zwar als Funktion der Geschwindigkeit, mit der sich der Bildinhalt über den Anzeigebildschirm bewegt. Somit empfängt ein Benutzer eine bestimmte Geschwindigkeit des Bildes auf dem Bildschirm als Reaktion auf eine bestimmte Amplitude eines Eingabebefehls, unabhängig davon, wie weit die Kamera von dem beobachteten Objekt entfernt ist. Dabei kann eine Eingabe über einen digitalen Joystick unabhängig vom Abstand zwischen Kamera und beobachtetem Objekt eine vordefinierte Geschwindigkeit des Bildes auf dem Bildschirm hervorrufen. Im Sinne des erfindungsgemäßen Verfahrens bedeutet dies, dass die Korrektur des Steuerbefehls davon abhängt, wie weit sich der Bildinhalt zwischen dem ersten und dem zweiten Bild über den Bildschirm bewegt.
-
Ferner kann das erfindungsgemäße Verfahren nur Bewegungsrichtungen berücksichtigen, die parallel zur Ebene der von der Kamera empfangenen Bilder sind. Mit anderen Worten, die vorliegende Erfindung kann nur 2D-Steuerungen berücksichtigen. Die vorliegende Erfindung kann jedoch auch Bewegungsrichtungen berücksichtigen, die senkrecht zur Bildebene stehen, d.h. „In“- und „Out“-Richtungen bezüglich der Bildebene. Es ist zwar denkbar, dass solche „Zoom-In“- und „Zoom-Out“-Steuerbefehle über dieselben Eingabegeräte wie die zuvor beschriebenen 2D-Steuerbefehle eingegeben werden, beispielsweise über ein Scrollrad einer Computermaus, jedoch können 3D-Steuerbefehle über separate Eingabegeräte eingegeben werden, die einer oder mehreren Dimension(en) oder Richtung(en) zugeordnet sind, beispielsweise über separate Joysticks und/oder Hebel.
-
Um die Bewegungsrichtung und/oder die Bewegungsgeschwindigkeit des Videobildes über den Bildschirm, d.h. die Bewegung von Bildmerkmalen oder Objekten zwischen dem ersten Bild und dem zweiten Bild zu bestimmen, können alle denkbaren dem Fachmann bekannten Bildverarbeitungstechniken verwendet werden. Beispielsweise kann der „optische Fluss“ des angezeigten Bildinhalts sowie die „Ego-Bewegung“ der Kamera in Bezug auf die von der Kamera beobachtete Umgebung bestimmt werden. Ferner können im Kontext der vorliegenden Erfindung beliebige Techniken verwendet werden, die auf Kanten- und/oder Merkmalserkennung basieren, sowie beliebige Techniken, die auf einem Bildvergleich basieren.
-
Falls die Korrekturprozedur auf der Grundlage eines Steuerbefehls durchgeführt wird, der von einem Arzt eingegeben wird, um die Kamera zu bewegen, kann die auf den Steuerbefehl angewendete Korrektur den Unterschied zwischen einer tatsächlichen Position und einer beabsichtigten Position des medizinischen Bildgebungsvorrichtung weiter kompensieren, der durch eine Abweichung der tatsächlichen Bewegung von der beabsichtigten Bewegung des medizinischen Bildgebungsvorrichtung verursacht wurde. Mit anderen Worten führt die zwischen dem ersten und dem zweiten Bild aufgetretene „unkorrigierte“ Kamerabewegung, die für den Korrekturvorgang benötigt wurde, zu einer unbeabsichtigten Bewegung der Kamera und damit zu einer unbeabsichtigten Position der Kamera. Diese falsche Kameraposition kann durch eine zusätzliche, gegenläufige Kamerabewegung ausgeglichen werden, sodass die gesamte tatsächliche Kamerabewegung genau der beabsichtigten Kamerabewegung entspricht - als hätte es nie eine unkorrigierte und damit „falsche“ Bewegung gegeben. Beispielsweise könnte eine solche Kompensation unmittelbar nach dem Anwenden der Korrektur auf den Steuerbefehl angewendet werden, so dass die Kamera sofort „wieder in die Spur“ gebracht wird, bevor dem verbleibenden Steuerbefehl von der Kamera genau wie vom Benutzer beabsichtigt gefolgt wird. Ferner kann die Kompensation auch zu einem beliebigen späteren Zeitpunkt erfolgen, beispielsweise am Ende des Steuerbefehls, so dass die Kamera nach einer Parallelbewegung zur Sollspur wieder in die Spur gebracht wird.
-
Wie bereits weiter oben erwähnt, können die Korrekturdaten für jeden an die Bewegungseinrichtung übermittelten Steuerbefehl ermittelt werden, so dass auf jeden Steuerbefehl eine neue Korrektur angewendet wird.
-
Um den Benutzer vor Verwirrung zu bewahren, die durch eine anfänglich unkorrigierte und damit falsche Kamerabewegung verursacht werden kann, kann die Anzeigevorrichtung außerdem so gesteuert werden, dass sie in der Bildfolge keine Bewegung des medizinischen Bildgebungsvorrichtung anzeigt, die von der beabsichtigten Bewegung abweicht. Mit anderen Worten, das Anzeigegerät kann entweder einen schwarzen Bildschirm oder ein statisches (Kamera-)Bild für den Zeitraum anzeigen, in dem der Korrekturvorgang durchgeführt wird, der ein ziemlich kurzer und daher nicht wahrnehmbarer Zeitraum sein wird, von dem der größte Teil jeweils von dem Zeitraum zwischen den Aufnahmen des ersten Bildes bzw. des zweiten Bildes eingenommen wird.
-
Bei einer weiteren Ausgestaltung der vorliegenden Erfindung umfasst das Ermitteln von Korrekturdaten eine Plausibilitätsprüfung, um festzustellen, ob die ermittelte Korrektur des Steuerbefehls sinnvoll ist, insbesondere wobei eine sinnvolle Korrektur des Steuerbefehls eine maximale Grenze und/oder eine minimal Grenze nicht überschreitet. Wird beispielsweise innerhalb einer 2D-Steuerungsumgebung festgestellt, dass ein Steuerbefehl, der die Kamera innerhalb der Bildebene bewegen soll, zu einer Bewegung der Kamera senkrecht zur Bildebene führt, kann keine plausible Korrektur auf den Steuerbefehl innerhalb der Grenzen der 2D-Umgebung angewandt werden. Der Benutzer sollte auf solche Fälle aufmerksam gemacht werden, beispielsweise durch eine visuelle, haptische oder akustische Rückmeldung an den Benutzer, beispielsweise über einen vibrierenden Joystick oder eine auf dem Monitor angezeigte Fehlermeldung.
-
Bei einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung umfasst das Verfahren ferner den Schritt des Bestimmens von Korrekturverifizierungsdaten, die beschreiben, ob der Steuerbefehl gültig korrigiert wurde, insbesondere basierend auf mindestens einem dritten Bild, das von dem bewegten medizinischen Bildgebungsgerät empfangen wurde, als Ergebnis des korrigierten Steuerbefehls. Beispielsweise kann ein drittes Bild erfasst werden, nachdem die Kamera gemäß einem korrigierten Steuerbefehl bewegt wurde. Bei richtiger Korrektur des Steuerbefehls sollte die tatsächliche Bewegung zwischen dem zweiten und dem dritten Bild nicht von der beabsichtigten Bewegung abweichen oder zumindest eine vorgegebene Toleranzschwelle nicht überschreiten. Ist dies jedoch der Fall, können anhand der beabsichtigten Bewegung und der tatsächlichen Bewegung zwischen dem zweiten und dem dritten Bild weitere Korrekturdaten ermittelt werden, so dass eine nachträgliche Korrektur des Steuerbefehls vorgenommen werden kann, um die beabsichtigte Bewegung des medizinischen Bildgebungsvorrichtung zwischen dem zweiten und dem dritten Bild zu erzeugen. Mit anderen Worten kann das erfindungsgemäße Verfahren iterativ durchgeführt werden, bis die tatsächliche Kamerabewegung der beabsichtigten Kamerabewegung entspricht. Es kann jedoch in manchen Fällen sinnvoll sein, eine Fehlermeldung auszugeben, falls der Steuerbefehl innerhalb einer vordefinierten Anzahl von Korrekturschleifen, z.B. innerhalb von drei Korrekturschleifen, nicht korrigiert werden kann, da dies auf einen Fehler in der Systemeinstellung hinweisen kann.
-
Gemäß einem zweiten Aspekt richtet sich die Erfindung auf ein Computerprogramm, das, wenn es auf mindestens einem Prozessor (zum Beispiel einem Prozessor) von mindestens einem Computer (zum Beispiel einem Computer) läuft oder beim Laden in mindestens einen Speicher (z.B. ein Speicher) mindestens eines Computers (z. B. eines Computers) bewirkt, dass der mindestens eine Computer das oben beschriebene Verfahren gemäß dem ersten Aspekt durchführt. Die Erfindung kann sich alternativ oder zusätzlich auf eine (physikalische, beispielsweise elektrische, beispielsweise technisch erzeugte) Signalwelle beziehen, beispielsweise eine digitale Signalwelle, beispielsweise eine elektromagnetische Trägerwelle, die Informationen trägt, die das Programm, beispielsweise das vorgenannte Programm, darstellen, die zum Beispiel Codemittel umfasst, die angepasst sind, um einen oder alle Schritte des Verfahrens gemäß dem ersten Aspekt durchzuführen. Ein auf einer Disk gespeichertes Computerprogramm ist eine Datei, die beim Auslesen und Übertragen der Datei beispielsweise in Form eines (physikalischen, beispielsweise elektrischen, beispielsweise technisch erzeugten) Signals zu einem Datenstrom wird. Das Signal kann als Signalwelle implementiert sein, beispielsweise als die hier beschriebene elektromagnetische Trägerwelle. Beispielsweise ist das Signal, beispielsweise die Signalwelle, dazu ausgebildet, über ein Computernetzwerk, beispielsweise LAN, WLAN, WAN, Mobilfunknetz, beispielsweise das Internet, übertragen zu werden. Beispielsweise ist das Signal, beispielsweise die Signalwelle, zur Übertragung durch optische oder akustische Datenübertragung ausgebildet. Die Erfindung gemäß dem zweiten Aspekt kann sich daher alternativ oder zusätzlich auf einen für das oben genannte Programm repräsentativen Datenstrom beziehen.
-
Gemäß einem dritten Aspekt richtet sich die Erfindung auf ein computerlesbares Programmspeichermedium, auf dem das Programm gemäß dem zweiten Aspekt gespeichert ist. Das Programmspeichermedium ist beispielsweise nicht flüchtig.
-
Gemäß einem vierten Aspekt ist die Erfindung auf mindestens einen Computer (zum Beispiel einen Computer) gerichtet, der mindestens einen Prozessor (zum Beispiel einen Prozessor) und mindestens einen Speicher (zum Beispiel einen Speicher) umfasst, wobei das Programm gemäß dem zweiten Aspekt auf dem Prozessor läuft oder in den Speicher geladen wird, oder wobei der mindestens eine Computer das computerlesbare Programmspeichermedium gemäß dem dritten Aspekt umfasst.
-
Gemäß einem fünften Aspekt richtet sich die Erfindung auf ein medizinisches System, mit:
- - dem mindestens einen Computer gemäß dem vierten Aspekt; und
- - einer Bewegungsvorrichtung zum Bewegen einer medizinischen Bildgebungsvorrichtung, die mit der Bewegungsvorrichtung verbunden ist;
wobei der mindestens eine Computer operativ an die Bewegungsvorrichtung gekoppelt ist, zum Ausgeben eines Steuersignals an die Bewegungsvorrichtung zum Steuern des Betriebs der Bewegungsvorrichtung auf der Grundlage der ersten und der zweiten Bilddaten.
-
Alternativ oder zusätzlich richtet sich die Erfindung gemäß dem fünften Aspekt auf ein beispielsweise nichtflüchtiges computerlesbares Programmspeichermedium, auf dem ein Programm gespeichert ist, um den Computer gemäß dem vierten Aspekt zu veranlassen, die Datenverarbeitungsschritte des Verfahrens gemäß der Erfindung nach dem ersten Aspekt auszuführen.
-
Die Erfindung beinhaltet oder umfasst insbesondere keinen invasiven Schritt, der einen erheblichen körperlichen Eingriff in den Körper darstellen würde, der die Durchführung einer fachärztlichen Expertise erfordert und selbst bei Durchführung mit der erforderlichen professionellen Sorgfalt und Fachwissen ein erhebliches Gesundheitsrisiko mit sich bringt.
-
Die vorliegende Erfindung bezieht sich auch auf die Verwendung der Vorrichtung/des Systems oder einer beliebigen Ausführungsform davon zum Anpassen der oben beschriebenen Steuerbefehle.
-
DEFINITIONEN
-
In diesem Abschnitt werden Definitionen für bestimmte in dieser Offenbarung verwendete Terminologie angeboten, die ebenfalls Teil der vorliegenden Offenbarung sind.
-
Das erfindungsgemäße Verfahren ist beispielsweise ein computerimplementiertes Verfahren. Beispielsweise können alle Schritte oder nur einige der Schritte (d.h. weniger als die Gesamtzahl der Schritte) des erfindungsgemäßen Verfahrens von einem Computer (z.B. mindestens einem Computer) ausgeführt werden. Eine Ausführungsform des computerimplementierten Verfahrens ist eine Verwendung des Computers zum Durchführen eines Datenverarbeitungsverfahrens. Eine Ausführungsform des computerimplementierten Verfahrens ist ein Verfahren, das den Betrieb des Computers betrifft, so dass der Computer betrieben wird, um einen, mehrere oder alle Schritte des Verfahrens durchzuführen.
-
Der Computer umfasst beispielsweise mindestens einen Prozessor und beispielsweise mindestens einen Speicher, um die Daten (technisch) zu verarbeiten, beispielsweise elektronisch und/oder optisch. Der Prozessor besteht beispielsweise aus einer Substanz oder Zusammensetzung, die ein Halbleiter ist, beispielsweise zumindest teilweise n- und/oder p-dotierter Halbleiter, beispielsweise zumindest eines von II-, III-, IV-, V-, VI' - Halbleitermaterial, beispielsweise (dotiertes) Silizium und/oder Galliumarsenid. Die beschriebenen Berechnungs- oder Bestimmungsschritte werden beispielsweise von einem Computer durchgeführt. Ermittlungsschritte oder Berechnungsschritte sind beispielsweise Schritte der Datenermittlung im Rahmen des technischen Verfahrens, beispielsweise im Rahmen eines Programms. Ein Computer ist beispielsweise jede Art von Datenverarbeitungsgerät, beispielsweise elektronisches Datenverarbeitungsgerät. Ein Computer kann ein allgemein als solches gedachtes Gerät sein, beispielsweise Desktop-PCs, Notebooks, Netbooks usw., aber auch jedes programmierbare Gerät, wie beispielsweise ein Mobiltelefon oder ein eingebetteter Prozessor. Ein Computer kann beispielsweise ein System (Netzwerk) von „Untercomputern“ umfassen, wobei jeder Untercomputer einen eigenen Computer darstellt. Der Begriff „Computer“ umfasst einen Cloud-Computer, beispielsweise einen Cloud-Server. Der Begriff Computer umfasst eine Serverressource. Der Begriff „Cloud-Computer“ umfasst ein Cloud-Computersystem, das beispielsweise ein System aus mindestens einem Cloud-Computer und beispielsweise mehreren operativ miteinander verbundenen Cloud-Computern, wie beispielsweise eine Serverfarm, umfasst. Ein solcher Cloud-Computer ist vorzugsweise mit einem Wide-Area-Netz wie dem World Wide Web (WWW) verbunden und befindet sich in einer sogenannten Cloud von Computern, die alle mit dem World Wide Web verbunden sind. Eine solche Infrastruktur wird für „Cloud Computing“ verwendet, was Berechnungs-, Software-, Datenzugriffs- und Speicherdienste beschreibt, die es nicht erfordern, dass der Endbenutzer den physischen Standort und/oder die Konfiguration des Computers kennt, der einen bestimmten Dienst bereitstellt. Beispielsweise wird in diesem Zusammenhang der Begriff „Cloud“ als Metapher für das Internet (World Wide Web) verwendet. Die Cloud bietet beispielsweise Computing Infrastructure as a Service (IaaS). Der Cloud-Computer kann als virtueller Host für ein Betriebssystem und/oder eine Datenverarbeitungsanwendung fungieren, die verwendet wird, um das erfindungsgemäße Verfahren auszuführen. Der Cloud-Computer ist beispielsweise eine Elastic Compute Cloud (EC2), wie sie von Amazon Web Services™ bereitgestellt wird. Ein Computer weist beispielsweise Schnittstellen auf, um Daten zu empfangen oder auszugeben und/oder eine Analog-Digital-Wandlung durchzuführen. Bei den Daten handelt es sich beispielsweise um Daten, die physikalische Eigenschaften darstellen und/oder aus technischen Signalen generiert werden. Die technischen Signale werden beispielsweise mittels (technischen) Detektionsgeräten (wie beispielsweise Geräten zum Nachweis von Markergeräten) und/oder (technischen) Analysegeräten (wie beispielsweise Geräten zur Durchführung von (medizinischen) bildgebenden Verfahren) erzeugt, wobei die technischen Signale beispielsweise elektrische oder optische Signale sind. Die technischen Signale repräsentieren beispielsweise die vom Computer empfangenen oder ausgegebenen Daten. Der Computer ist vorzugsweise operativ mit einer Anzeigevorrichtung verbunden, die es ermöglicht, von dem Computer ausgegebene Informationen anzuzeigen, beispielsweise einem Benutzer. Ein Beispiel für ein Anzeigegerät ist ein Virtual-Reality-Gerät oder ein Augmented-Reality-Gerät (auch als Virtual-Reality-Brille oder Augmented-Reality-Brille bezeichnet), das als „Brille“ zum Navigieren verwendet werden kann. Ein konkretes Beispiel für eine solche Augmented-Reality-Brille ist Google Glass (eine Marke von Google, Inc.). Ein Augmented-Reality-Gerät oder ein Virtual-Reality-Gerät kann sowohl zum Eingeben von Informationen in den Computer durch Benutzerinteraktion als auch zum Anzeigen von vom Computer ausgegebenen Informationen verwendet werden. Ein weiteres Beispiel für eine Anzeigevorrichtung wäre ein Standard-Computermonitor, der beispielsweise eine Flüssigkristallanzeige umfasst, die operativ mit dem Computer verbunden ist, um Anzeigesteuerdaten von dem Computer zu empfangen, um Signale zu erzeugen, die zum Anzeigen von Bildinformationsinhalten auf der Anzeigevorrichtung verwendet werden. Eine spezielle Ausführungsform eines solchen Computermonitors ist ein digitaler Leuchtkasten. Ein Beispiel für eine solche digitale Lightbox ist Buzz®, ein Produkt der Brainlab AG. Der Monitor kann auch der Monitor eines tragbaren, beispielsweise tragbaren Geräts sein, wie beispielsweise eines Smartphones oder eines persönlichen digitalen Assistenten oder eines digitalen Mediaplayers.
-
Die Erfindung betrifft auch ein Programm, das bei Ausführung auf einem Computer bewirkt, dass der Computer einen oder mehrere oder alle der hierin beschriebenen Verfahrensschritte durchführt und/oder ein Programmspeichermedium, auf dem das Programm gespeichert ist (insbesondere in einer unveränderlichen Form) und/oder einen Computer mit dem genannten Programmspeichermedium und/oder eine (physikalische, beispielsweise elektrische, beispielsweise technisch erzeugte) Signalwelle, beispielsweise eine digitale Signalwelle, wie beispielsweise eine elektromagnetische Trägerwelle, die Informationen trägt, die das Programm darstellen, beispielsweise das oben erwähnte Programm, das beispielsweise Codemittel umfasst, die angepasst sind, um einen oder alle der hierin beschriebenen Verfahrensschritte auszuführen.
-
Computerprogrammelemente können im Rahmen der Erfindung durch Hardware und/oder Software (dazu gehören Firmware, residente Software, Mikrocode etc.) verkörpert sein. Computerprogrammelemente können im Rahmen der Erfindung als Computerprogrammprodukt ausgebildet sein, das durch einen computerverwendbaren, beispielsweise computerlesbaren Datenträger mit computerverwendbaren, beispielsweise computerlesbaren Programmanweisungen, verkörpert sein kann, „Code“ oder ein „Computerprogramm“, das in dem Datenspeichermedium enthalten ist, zur Verwendung auf oder in Verbindung mit dem Anweisungsausführungssystem. Ein solches System kann ein Computer sein; ein Computer kann eine Datenverarbeitungseinrichtung mit Mitteln zum Ausführen der Computerprogrammelemente und/oder des erfindungsgemäßen Programms sein, beispielsweise eine Datenverarbeitungseinrichtung mit einem digitalen Prozessor (Zentraleinheit oder CPU), der die Computerprogrammelemente ausführt und optional einen flüchtigen Speicher (zum Beispiel ein Speicher mit wahlfreiem Zugriff oder RAM) zum Speichern von Daten, die für die Ausführung der Computerprogrammelemente verwendet und/oder durch diese erzeugt werden. Im Rahmen der vorliegenden Erfindung kann ein computerverwendbarer, beispielsweise computerlesbarer Datenträger jeder Datenträger sein, der das Programm zur Verwendung auf oder in Verbindung mit dem die Anweisung ausführenden System, Vorrichtung oder Gerät enthalten, speichern, kommunizieren, verbreiten oder transportieren kann. Der computerverwendbare, beispielsweise computerlesbare Datenträger kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, -gerät oder -gerät oder ein Verbreitungsmedium sein, wie beispielsweise das Internet. Der computerverwendbare oder computerlesbare Datenträger könnte sogar beispielsweise Papier oder ein anderes geeignetes Medium sein, auf das das Programm gedruckt wird, da das Programm elektronisch erfasst werden könnte, beispielsweise durch optisches Scannen des Papiers oder eines anderen geeigneten Mediums, und dann in geeigneter Weise zusammengestellt, interpretiert oder anderweitig verarbeitet. Der Datenträger ist vorzugsweise ein nichtflüchtiger Datenträger. Das Computerprogrammprodukt und jegliche hier beschriebene Software und/oder Hardware bilden die verschiedenen Mittel zum Ausführen der Funktionen der Erfindung in den beispielhaften Ausführungsformen. Der Computer und/oder die Datenverarbeitungsvorrichtung können beispielsweise eine Leitinformationsvorrichtung umfassen, die Mittel zum Ausgeben von Leitinformationen umfasst. Die Ausgabe der Leitinformationen kann beispielsweise an einen Benutzer visuell durch ein optisches Anzeigemittel (beispielsweise einen Monitor und/oder eine Lampe) und/oder akustisch durch ein akustisches Anzeigemittel (beispielsweise einen Lautsprecher und/oder ein digitales Sprachausgabegerät) und/oder taktil durch ein taktiles Anzeigemittel (beispielsweise ein Vibrationselement oder ein in ein Instrument eingebautes Vibrationselement). Ein Computer im Sinne dieses Dokuments ist ein technischer Computer, der beispielsweise technische, beispielsweise materielle Komponenten, beispielsweise mechanische und/oder elektronische Komponenten umfasst. Jedes in diesem Dokument als solches erwähnte Gerät ist ein technisches und beispielsweise materielles Gerät.
-
Der Begriff „Erfassen von Daten“ umfasst beispielsweise (im Rahmen eines computerimplementierten Verfahrens) das Szenario, in dem die Daten durch das computerimplementierte Verfahren oder Programm bestimmt werden. Das Bestimmen von Daten umfasst beispielsweise das Messen physikalischer Größen und das Umwandeln der Messwerte in Daten, beispielsweise digitale Daten, und/oder das Berechnen (und beispielsweise Ausgeben) der Daten mittels eines Computers und beispielsweise im Rahmen des Verfahrens nach der Erfindung. Ein Schritt des „Bestimmens“, wie hierin beschrieben, umfasst zum Beispiel oder besteht darin, einen Befehl auszugeben, um die hierin beschriebene Bestimmung durchzuführen. Beispielsweise umfasst oder besteht der Schritt darin, einen Befehl auszugeben, um einen Computer, beispielsweise einen entfernten Computer, beispielsweise einen entfernten Server, beispielsweise in der Cloud, zu veranlassen, die Bestimmung durchzuführen. Alternativ oder zusätzlich umfasst ein Schritt des „Bestimmens“, wie hierin beschrieben, beispielsweise das Empfangen der Daten, die sich aus der hierin beschriebenen Bestimmung ergeben, beispielsweise das Empfangen der resultierenden Daten von dem entfernten Computer, beispielsweise von dem entfernten Computer, der veranlasst wurde, die Bestimmung durchzuführen. Der Begriff „Daten erfassen“ umfasst beispielsweise auch das Szenario, in dem die Daten durch das computerimplementierte Verfahren oder Programm, beispielsweise von einem anderen Programm, einem vorherigen Verfahrensschritt oder einem Datenträger empfangen oder abgerufen werden (z. B. eingegeben werden), z.B. zur Weiterverarbeitung durch das computerimplementierte Verfahren oder Programm. Die Erzeugung der zu erfassenden Daten kann, muss aber nicht Teil des erfindungsgemäßen Verfahrens sein. Der Ausdruck „Daten erfassen“ kann daher beispielsweise auch bedeuten, auf den Empfang von Daten zu warten und/oder die Daten zu empfangen. Die empfangenen Daten können beispielsweise über eine Schnittstelle eingegeben werden. Der Ausdruck „Daten erfassen“ kann auch bedeuten, dass das computerimplementierte Verfahren oder Programm Schritte ausführt, um die Daten (aktiv) von einer Datenquelle, beispielsweise einem Datenträger (wie beispielsweise einem ROM, RAM, Datenbank, Festplatte etc.) oder über die Schnittstelle (z.B. von einem anderen Computer oder einem Netzwerk) zu erhalten oder abzuholen. Die durch das offenbarte Verfahren bzw. die offenbarte Vorrichtung erfassten Daten können von einer Datenbank erfasst werden, die sich in einer Datenspeichervorrichtung befindet, die mit einem Computer zum Datentransfer zwischen der Datenbank und dem Computer, beispielsweise von der Datenbank zum Computer, betreibbar ist. Der Computer erfasst die Daten zur Verwendung als Eingabe für Schritte zum Bestimmen von Daten. Die ermittelten Daten können zur späteren Verwendung wieder an dieselbe oder eine andere Datenbank ausgegeben werden. Die Datenbank, die zum Implementieren des offenbarten Verfahrens verwendet wird, kann sich auf einem Netzwerk-Datenspeichergerät oder einem Netzwerkserver (zum Beispiel einem Cloud-Datenspeichergerät oder einem Cloud-Server) oder einem lokalen Datenspeichergerät befinden (wie einem betriebsbereiten Massenspeichergerät, das mit mindestens einem Computer verbunden ist, der das offenbarte Verfahren ausführt). Die Daten können „gebrauchsfertig“ gemacht werden, indem vor dem Erfassungsschritt ein zusätzlicher Schritt durchgeführt wird. Gemäß diesem zusätzlichen Schritt werden die Daten zur Erfassung generiert. Die Daten werden beispielsweise erfasst oder eingeholt (beispielsweise von einem Analysegerät). Alternativ oder zusätzlich werden die Daten gemäß dem zusätzlichen Schritt beispielsweise über Schnittstellen eingegeben. Die erzeugten Daten können beispielsweise eingegeben werden (z.B. in den Computer). Gemäß dem zusätzlichen Schritt (der dem Erfassungsschritt vorausgeht) können die Daten auch bereitgestellt werden, indem der zusätzliche Schritt des Speicherns der Daten auf einem Datenträger (wie beispielsweise einem ROM, RAM, CD und/oder Festplatte) durchgeführt wird, so dass sie im Rahmen des erfindungsgemäßen Verfahrens oder Programms einsatzbereit sind. Der Schritt des „Erfassens von Daten“ kann daher auch darin bestehen, einem Gerät zu befehlen, die zu erfassenden Daten zu erhalten und/oder bereitzustellen. Insbesondere handelt es sich bei dem Erfassungsschritt nicht um einen invasiven Schritt, der einen erheblichen körperlichen Eingriff in den Körper darstellen würde, der die Durchführung eines fachärztlichen Gutachtens erfordert und auch bei Durchführung mit der erforderlichen fachlichen Sorgfalt und Sachkenntnis ein erhebliches gesundheitliches Risiko mit sich bringt. Insbesondere beinhaltet der Schritt des Erfassens von Daten, beispielsweise des Bestimmens von Daten, keinen chirurgischen Schritt und insbesondere keinen Schritt einer chirurgischen oder therapeutischen Behandlung eines menschlichen oder tierischen Körpers. Um die unterschiedlichen Daten zu unterscheiden, die von dem vorliegenden Verfahren verwendet werden, werden die Daten als „XY-Daten“ und dergleichen bezeichnet (d.h. bezeichnet) und sind in Bezug auf die von ihnen beschriebenen Informationen definiert, die dann vorzugsweise als „ XY-Informationen“ und dergleichen.
-
Eine Bildregistrierung ist der Prozess der Umwandlung verschiedener Datensätze in ein Koordinatensystem. Die Daten können mehrere Fotografien und/oder Daten von unterschiedlichen Sensoren, unterschiedlichen Zeiten oder unterschiedlichen Standpunkten sein. Sie wird in der Computer-Vision, in der medizinischen Bildgebung und beim Zusammenstellen und Analysieren von Bildern und Daten von Satelliten verwendet. Um die aus diesen verschiedenen Messungen gewonnenen Daten vergleichen oder integrieren zu können, ist eine Registrierung erforderlich.
-
Eine Bildfusion kann eine elastische Bildfusion oder eine starre Bildfusion sein. Bei der starren Bildfusion ist die relative Position zwischen den Pixeln eines 2D-Bildes und/oder Voxeln eines 3D-Bildes festgelegt, während bei der elastischen Bildfusion die relativen Positionen sich ändern dürfen.
-
In dieser Anmeldung kann auch der Begriff „Bildmorphing“ alternativ zum Begriff „elastische Bildfusion“ verwendet werden, jedoch mit gleicher Bedeutung.
-
Elastische Fusionstransformationen (z. B. elastische Bildfusionstransformationen) sollen beispielsweise einen nahtlosen Übergang von einem Datensatz (z. B. einem ersten Datensatz wie z. B. einem ersten Bild) zu einem anderen Datensatz (z. B. einem zweiten Datensatz wie z Beispiel ein zweites Bild) ermöglichen. Die Transformation ist beispielsweise so ausgelegt, dass einer der ersten und zweiten Datensätze (Bilder) verformt wird, beispielsweise derart, dass korrespondierende Strukturen (z.B. korrespondierende Bildelemente) an der gleichen Position angeordnet sind wie im anderen, ersten oder zweiten Bild. Das deformierte (transformierte) Bild, das von einem der ersten und zweiten Bilder transformiert wird, ist beispielsweise dem anderen, ersten oder zweiten Bild so ähnlich wie möglich. Vorzugsweise werden (numerische) Optimierungsalgorithmen angewendet, um die Transformation zu finden, die zu einem optimalen Ähnlichkeitsgrad führt. Der Ähnlichkeitsgrad wird vorzugsweise über einen Grad an Ähnlichkeit (im Folgenden auch als „Ähnlichkeitsgrad“ bezeichnet) gemessen. Die Parameter des Optimierungsalgorithmus sind beispielsweise Vektoren eines Deformationsfeldes. Diese Vektoren werden durch den Optimierungsalgorithmus so bestimmt, dass sich ein optimaler Ähnlichkeitsgrad ergibt. Somit stellt der optimale Ähnlichkeitsgrad eine Bedingung, beispielsweise eine Nebenbedingung, für den Optimierungsalgorithmus dar. Die Basen der Vektoren liegen beispielsweise an Voxelpositionen eines der zu transformierenden ersten und zweiten Bilder, und die Spitzen der Vektoren liegen an den entsprechenden Voxelpositionen im transformierten Bild. Vorzugsweise werden mehrere dieser Vektoren bereitgestellt, beispielsweise mehr als zwanzig oder hundert oder tausend oder zehntausend usw., beispielsweise werden alle Voxel durch die Transformation an die gleiche Position verschoben). Zu diesen Randbedingungen gehört beispielsweise die Randbedingung, dass die Transformation regelmäßig ist, was beispielsweise bedeutet, dass eine aus einer Matrix des Deformationsfeldes (beispielsweise dem Vektorfeld) berechnete Jacobi-Determinante größer als Null ist, sowie die Randbedingung, dass das transformierte (verformtes) Bild sich nicht selbst überschneidet und dass das transformierte (verformte) Bild beispielsweise keine Fehler und/oder Brüche umfasst. Die Beschränkungen umfassen beispielsweise die Beschränkung, dass, wenn ein regelmäßiges Gitter gleichzeitig mit dem Bild und in entsprechender Weise transformiert wird, das Gitter sich an keiner seiner Stellen ineinander falten darf. Das Optimierungsproblem wird beispielsweise iterativ gelöst, beispielsweise mittels eines Optimierungsalgorithmus, der beispielsweise ein Optimierungsalgorithmus erster Ordnung ist, wie beispielsweise ein Gradientenabstiegsalgorithmus. Andere Beispiele von Optimierungsalgorithmen umfassen Optimierungsalgorithmen, die keine Ableitungen verwenden, wie etwa den Downhill-Simplex-Algorithmus, oder Algorithmen, die Ableitungen höherer Ordnung verwenden, wie etwa Newton-ähnliche Algorithmen. Der Optimierungsalgorithmus führt vorzugsweise eine lokale Optimierung durch. Bei mehreren lokalen Optima können globale Algorithmen wie Simulated Annealing oder generische Algorithmen verwendet werden. Bei linearen Optimierungsproblemen kann beispielsweise das Simplex-Verfahren verwendet werden.
-
In den Schritten der Optimierungsalgorithmen werden die Voxel beispielsweise um einen Betrag in eine solche Richtung verschoben, dass der Ähnlichkeitsgrad erhöht wird. Diese Größe ist vorzugsweise kleiner als ein vordefinierter Grenzwert, beispielsweise kleiner als ein Zehntel oder ein Hundertstel oder ein Tausendstel des Durchmessers des Bildes und beispielsweise ungefähr gleich oder kleiner als der Abstand zwischen benachbarten Voxeln. Große Verformungen können beispielsweise durch eine hohe Anzahl von (Iterations-)Schritten realisiert werden.
-
Die ermittelte elastische Fusionstransformation kann beispielsweise verwendet werden, um einen Ähnlichkeitsgrad (oder Ähnlichkeitsmaß) zwischen dem ersten und zweiten Datensatz (erstes und zweites Bild) zu bestimmen. Dazu wird die Abweichung zwischen der elastischen Fusionstransformation und einer Identitätstransformation bestimmt. Der Grad der Abweichung kann beispielsweise berechnet werden, indem die Differenz zwischen der Determinante der elastischen Fusionstransformation und der Identitätstransformation bestimmt wird. Je höher die Abweichung, desto geringer die Ähnlichkeit, daher kann der Grad der Abweichung verwendet werden, um ein Ähnlichkeitsmaß zu bestimmen.
-
Ein Ähnlichkeitsmaß kann beispielsweise anhand einer ermittelten Korrelation zwischen dem ersten und zweiten Datensatz bestimmt werden.
-
Figurenliste
-
Im Folgenden wird die Erfindung unter Bezugnahme auf die beigefügten Figuren beschrieben, die Hintergrunderläuterungen geben und spezielle Ausführungsformen der Erfindung darstellen. Der Umfang der Erfindung ist jedoch nicht auf die im Zusammenhang mit den Figuren offenbarten spezifischen Merkmale beschränkt
- 1 veranschaulicht die grundlegenden Schritte des Steuerungsanpassungsverfahrens gemäß der vorliegenden Erfindung;
- 2 zeigt einen schematischen Systemaufbau gemäß der vorliegenden Erfindung zusammen mit einer schematischen Darstellung einer Steuerbefehlskorrektur gemäß der vorliegenden Erfindung;
- 3 zeigt eine schematische Darstellung des Systems gemäß dem fünften Aspekt.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Die 1 zeigt die grundlegenden Schritte des erfinderischen Steuerungsanpassungs- bzw. Steuerungskorrekturverfahrens gemäß der vorliegenden Erfindung. In einem ersten Schritt S1 werden erste Bilddaten über mindestens eine (Endoskop-)Kamera erfasst, woraufhin in einem zweiten Schritt S2 beabsichtigte Bewegungsdaten von einem Eingabegerät erfasst werden. Diesbezüglich sollte beachtet werden, dass die Schritte des Erfassens erster Bilddaten und des Erfassens von beabsichtigten Bewegungsdaten auch in umgekehrter Reihenfolge durchgeführt werden können. In einem dritten Schritt S3 werden zweite Bilddaten über die (Endoskop-)Kamera erfasst, so dass in einem vierten Schritt S4 aus den ersten Bilddaten und den zweiten Bilddaten tatsächliche Bewegungsdaten ermittelt werden können. In einem fünften Schritt S5 werden die ermittelten Ist-Bewegungsdaten mit den erfassten Soll-Bewegungsdaten verglichen, um Korrekturdaten zu ermitteln, die eine auf den Steuerbefehl anzuwendende Korrektur beschreiben, so dass die Ist-Kamerabewegung der Soll-Kamerabewegung entspricht.
-
Die 2 und 3 zeigen die grundlegenden Komponenten eines Systemaufbaus gemäß der vorliegenden Erfindung. Ein medizinisches Endoskopiesystem 1 umfasst einen Monitor 8, einen Joystick 7 und einen halbrobotischen Halterungsarm (Halterungsstruktur) 4 mit mehreren Armteilen, die über motorische Gelenke so miteinander verbunden sind, dass die Armteile gegeneinander bewegt werden können. Am distalen Ende des motorisierten Halterungsarms 4 ist über einer über die Endoskopkamera 5 zu beobachtenden Struktur 9 (dargestellt durch eine Pyramide) eine endoskopische Kamera 5 gehalten, deren Blickrichtung auf die Struktur 9 gerichtet ist.
-
Ferner umfasst das System 1 eine Steuereinrichtung 6 zur Durchführung des erfindungsgemäßen Steueranpassungsverfahrens, die mit der motorisierten Halterungsstruktur 4, der endoskopischen Kamera 5, dem Joystick 7 und dem Monitor 8 verbunden ist. Die Steuereinrichtung umfasst einen Computer 2 mit einem digitalen Prozessor zum Durchführen des erfindungsgemäßen Steueranpassungsverfahrens und ein Programmspeichermedium 3 mit einem Programm, das den Computer veranlasst, die Verfahrensschritte des erfindungsgemäßen Verfahrens durchzuführen.
-
In einem ersten Schritt S1 nimmt die Kamera 5 ein Bild der Struktur 9 auf, wobei die Bilddaten über die Steuereinrichtung an den Monitor 8 übertragen werden, der dann ein Bild der Struktur 9 zeigt In 2, die dem Schritt S1 entspricht, wird die Struktur 9 auf dem Monitor in der unteren linken Ecke des angezeigten Bildes gezeigt.
-
Ein Benutzer, der nicht möchte, dass die Struktur 9 in der unteren linken Ecke des Displays 8 angezeigt wird, kann über den Joystick 7 einen Steuerbefehl eingeben, um die motorisierte Halterungsstruktur 4 zu veranlassen, die Endoskopkamera 5 in Bezug auf die Struktur 9 zu bewegen, so dass die Struktur 9 in der oberen linken Ecke des vom Monitor 8 angezeigten Bildes angezeigt wird. Hierzu kann der Benutzer den Joystick in eine „Aufwärts“-Richtung schieben, wie sie schematisch in dem Einzelbild gezeigt ist, das zu Schritt S2 gehört. Nach Eingabe des Steuerbefehls, der die beabsichtigte Bewegung der Kamera 5 repräsentiert und nachdem sich die motorisierte Halterungsstruktur 4 entsprechend bewegt hat, kann es vorkommen, dass die Struktur 9 nicht wie beabsichtigt in der oberen linken Ecke des Bildes gezeigt wird, sondern in der oberen rechten Ecke des Bildes (vgl. das Einzelbild, das Schritt S3 entspricht). Durch Ausführen von Bildverarbeitungstechniken zum Vergleichen der in den Schritten S1 und S3 erfassten Kamerabilder wird in Schritt S4 eine tatsächliche Bewegung der Halterungsstruktur 4 berechnet und es wird festgestellt, dass sich die Struktur 9 nicht in eine „Aufwärts“-Richtung im Bild bewegt hat, sondern in eine „Aufwärts“-Richtung und eine „Rechts“-Richtung. Folglich weicht die tatsächliche Kamerabewegung (vgl. Einzelbild entsprechend Schritt S4) von einer beabsichtigten Kamerabewegung (vgl. Einzelbild entsprechend Schritt S2) ab. Diese Abweichung kann beispielsweise das Ergebnis eines Rotationsfreiheitsgrades der Endoskopkamera 5 entlang ihrer Blickrichtung und gegenüber dem Halterungsarm 4 sein. In jedem Fall ist die Abweichung der tatsächlichen Kamerabewegung von der beabsichtigten Kamerabewegung unerwünscht, da dies den Arzt, der die Endoskopkamera 5 über den Joystick 7 und den Monitor 8 bedient, verwirrt.
-
Um diese ungewollte Abweichung zu kompensieren, bestimmt die vorliegende Erfindung eine Korrektur, die auf den Steuerbefehl anzuwenden ist, so dass dieser die beabsichtigte Bewegung der Kamera 5 erzeugt. Wie schematisch in dem Einzelbild des Verfahrensschrittes S5 gezeigt ist, wird eine Transformationsmatrix M berechnet, die den Vektor, der die tatsächliche Bewegung repräsentiert, in den Vektor transformiert, der die beabsichtigte Bewegung repräsentiert. Diese berechnete Korrekturmatrix M kann dann auf jeden Steuerbefehl angewendet werden, der im Anschluss an das zweite Bild an den Halterungsarm 5 übertragen wird, so dass sich die Kamera 5 wie beabsichtigt und gemäß den über den Joystick 7 eingegebenen Steuerbefehlen bewegt (vgl. Einzelbild gemäß Verfahrensschritt S6).
-
Falls die Korrekturmatrix M nicht mehr gültig ist, beispielsweise wenn sich die Kamera 5 gegenüber dem Halterungsarm 4 dreht, nachdem die Korrekturmatrix M berechnet wurde, kann eine weitere Steuerungskorrektur in der gleichen Weise wie zuvor beschrieben durchgeführt werden, um eine neue, aktualisierte Korrekturmatrix M zu berechnen.