-
Die Erfindung bezieht sich auf ein Verfahren zur Steuerung einer (Software-)Applikation, also eines Anwendungsprogramms mittels einer Mehrzahl von Eingabegeräten. Die Erfindung bezieht sich dabei insbesondere auf eine Applikation zur interaktiven Bildmanipulation von medizintechnischen Bilddaten. Die Erfindung bezieht sich des Weiteren auf ein zugehöriges System. Als „Steuerung“ der Applikation wird hierbei insbesondere die Vermittlung von Eingaben (Kommandos) an die Applikation verstanden, die von einem Nutzer unter Verwendung eines Eingabegerätes vorgenommen werden.
-
Unter dem Begriff „interaktive Bildmanipulation“ werden Operationen zusammengefasst, die ein Nutzer interaktiv zur Änderung der Bildanzeige anstößt. Hierunter fallen insbesondere zwei- oder dreidimensionale Drehungen der Bildinformation, Zoom-Operationen (d.h. die Vergrößerung/Verkleinerung des angezeigten Bildausschnitts) oder Pan-Operationen (d.h. die Verschiebung des angezeigten Bildausschnitts). Diesen Operationen ist insbesondere gemein, dass sie zeitkritisch sind, da eine merklich verzögerte Reaktion des Systems auf eine Nutzerinteraktion den Nutzungskomfort erheblich einschränkt.
-
Software-Applikationen, insbesondere für den Bereich der medizintechnischen Bildbearbeitung, werden in der Regel mit Rücksichtnahme auf bestimmte Eingabegeräte programmiert, die zur Bedienung der Applikation verwendbar sein sollen. Folglich hängt die Implementierung der Applikation wesentlich von den später zu wählenden Eingabegeräten ab. Um die Nutzbarkeit einer Applikation unter verschiedenen Hardwareumgebungen zu gewährleisten, muss eine Applikation in der Regel für eine Vielzahl unterschiedlicher Eingabegeräte, z.B. Maus, (Mono- oder Multi-)Touch-Pad, (Mono- oder Multi-)Touch-Screen, Grafiktablett, Tastatur, Joystick, sprach- oder gestenerkennende Eingabegeräte, etc. ausgelegt werden.
-
Dies bedingt einen erheblichen Aufwand bei der Applikationsentwicklung, zumal je nach Eingabegerät erhebliche Unterschiede in der Verarbeitung der Eingabesignale des jeweiligen Eingabegeräts programmtechnisch berücksichtigt werden müssen. Zudem kann eine fertiggestellte Applikation nachträglich nur mit großem Aufwand auf die Unterstützung von neu entwickelten Typen von Eingabegeräten (wie zum Beispiel in der jüngeren Vergangenheit Multi-Touch-Screens, Sprach- oder Gestensteuerung) angepasst werden. Heutige Applikationen sind daher quasi starr auf ein bestimmtes Eingabegerät oder eine bestimmte Auswahl von Eingabegeräten, und damit auf bestimmte Hardwareumgebungen festgelegt.
-
Ein weiteres Problem bei der Steuerung herkömmlicher Applikationen, insbesondere bei der interaktiven Bildmanipulation medizintechnischen Bilddaten, besteht darin, dass unterschiedliche Typen von Eingabegeräten zur Erzeugung desselben Kommandos (und somit zum Hervorrufen desselben Bearbeitungsergebnisses der Applikation) von dem Nutzer unterschiedliche Bedienhandlungen fordern. So muss der Nutzer beispielsweise für einen Bild-Zoom (also für die Vergrößerung des angezeigten Bildausschnitts) bei Steuerung der Applikation mittels einer 3-Tasten-Maus üblicherweise die mittlere Maus-Taste betätigen, während er bei Steuerung der Applikation mittels eines Multi-Touch-Screens Daumen und Zeigefinger auf der berührungssensitiven Oberfläche gleichzeitig, und noch dazu in vorgegebene, bestimmte Richtungen, bewegen muss. Der Nutzer erfährt also bei Bedienung ein- und derselben Applikation mit unterschiedlichen Eingabegeräten ein unterschiedliches Bedien-Verhalten (User Experience), was einem effizienten Arbeitsablauf in einer heterogenen Hardwareumgebung zuwider läuft.
-
Aus
US 2012/0068928 A1 sind ein Verfahren und System zur Steuerung einer Applikation für die interaktive Bildmanipulation von medizinischen Bilddaten mittels einer Mehrzahl von Eingabegeräten bekannt. Beim Start der Applikation werden hierbei die Anzahl und Art der angeschlossenen Eingabegeräte erkannt, wobei die Kontrollelemente der erkannten Eingabegeräte konfigurierbar mit Funktionen der Applikation verknüpft werden.
-
Aus
US 2010/0328227 A1 ist bekannt, Signale eines Multi-Touch-Geräts mit virtuellen Schaltflächen zu verknüpfen, die einer linken, mittleren und rechten Maustaste entsprechen.
-
Aus
US 2008/0250429 A1 sind ferner ein Verfahren und System bekannt, bei dem die Eingabesignale eines Eingabegeräts mittels eines Applikations-Anpassungsprogramms mit den jeweiligen Funktionen mehrerer Applikationen verknüpft werden, wobei das Applikations-Anpassungsprogramm unabhängig von den Applikationen abläuft.
-
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und ein System zur Steuerung einer Applikation mittels mehrerer Eingabegeräte anzugeben, das eine einfache Umsetzbarkeit bei gleichzeitig hoher Flexibilität hinsichtlich der zu nutzenden Eingabegeräte gewährleistet.
-
Bezüglich des Verfahrens wird diese Aufgabe erfindungsgemäß gelöst durch die Merkmale des Anspruchs 1. Bezüglich des Systems wird die Aufgabe erfindungsgemäß gelöst durch die Merkmale des Anspruchs 9. Vorteilhafte und teils für sich gesehen erfinderische Ausgestaltungsformen und Weiterentwicklungen der Erfindung sind in den Unteransprüchen und der nachfolgenden Beschreibung dargelegt.
-
Im Zuge des anmeldungsgemäßen Verfahrens werden eine bestimmte Anzahl von virtuellen Schaltelementen definiert und derart mit der zu steuernden Applikation verknüpft, dass eine Aktivierung eines jeden der virtuellen Schaltelemente eine bestimmte Aktion der Applikation auslöst. Die virtuellen Schaltelemente werden andererseits logisch mit mindestens einem Eingabegerät (vorzugsweise aber einer Mehrzahl von Eingabegeräten) in Beziehung gesetzt, so dass Eingabesignale der Eingabegeräte jeweils mit einem der virtuellen Schaltelemente zu dessen Aktivierung verknüpft werden. Die Verknüpfung der Eingabesignale mit dem jeweiligen virtuellen Schaltelement erfolgt dabei nach Maßgabe eines vorgegebenen Regelwerks.
-
Als virtuelles Schaltelement wird hierbei ein Softwarebaustein bezeichnet, der das Verhalten eines realen (physikalischen) Schaltelements wie beispielsweise eines Tastschalters simuliert, indem das virtuelle Schaltelement reversibel zwischen einem aktivierten Zustand und einem deaktivierten Zustand verstellbar ist und ein den jeweiligen Zustand wiederspiegelndes Ausgangssignal zur Verfügung stellt. Programmtechnisch jedes der Schaltelemente beispielsweise durch eine Variable, insbesondere ein sogenanntes „Flag“, realisiert sein. Jedes virtuelle Schaltelement kann hierbei durch ein oder mehrere Eingabesignale reversibel aktiviert und deaktiviert werden.
-
Die virtuellen Schaltelemente können hierbei im Rahmen der Erfindung grundsätzlich als intrinsischer Bestandteil der Applikation implementiert sein. Vorzugsweise sind sie aber applikationsextern implementiert. So können die virtuellen Schaltelemente beispielsweise als Teil einer der Applikation und dem Betriebssystem zwischengelagerten Middleware (insbesondere eines Frameworks) implementiert sein. Die virtuellen Schaltelemente können optional - etwa nach Art eines „Buttons“ - als Teil einer Benutzeroberfläche der Applikation auf dem Bildschirm eines zugeordneten Rechnersystems dargestellt werden. Dies ist aber im Rahmen der Erfindung nicht zwingend notwendig.
-
Als „Eingabesignal“ eines Eingabegerätes wird allgemein ein Signal verstanden, dass das jeweilige Eingabegerät bei einer Betätigung durch einen Nutzer ausgibt. Ein Eingabegerät, das auf verschiedene Weise bedienbar ist, gibt für jede Art der Bedienung ein eigenes Eingabesignal aus, so dass das jeweilige Eingabesignal die Art der Bedienung widerspiegelt. So gibt beispielsweise eine 3-Tasten-Maus bei einer Tastenbetätigung durch einen Nutzer eines von drei verschiedenen Eingabesignalen aus, je nachdem ob die linke Maustaste, die mittlere Maustaste oder die rechte Maustaste betätigt wurde. Verschiedene Eingabesignale ein- und desselben Eingabegeräts oder verschiedene Kombinationen dieser Eingabesignale werden dabei in der Regel mit unterschiedlichen virtuellen Schaltelementen verknüpft.
-
Im Rahmen der Erfindung können unterschiedlichste Eingabegeräte zum Einsatz kommen, insbesondere eine Ein- oder Mehr-Tasten-Maus, ein Track-Ball, ein Joystick, ein Graphiktablett mit zugehörigem Datenstift (Pen), ein Mono- oder Multi-Touch-Pad, ein Mono- oder Multi-Touch-Screen, ein sprachgesteuertes Eingabegerät und/oder ein gestengesteuertes Eingabegerät. Als Touch-Pad wird dabei eine ortsselektiv berührungsempfindliche Schaltfläche bezeichnet, innerhalb der durch Berührung mit einem Finger ein Schaltpunkt gesetzt werden kann. Als Touch-Screen wird ein Touch-Pad mit unterlegtem Bildschirm bezeichnet. Als Mono-Touch-Pad oder Mono-Touch-Screen wird ein Touch-Pad bzw. Touch-Screen bezeichnet, das bzw. der zu einem Zeitpunkt lediglich einen einzelnen Schaltpunkt erfassen kann. Als Multi-Touch-Pad oder Multi-Touch-Screen wird entsprechend ein Touch-Pad bzw. Touch-Screen bezeichnet, das bzw. der mehrere gleichzeitig und räumlich getrennt erzeugte Schaltpunkte erfassen kann.
-
Bei der Durchführung des Verfahrens steht stets mindestens eines der mehreren Eingabegeräte in datenübertragungstechnischer Verbindung mit den virtuellen Schaltelementen. Das oder jedes weitere Eingabegerät kann im Austausch gegen das erstgenannte Eingabegerät mit den virtuellen Schaltelementen verbunden werden. Beispielsweise kann sich eine Instanz der zu steuernden Applikation, die auf einem Desktop-PC abläuft, einer üblichen 3-Tasten-Maus als Eingabegerät bedienen, während eine weitere Instanz derselben Applikation, die auf einem Tablet abläuft, den integrierten Multi-Touch-Screen des Tablets als Eingabegerät nutzt. Vorzugsweise können im Rahmen des Verfahrens aber auch mehrere Eingabegeräte gleichzeitig und parallel zueinander mit den virtuellen Schaltelementen verknüpft sein, wobei diese mehreren Eingabegeräte insbesondere auch gleichzeitig benutzbar sind. So ist typischerweise eine auf einem Notebook laufende Applikation im Zuge des erfindungsgemäßen Verfahrens gleichzeitig durch das integrierte Touch-Pad des Notebooks, durch die Notebook-Tastatur sowie durch eine angeschlossene 3-Tasten-Maus steuerbar, wobei alle drei Eingabegeräte ausschließlich über die virtuellen Schaltelemente mit der Applikation kommunizieren. Dabei kann der Nutzer beispielsweise einen Zoom-Befehl mittels der 3-Tasten-Maus abgeben und gleichzeitig oder unmittelbar vorher oder nachher eine Bildrotation über das Touch-Pad veranlassen.
-
Die virtuellen Schaltelemente dienen somit als gemeinsame - und vorzugsweise einzige - Schnittstelle zwischen der Applikation einerseits und allen alternativ oder gleichzeitig verwendbaren Eingabegeräten andererseits. Dieses Konzept führt zu einer wesentlichen Vereinfachung bei der Applikationsentwicklung, zumal die Applikation völlig unabhängig von den zu verwendenden Eingabegeräten programmiert werden kann. Insbesondere wird auch die Anpassung einer Applikation zur Unterstützung neuartiger, ursprünglich nicht vorgesehener Eingabegeräte wesentlich vereinfacht, zumal nur die Verknüpfung der Eingabesignale des neuartigen Eingabegeräts mit den virtuellen Schaltelementen definiert werden muss.
-
In einer bevorzugten Ausführung des Verfahrens ist das Regelwerk, das der Verknüpfung der Eingabesignale der Eingabegeräte mit den virtuellen Schaltelementen zugrundeliegt, für alle Eingabegeräte einheitlich vorgegeben. „Einheitlichkeit“ bedeutet in diesem Sinne, dass die Verknüpfungsregeln nicht für jedes Eingabegerät oder jeden Typus eines Eingabegeräts gesondert und beliebig festgelegt werden, sondern durch übergeordnete Kriterien bestimmt sind. Solche Kriterien sind insbesondere die Anzahl der mittels des jeweiligen Eingabegeräts erzeugbaren Eingabesignale und/oder der (qualitative) Informationsgehalt der Eingabesignale des jeweiligen Eingabegeräts. Hinsichtlich des Informationsgehalts eines Eingabesignals werden nachfolgend insbesondere „dedizierte Eingabesignale“ und „nicht-dedizierte Eingabesignalen“ unterschieden.
-
Als „dediziertes Eingabesignal“ wird nachfolgend eines von mehreren Eingabesignalen eines Eingabegeräts verstanden, das von jedem anderen Eingabesignal desselben Eingabegeräts eindeutig unterscheidbar ist und somit aus sich heraus einem bestimmten Kommando (von mehreren verfügbaren Kommandos) zugeordnet werden kann. Ein in diesem Sinne dediziertes Eingabesignal ist beispielsweise durch Betätigung einer bestimmten Maustaste einer Mehr-Tasten-Maus, aber durch eine bestimmte Geste oder ein gesprochenes Kommando erzeugbar.
-
Im Unterschied hierzu wird als „nicht-dediziertes Eingabesignal“ nachfolgend ein Eingabesignal verstanden, das nicht aus sich heraus einem bestimmten Kommando zugeordnet werden kann. Hierunter fällt insbesondere die Erzeugung von Schaltpunkten (Touch-Points) auf einem Multi-Touch-Pad oder einem Multi-Touch-Screen (außerhalb ausgewiesener Buttons).
-
Durch das einheitliche Regelwerk wird einerseits die Anpassung der Applikation zur Unterstützung neuartiger Eingabegerät weiter vereinfacht. Andererseits wird durch die einheitliche Verknüpfung der Eingabesignale verschiedener Eingabegeräte die „User Experience“, also das von dem jeweiligen Eingabegerät hervorgerufene Bedienverhalten vereinheitlicht, wodurch für den Nutzer eine besonders intuitive und effektive Bedienung der Applikation ermöglicht wird.
-
Erfindungsgemäß werden drei virtuelle Schaltelemente definiert, die das Eingabeverhalten einer herkömmlichen 3-Tasten-Maus simulieren. Ein erstes virtuelles Schaltelement entspricht hierbei einer virtuellen linken Maustaste. Ein zweites virtuelles Schaltelement entspricht einer virtuellen mittleren Maustaste. Das dritte virtuelle Schaltelement entspricht schließlich einer virtuellen rechten Maustaste. In dieser Ausführung der Erfindung werden somit alle Eingabegeräte auf die Semantik einer virtuellen 3-Tasten-Maus normiert, so dass der Nutzer bei der Bedienung andersartiger Eingabegeräte (z.B. Touch-Pad oder Sprachsteuerung) auf diese geläufige Semantik zurückgreifen kann. Die Bedienung eine Applikation mittels verschiedener Eingabegeräte ist hierdurch aus Nutzersicht wesentlich vereinfacht.
-
Im Rahmen des Regelwerks werden bei mindestens einem (vorzugsweise jedem) Eingabegerät, das die gleichzeitige Erzeugung mehrerer nicht-dedizierter Eingabesignale zulässt, insbesondere bei einem Multi-Touch-Pad oder Multi-Touch-Screen,
- - drei gleichzeitig erzeugte Eingabesignale stets mit der virtuellen rechten Maustaste verknüpft,
- - genau zwei (in Abwesenheit des oder jedes anderen Eingabesignals) gleichzeitig erzeugte Eingabesignale stets mit der virtuellen mittleren Maustaste verknüpft, und
- - ein einzeln (in Abwesenheit des oder jedes anderen Eingabesignals) erzeugtes Eingabesignal stets mit der virtuellen linken Maustaste verknüpft.
-
Bei genau einem erzeugten Schaltpunkt (Ein-Finger-Interaktion) wird also die virtuelle linke Maustaste aktiviert, bei genau zwei gleichzeitig erzeugten Schaltpunkten (Zwei-Finger-Interaktion) die virtuelle mittlere Maustaste, und bei drei gleichzeitig erzeugten Schaltpunkten (Drei-Finger-Interaktion) die virtuelle rechte Maustaste.
-
In bevorzugter Ausgestaltung des Regelwerks ist weiterhin vorgesehen, bei mindestens einem (vorzugsweise jedem) Eingabegerät, das lediglich die Erzeugung eines einzelnen Eingabesignals zulässt, dieses Eingabesignal stets mit der virtuellen linken Maustaste zu verknüpfen. Durch die Betätigung eines solchen Eingabegeräts, beispielsweise einer 1-Tasten-Maus, eines Mono-Touch-Pads oder eines Grafiktabletts, wird somit stets die linke virtuelle Maustaste aktiviert.
-
Zusätzlich oder alternativ wird im Rahmen des Regelwerks bei mindestens einem (vorzugsweise jedem) Eingabegerät, das die Erzeugung von mindestens zwei verschiedenen dedizierten Eingabesignalen zulässt, jedes Eingabesignal vorzugsweise mit einer zugeordneten virtuellen Maustaste verknüpft, zumindest solange nicht gleichzeitig noch ein anderes Eingabesignal erzeugt wird. Beispiele für entsprechende Eingabegeräte sind insbesondere eine 2-Tasten-Maus, eine 3-Tasten-Maus, aber auch ein gestengesteuertes Eingabegerät oder ein sprachgesteuertes Eingabegerät. Im Falle des sprachgesteuerten Eingabegerätes sind vorzugsweise auch die zu erkennenden Sprachbefehle (gesprochenen Kommandos) an die Semantik der virtuellen 3-Tasten-Maus angeglichen. Beispielsweise erzeugt in diesem Sinne das Eingabegerät bei Erkennung des gesprochenen Kommandos „Linke Maustaste Drücken“ ein Eingabesignal, das mit der virtuellen linken Maustaste verknüpft ist, etc. Ebenso sind auch im Falle des gestengesteuerten Eingabegeräts die Gesten, über die das Eingabegerät ansteuerbar ist, vorzugsweise an die Semantik der virtuellen 3-Tasten-Maus angeglichen. Beispielsweise kann dabei durch Fingerbewegung nach links, unten oder rechts jeweils ein Eingabesignal erzeugt werden, das mit der virtuellen linken Maustaste bzw. der virtuellen mittleren Maustaste bzw. der virtuellen rechten Maustaste verknüpft ist.
-
Sofern das Eingabegerät - wie im Falle einer 2-Tasten-Maus - lediglich zwei verschiedene Eingabesignale erzeugen kann, werden diese vorzugsweise paarweise mit der virtuellen linken Maustaste und der virtuellen rechten Maustaste verknüpft.
-
Sofern das Eingabegerät - wie im Falle einer 3-Tasten-Maus - drei verschiedene Eingabesignale erzeugen kann, werden diese vorzugsweise stets mit jeweils einer der drei virtuellen Maustasten verknüpft. Gleiches gilt für gesprochene Kommandos oder Gesten, die von dem sprachgesteuerten bzw. gestengesteuertes Eingabegerät erkannt werden. Vorzugsweise ist in den letztgenannten Fällen für jede der virtuellen Maustasten ein zugehöriges Kommando oder eine zugehörige Geste festgelegt.
-
Sofern bei einem Eingabegerät - beispielsweise der 2-Tasten-Maus, der 3-Tasten-Maus, gegebenenfalls aber bei dem gestengesteuerten Eingabegerät - mehrere dedizierte Eingabesignale gleichzeitig erzeugbar sind, wird vorzugsweise jedes der gleichzeitig erzeugten Eingabesignale stets mit der jeweils zugeordneten virtuellen Maustaste verknüpft. Bei gleichzeitiger Betätigung der rechten und linken Maustaste einer 3-Tasten-Maus werden bei dieser Verfahrensvariante somit die rechte und linke virtuelle Maustaste gleichzeitig aktiviert.
-
Alternativ hierzu kann im Rahmen des Regelwerks aber auch festgelegt werden, dass bei gleichzeitiger Erzeugung von genau zwei oder drei dedizierten Eingabesignalen die zu aktivierende virtuelle Maustaste wiederum nach der Anzahl der gleichzeitig erzeugten Eingabesignale ausgewählt wird. Bei genau zwei gleichzeitig erzeugten Eingabesignalen wird dabei die mittlere virtuelle Maustaste aktiviert. Bei gegebenenfalls drei gleichzeitig erzeugten Eingabesignalen wird die virtuelle rechte Maustaste aktiviert. Bei gleichzeitiger Betätigung der rechten und linken Maustaste einer 3-Tasten-Maus wird bei dieser Verfahrensvariante somit die virtuelle mittlere Maustaste aktiviert.
-
Das erfindungsgemäße System umfasst ein Eingabevermittlungsmodul, das signaltechnisch der zur steuernden Applikation und mindestens einem Eingabegerät zwischengeschaltet ist, und das somit die von dem oder jedem Eingabegerät ausgegebenen Eingabesignale an die Module der Applikation vermittelt. Das Eingabevermittlungsmodul ist hierbei schaltungs- und/oder programmtechnisch zur automatischen Durchführung des erfindungsgemäßen Verfahrens, insbesondere in einer der vorstehend beschriebenen Ausführungsvarianten eingerichtet.
-
Bei dem erfindungsgemäßen System handelt es sich im engeren Sinne um eine Software, insbesondere um ein Framework, auf dem die Applikation aufbaut. In einem weiteren Sinne umfasst das System auch die zu dessen Betrieb notwendigen Hardwarebestandteile, insbesondere einen Computer, auf dem die Softwarebestandteile des Systems, insbesondere das Eingabevermittlungsmodul, sowie die Applikation lauffähig implementiert sind. Im Rahmen des Eingabevermittlungsmoduls sind insbesondere die vorstehend beschriebenen virtuellen Schaltelemente, insbesondere also die virtuellen Maustasten implementiert.
-
Eine weitere Verkörperung der Erfindung ist ferner ein Computerprogrammprodukt, das einen Datenträger mit darauf gespeicherten, maschinenlesbaren Anweisungen eines Computerprogramms enthält, bei dessen Ablauf auf einem Computer das erfindungsgemäße Verfahren, insbesondere in einer der vorstehend beschriebenen Ausführungsvarianten, automatisch ausgeführt wird.
-
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand einer Zeichnung näher erläutert. Darin zeigt die einzige Figur in schematischer Darstellung ein System zur Steuerung einer Applikation zur interaktiven Bildmanipulation von medizintechnischen Bilddaten.
-
Das in der Figur dargestellte System 1 umfasst als Kernkomponente ein Framework 2 für die Entwicklung und den Betrieb von (Software-)Applikationen für den Bereich der medizintechnischen Bildverarbeitung. Das Framework 2 stellt hierbei Funktionen und Dienste zur Verfügung, auf die Applikationen, die auf dem Framework 2 aufbauen, zugreifen können. Optional enthält das Framework 2 des Weiteren eine Laufzeitumgebung, in der die auf dem Framework 2 aufbauenden Applikationen plattformunabhängig ablaufen können. Zusätzlich zu diesen vorstehend beschriebenen Bestandteilen umfasst das Framework 2 ein Eingabevermittlungsmodul 3.
-
Im weiteren Sinne umfasst das System 1 zusätzlich zu dem Framework 2 die unterliegende Plattform, die durch eine (Datenverarbeitungs-)Hardware 4 (insbesondere einen PC oder eine Workstation) sowie ein darauf aufgesetztes Betriebssystem 5 gebildet ist.
-
Mit dem System 1 signalübertragungstechnisch verbunden sind eine Anzahl von Eingabegeräten 6 zur Aufnahme von Eingaben eines Nutzers, mindestens ein Bildschirm 7 als Ausgabegerät sowie mindestens ein Bilddatenspeicher 8.
-
Die Figur zeigt weiterhin eine auf dem Framework 2 aufsetzende (Software-)Applikation 9. Bei der Applikation 9 handelt es sich beispielsweise um einen sogenannten „Reader“, das heißt um ein Programm zur Anzeige von (zwei- und/oder dreidimensionalen) medizinischen Bilddatensätzen B.
-
Die Applikation 9 umfasst in dem stark vereinfacht dargestellten Beispiel ein Bildaufbereitungsmodul 10, das die aus dem Bilddatenspeicher 8 zugeführten Bilddatensätze B für die Anzeige auf dem Bildschirm 7 aufbereitet und auf dem Bildschirm 7 zur Anzeige bringt. Bei zweidimensionalen Bilddatensätzen B besteht die Aufbereitung beispielsweise in einer Format- oder Auflösungskonvertierung, Farbanpassung, etc. Bei dreidimensionalen Bilddatensätzen B umfasst die Bildaufbereitung maßgeblich die Ableitung einer darstellbaren zweidimensionalen Ansicht aus der dreidimensionalen Bildinformation, z.B. durch Erstellung eines Schnittbilds, oder einer szenischen 3D-Visualisierung (Volume-Rendering).
-
Das Bildaufbereitungsmodul 10 greift hierbei gemäß der beispielhaften Darstellung auf mehrere Softwaremodule zu, die jeweils der Durchführung einer bestimmten Bildmanipulation dienen. Dargestellt sind diesbezüglich exemplarisch ein Rotationsmodul 11 zur Berechnung einer Rotation der zwei- oder dreidimensionalen Bildinformation, ein Zoom-Modul 12 zur Berechnung einer vergrößerten Bildinformation eines ausgewählten Bildausschnitts des Bilddatensatzes B sowie ein Pan-Modul 13 zur Auswahl der einem verschiebbaren Bildausschnitt entsprechenden Bildinformation.
-
Im Rahmen einer (Rotations-)Aktion R berechnet das Rotationsmodul 11 aus den ursprünglichen Bilddaten B ein rotiertes Bild und liefert dieses an das Bildaufbereitungsmodul 10 für die Anzeige auf dem Bildschirm 7 zurück. Im Rahmen einer (Zoom-)Aktion Z berechnet das Zoom-Modul 12 die Bildinformation eines vergrößerten Bildausschnitts und liefert den vergrößerten Bildausschnitt an das Bildaufbereitungsmodul 10 für die Anzeige auf dem Bildschirm 7 zurück. Im Rahmen einer (Pan-)Aktion P ermittelt das Pan-Modul 13 bei einer Verschiebung des anzuzeigenden Bildausschnittes die diesem verschobenen Bildausschnitt entsprechenden Bilddaten und liefert das verschobene Bild an das Bildaufbereitungsmodul 10 für die Anzeige auf den Bildschirm 7 zurück.
-
Die beschriebenen Aktionen R, Z und P können von dem Nutzer durch Bedienung einer oder mehrerer der Eingabegeräte 6 durch entsprechende Nutzereingaben gezielt veranlasst werden. Die Eingabegeräte 6 können hierbei grundsätzlich alternativ zueinander - auch im Austausch gegeneinander - mit dem System 1 verbunden werden. Dem Systemnutzer steht in diesem Fall stets nur ein einzelnes Eingabegerät 6 zur Verfügung. Vorzugsweise sind aber - wie dargestellt - mehrere Eingabegerät 6 gleichzeitig und parallel zueinander mit dem System 1 datenübertragungstechnisch verbunden, beispielsweise eine 3-Tasten-Maus 14, ein digitales Grafiktablett 15 mit zugehörigem Datenstift (Pen), ein Mono-Touch-Pad 16 sowie ein Multi-Touch-Screen 17.
-
Darüber hinaus können weitere (nicht näher dargestellte) Eingabegeräte 6 zusätzlich oder alternativ zu den dargestellten Eingabegeräten 6 mit dem System 1 verbunden werden, insbesondere ein gestengesteuertes (gestenerkennendes) Eingabegerät oder ein sprachgesteuertes (spracherkennendes) Eingabegerät.
-
Je nach seiner spezifischen Ausgestaltung gibt jedes Eingabegerät 6 in Antwort auf eine Nutzerinteraktion eine verschiedene Anzahl von Eingabesignalen E1-E8 aus. So kann beispielsweise die 3-Tasten-Maus 14 drei Eingabesignale E1 bis E3 ausgeben, wobei das Eingabesignal E1 eine Betätigung der linken Maustaste, das Eingabesignal E2 eine Betätigung der mittleren Maustaste und das Eingabesignal E3 eine Betätigung der rechten Maustaste anzeigt. Mittels des Graphiktabletts 15 oder des zugehörigen Pen kann zu einem Zeitpunkt stets nur ein Schaltpunkt innerhalb der zweidimensionalen Schaltfläche des Grafiktabletts erzeugt werden, wobei das Grafiktablett 15 oder der zugehörige Pen ein einzelnes Eingabesignal E4 ausgibt. Gleiches gilt entsprechend für das Mono-Touch-Pad 16, das bei Erzeugung eines einzelnen Schaltpunktes auf seiner Schaltfläche ein Eingabesignal E5 ausgibt. Mittels des Multi-Touch-Screens 17 können durch Berührung der zweidimensionalen Schaltfläche mit einem oder mehreren Fingern bis zu drei Schaltpunkte gleichzeitig erzeugt werden. Der Multi-Touch-Screen 17 kann hierbei drei Eingabesignale E6, E7 und E8 ausgeben, von denen das Eingabesignal E6 den ersten erfassten Schaltpunkt, das Eingabesignal E7 ggf. den zweiten erfassten Schaltpunkt und das Eingabesignal E8 ggf. den dritten erfassten Schaltpunkt anzeigt.
-
Die Eingabesignale E1-E8 der Eingabegeräte 6 werden nicht direkt der Applikation 9 zugeführt. Vielmehr werden die Eingabesignale E1-E8 aller Eingabegerät 6 zunächst innerhalb des Frameworks 2 dem Eingabevermittlungsmodul 3 zugeführt.
-
In dem Eingabevermittlungsmodul 3 sind drei virtuelle Schaltflächen 18 definiert, die eine virtuelle linke Maustaste 19, eine virtuelle mittlere Maustaste 20 sowie eine virtuelle rechte Maustaste 21 repräsentieren. Jedes der Eingabesignale E1-E8 der Eingabegeräte 6 wird hierbei durch ein Verknüpfungsmodul 22 mit jeweils einem zugeordneten virtuellen Schaltelement 18 verknüpft, so dass durch das jeweilige Eingabesignal E1-E8 das zugeordnete virtuelle Schaltelement 18 aktiviert wird.
-
Die virtuellen Schaltelemente 18 sind dabei andererseits zur Ausgabe jeweils eines Ausgangssignals A1, A2 bzw. A3 derart mit der Applikation 9 verknüpft, dass die Aktivierung eines jeden Schaltelements 18 eine zugeordnete Aktion der Applikation 9 auslöst. Die Aktivierung oder Deaktivierung eines jeden Schaltelements ändert dabei reversibel den Zustand des jeweils zugeordneten Ausgangssignals A1-A3. Beispielsweise signalisiert der Zustand „<MouseButton>Down“ die Aktivierung des zugeordneten Schaltelements 18, während der Zustand „<MouseButton>Up“ die Deaktivierung des zugeordneten Schaltelements 18 anzeigt. Der Platzhalter „<MouseButton>“ ist hierbei stets durch die Bezeichnung des jeweiligen Schaltelements 18 ersetzt, z.B. im Falle der virtuellen linken Maustaste 18 durch „LeftMouseButton“, im Falle der virtuellen mittleren Maustaste 19 durch „MiddleMouseButton“ sowie im Falle der virtuellen rechten Maustaste 20 durch „RightMouseButton“.
-
Die Verknüpfung der virtuellen Schaltelemente 18 mit den Funktionen der Applikation 9 orientiert sich hierbei an der in der medizintechnischen Bildmanipulation üblichen Semantik, wonach durch Betätigung der linken Maustaste einer realen 3-Tasten-Maus eine Bildrotation, durch Betätigung der mittleren Maustaste eine Vergrößerung des angezeigten Bildausschnitts (Zoom) und durch Betätigung der rechten Maustaste eine Verschiebung des angezeigten Bildausschnitts (Pan) auslösbar ist. Entsprechend sind bei dem System 1 die virtuelle linke Maustaste 19 mit dem Rotationsmodul 11, die virtuelle mittlere Maustaste 20 mit dem Zoom-Modul 12 und die virtuelle rechte Maustaste 20 mit dem Pan-Modul 13 verknüpft und lösen in aktiviertem Zustand die jeweilige Aktion R, Z bzw. P aus:
- - LeftMouseButtonDown: StartRotateCommand
- - LeftMouseButtonUp: EndRotateCommand
- - MiddleMouseButtonDown: StartZoomCommand
- - MiddleMouseButtonUp: EndZoomCommand
- - RightMouseButtonDown: StartPanCommand
- - RightMouseButtonUp: EndPanCommand
-
Die durch das Verknüpfungsmodul 22 vorgenommene Verknüpfung der Eingabesignale E1-E8 mit den virtuellen Schaltelementen 18 erfolgt einem für alle Schaltelemente 6 einheitlichen, semantischen Regelwerk, wonach
- (1) bei jedem Eingabegerät, das die Erzeugung von mindestens zwei verschiedenen dedizierten Eingabesignalen zulässt, jedes Eingabesignal mit einer zugeordneten virtuellen Maustaste 19,20 oder 21 verknüpft wird, so dass diese zugeordnete Maustaste 19,20 bzw. 21 in Antwort auf den Empfang des jeweiligen Eingabesignals aktiviert wird, und
- (2) bei jedem anderen Eingabegerät die zu aktivierende Schaltfläche nach der Anzahl Z der gleichzeitig erzeugten Eingabesignale bestimmt wird, wobei
- a)bei Σ = 3 die virtuelle rechte Maustaste 21,
- b)bei Σ = 2 die virtuelle mittlere Maustaste 20, und
- c)bei Σ = 1 die virtuelle linke Maustaste 19
aktiviert wird.
-
Nach Regel (1) werden im dargestellten Beispiel die Eingabesignale E1-E3 der 3-Tasten-Maus 14 behandelt. Dabei wird das der linken Taste der 3-Tasten-Maus 14 entsprechende Eingabesignal E1 durch das Verknüpfungsmodul 22 mit der linken virtuellen Maustaste 19 verknüpft. Das der mittleren Taste der 3-Tasten-Maus 14 entsprechende Eingabesignal E2 wird durch das Verknüpfungsmodul 22 mit der mittleren virtuellen Maustaste 20 verknüpft. Das der rechten Taste der 3-Tasten-Maus 14 entsprechende Eingabesignal E3 wird schließlich durch das Verknüpfungsmodul 22 mit der rechten virtuellen Maustaste 21 verknüpft. Diese Verknüpfung wird auch dann aufrechterhalten, wenn durch Betätigung mehrerer Tasten mindestens zwei der Eingabesignale E1-E3 gleichzeitig erzeugt werden. Bei gleichzeitiger Betätigung mehrerer Tasten der 3-Tasten-Maus 14 werden also die entsprechenden virtuellen Maustasten 19-21 gleichzeitig aktiviert.
-
Nach Regel (1) werden durch das Verknüpfungsmodul 22 auch Eingabesignale etwaiger sprach- oder gestikgesteuerter Eingabegeräte verknüpft. Dabei wird bei Erkennung eines bestimmten gesprochenen Kommandos oder einer bestimmten Geste durch das jeweilige Eingabegerät stets dasjenige Schaltelement 18 aktiviert, dem das erkannte Kommando oder die erkannte Geste zugeordnet ist.
-
Nach Regel (2) wird durch das Verknüpfungsmodul 22 zum Einen der Multi-Touch-Screen 17 behandelt, mit dem - je nach der Anzahl der die Bildschirmfläche berührenden Finger und damit erzeugten Schaltpunkte - eines oder mehrere der nicht-dedizierten Eingabesignale E6-E8 erzeugt werden können. Hier aktiviert das Verknüpfungsmodul 22 bei ausschließlichem Empfang von einem der Eingabesignale E6-E8 (Σ = 1) die linke virtuelle Maustaste 19, bei ausschließlichem Empfang von zweien der drei Eingabesignale E6-E8 (Σ = 2) die mittlere Maustaste 20, und bei Empfang aller drei Eingabesignale E6-E8 (Σ = 3) die rechte Maustaste 21.
-
Regel (2) findet darüber hinaus auch für Eingabegeräte Anwendung, die lediglich ein einziges Eingabesignal erzeugen können. Dies betrifft im dargestellten Beispiel das Eingabesignal E4 des Grafiktabletts 15 und das Eingabesignal E6 des Mono-Touch-Pads 16. Für diese Eingabegeräte 6 hat die Anzahl der gleichzeitig erzeugten Eingabesignale notwendigerweise stets den Wert Eins (Σ = 1), so dass bei Empfang eines der Eingabesignale E4 oder E5 durch das Verknüpfungsmodul 22 stets die linke virtuelle Maustaste 19 betätigt wird.
-
In einem exemplarischen Verfahrensablauf prüft das Verknüpfungsmodul 22 bei Empfang mindestens eines Eingabesignals E1-E8 eines der Eingabegeräte 6 zunächst durch Vergleich mit einer hinterlegten Zuordnungstabelle, ob das oder jedes empfangene Eingabesignal E1-E8 als dediziertes Eingabesignal einer bestimmten virtuellen Maustaste 19-21 zugeordnet ist. Gegebenenfalls aktiviert das Verknüpfungsmodul 22 die entsprechende virtuelle Maustaste 19-21.
-
Andernfalls bestimmt das Verknüpfungsmodul 22 die Anzahl Σ der empfangenen Eingabesignale E1-E8 und aktiviert,
- - bei Σ = 1 die virtuelle linke Maustaste 19,
- - andernfalls bei Σ = 2 die virtuelle mittlere Maustaste 20, sowie
- - andernfalls die virtuelle rechte Maustaste 21.
-
Der beschriebene Verfahrensablauf wird zyklisch oder bei jeder Änderung der Eingabesignale E1-E8 wiederholt, wobei je nach der Art der Signaländerung eine oder mehrere der virtuellen Maustasten 19-21 aktiviert oder deaktiviert werden.
-
Durch die implizite Abbildung der Eingabesignale E1-E8 auf eine virtuelle 3-Tasten-Maus und die einheitliche Semantik der Eingabesignale E1-E8 der verschiedenen Eingabegeräte 6 kann der Nutzer intuitiv und ohne mühsames Einlernen mit verschiedensten, gegebenenfalls auch neuartigen Eingabegeräten 6 arbeiten, da entsprechende Eingabegeräte stets gleich und in voraussehbarer Weise auf Nutzerinteraktion reagieren. Das vorstehend beschriebene System 1 ist dabei gleichzeitig numerisch unaufwändig und ermöglicht somit die Durchführung der beschriebenen Bildmanipulationen in Echtzeit.
-
Programmcodeausschnitte einer beispielhaften softwaretechnischen Umsetzung des Eingabevermittlungsmoduls 3 sind in den nachfolgenden Anhängen skizziert.
-
Obwohl die Erfindung anhand des vorstehend beschriebenen Ausführungsbeispiels besonders deutlich wird, ist sie auf dieses nicht beschränkt. Vielmehr können zahlreiche weitere Ausführungsformen der Erfindung von dem Fachmann aus der vorstehenden Beschreibung abgeleitet werden.