Home
Erstellung einer Benutzerober äche zur Exploration und Analyse
Contents
1. Strukturierung der Software Wu w N ki Fi N Ot 31 31 32 35 36 36 37 XI INHALTSVERZEICHNIS 5 5 Datenhaltung und Datenaustausch 38 5 5 1 Zugriff auf Bedienelemente 39 552 HEET ee By ae Eee tee amp 39 6 Umsetzung 41 6 1 A Scan Oberfl che a E u wa 2k ao ha Yes Vera 41 E WE e E EE 41 6 1 2 Funktionalit t 2 3 oo eat ee Se DR RE 44 6 2 WSCE Oberl che e aree ar re Be 53 Da GER EE ee stash EE 53 6 2 2 Funktionalit t o ee ee oe ee Be 55 6 3 Rekonstruktionsbilder Oberfl che 62 DI SO ee a tee he tee re re 62 6 3 2 Funktionalit t 2 Aer ug E el Se 64 6 4 O berfl chen bergreifende Funktionen 68 6 4 1 Markierung der Bildselektion im 3D USCT 68 6 4 2 Zur ckrechnung einer Bildregion auf einen A Scan Bereich 70 6 4 3 Zu einer Bildmarkierung beitragende A Scans 71 6 4 4 Berechnung von Rekonstruktionsellipsen 12 Ovo Start OO a ee ee re EE E 74 6 6 Implementierte Plugins 75 6 6 1 Visualisierung der Geometrie Dateien 75 6 6 2 Transducer heck 1c snr u a da ame 75 6 6 3 Visualisierung des Anregungspulses T7 6 7 Dokumentation der Software 2 2 2 nn nn 78 7 Ergebnisse 8l 8 Diskussion und Ausblick 85 Literaturverzeichnis 89 Abk rzungsverzeichnis 91 Abbildungsverzeichnis 93 A Benutzerhandbuch 95 A 1 Vorbemerkungen ur ar a be ee ee 95 A 1 1 Syst
2. 6 3 n e Durchschnittliche Amplitude median mit X als aufsteigend oder abstei gend geordnete Menge n 1 2 D ungerade 6 4 amp n 2 F L n 241 n gerade median X l i 2 48 6 UMSETZUNG I pomeri To anato 1 05 5 Mate eem wO Anai Sangi Pate 1o00 I ecze aen ed Leem Ofat H Compren Les amgen ret Freet 3 Oto H Meran acer R ve Ha KEE ATIIA2IaH 28105 Engty Meansemert ell e rptAleanem ke WE WWSC tele eg EBEN 4823 ZEIT tospor Abbildung 6 5 Dialog zur Anzeige von Informationen zu einem A Scan und dem dazugeh rigen Experiment e Varianz var X Dt mean X 6 5 Standardabweichung std X yvar X 6 6 Maximale Amplitude und Stelle an der diese auftritt maz X Jr gt x Vx an der Stelle i 6 7 e linimale Amplitude und Stelle an der diese auftritt min X z x lt z Vx an der Stelle i 6 8 e Signal Rausch Verh ltnis snr X lan 10 tog max X median X 49 6 UMSETZUNG AIS Mean Amplitude Abs Mochan Amplitude Abs Variance Standard deviation Maximal Amplitude Mirumal Ampbtude Sagnal to nore Habe Abbildung 6 6 Dialog zur Anzeige von Kennzahlen eines A Scans Die Funktionen zur vergr erten Anzeige des A Scans zum ffnen des Info Dialogs sowie zum ffnen des Kennzahlen Dialoges sind ebenfalls ber ein Kontext Menti zug nglich das dem A Scan Anzeige Feld zugeordnet ist Hinte
3. Tabelle 4 2 Eigenschaften von Bedienelementen im GUI Design Quelle Hob95 30 Kapitel 5 Konzept und Design 5 1 Wahl der MATLAB Version In der USCT Arbeitsgruppe werden unterschiedliche MATLAB Versionen ver wendet Die erstellte Software soll dabei mit m glichst allen Versionen kompati bel sein Aufgrund dessen soll zun chst diskutiert werden unter welcher Version sie entwickelt wird Die MATLAB Versionen 6 x stammen aus den Jahren bis 2002 Auf den Rech nern der Abteilung wird zumeist MATLAB 6 1 verwendet Diese Version bietet eine recht eingeschr nkte M glichkeit zur GUI Gestaltung Allerdings verf gt das IPE ber mehrere lizenzierte Toolboxen wie z B die Signalverarbeitungs Toolbox die f r die Einbindung signalanalysierender Funktionen von gro er Hilfe sein kann Matlab 7 1 dagegen bietet einige berarbeitungen f r die GUI Gestaltung wie z B das Gruppieren von Bedienelementen in Frames Ebenso hat sich der eingeschlossene Funktionsumfang vergr ert Durch einige Unterschiede in der Syntax jedoch ist eine hundertprozentige Abw rtskompatibilit t nicht gew hr leistet In der USCT Gruppe sind deutlich weniger Lizenzen und keine Toolboxen f r die Version 7 1 vorhanden Die Entscheidung f llt auf die Entwicklung unter MATLAB 6 1 da meist noch mit dieser Version gearbeitet wird und somit den Kompatibilit tsproblemen von MATLAB 7 x zu MATLAB 6 x aus dem Weg gegangen wird Zus tzlich wird die M gl
4. A BENUTZERHANDBUCH A 323 A Scan Funktionen Wurde ein einzelner A Scan korrekt geladen und wird nun im A Scan Anzeigefeld dargestellt so k nnen weitere Funktionen verwendet werden Daten neu abspeichern Durch Rechtsklick auf das A Scan Anzeigefeld 7 gt Save A Scan Data as ffnet sich ein Speichern unter Dialog durch den die gesamten Daten des aktuell angezeigten A Scans in einer Variablen mit der Bezeichnung AScan als mat File mit gew hltem Namen abgespeichert werden Bereich markieren Die Schaltfl che mit dem Fadenkreuz 11 erm glicht es einen Bereich im angezeigten A Scan zu selektieren Es wird ein ver nder ter Mauszeiger angezeigt mit dem zwei Stellen ausgew hlt werden k nnen Die Auswahl kann mit der Enter Taste abgebrochen werden Eine erfolg reiche Bereichsauswahl wird durch zwei gr ne Linien im A Scan an den gew hlten Stellen gekennzeichnet Die Auswahl kann dann anschlie end als Grundlage f r weitere Berechnungen dienen siehe z B Transformationen Die Stellen werden zus tzlich als Zahlenwerte im Statusfeld unter Region 5 ausgegeben Vergr erung anzeigen Ein Klick auf das Lupen Symbol 10 ffnet ein neues Fenster in dem der aktuelle A Scan vergr ert dargestellt wird Alternativ kann zu dessen Aufruf auch ein Rechtsklick auf das A Scan Anzeigefeld 7 gt Enlarge verwendet werden Als Bild exportieren Innerhalb des Vergr erungsfensters kann durch einen Rechtskl
5. Abbildung 4 6 Ordnerstruktur des Single Datenformates Multiple Modus Im Multiple Modus werden alle zu einem Sendeelement geh renden A Scans gesammelt und gemeinsam in eine Matlab Datei mit dem Namen data mat geschrieben F r jeden A Scan wird eine eigene Variable 17 4 GRUNDLAGEN xpName DO layerSender_0000 O senderNumber_0000 DD senderNumber_0024 O senderNumber_0048 senderNumber_0072 Abbildung 4 7 Ordnerstruktur des Multiple Datenformates angelegt die sich aus der Nummer der Receiverebene und des Receiver elements in der Form rlXrnX zusammensetzt Fiir die Senderebenen und Senderelemente wird die Ordnerstruktur analog zum Single Modus angelegt Abbildung 4 7 Lookup Modus Der Lookup Modus sammelt wie auch der Multiple Modus al le A Scans zu einem Sendeelement Die A Scans werden jedoch in einer Variablen mit dem Namen AScans gespeichert die als zweidimensionale Matrix aufgebaut ist Die n Spalten entsprechen den jeweiligen Receiverele menten die 3000 Zeilen den Samplepunkten des A Scans Die Speicherung der Nummern der Receiver erfolgt ber eine ebenfalls erzeugte Matrix mit dem Namen Map die in zwei Zeilen f r jeden A Scan die Nummer der Re ceiverebene und des Receiverelements speichert Die Zuordnung zwischen Daten und Receiver Information erfolgt somit ber den Spaltenindex Die beiden Variablen werden in einer Datei data mat gespeichert Die Ord nerstruktur en
6. Die Attribute der Elemente lassen sich ber den Property Inspec tor ndern Die fertige Oberfl che wird als fig Datei gespeichert und gleichzeitig eine neue gleichnamige Quelltext Datei mit den Funktionsr mpfen der Callback Funktionen angelegt AAA04 101 x Ble ER Yew ert Took Heb Dei por BRB Bae gt Abbildung 4 10 GUI Layout mit GUIDE Eine Benutzeroberflache wird durch den Aufruf der jeweiligen MATLAB Funktion gestartet Diese ladt die fig Datei die die Anordnung der Komponenten enthalt Die eigentliche Benutzerinteraktion wird durch die Callback Funktionen der Bedienelemente implementiert Neben dem eigentlichen Callback der bei einer Standard Aktion z B Klicken einer Schaltfl che Bewegen einer Bildlaufleiste ausgef hrt wird k nnen zus tzlich Funktionen implementiert werden die beim Erzeugen L schen oder dem Klicken auf ein Element ausgef hrt werden F r Fen ster gibt es zus tzlich die M glichkeit Funktionen f r das Dr cken einer Taste auf der Tastatur die nderung der Fenstergr e das Dr cken der Schlie en Schaltfl che und das ndern der Fensterposition zu hinterlegen F r alle Komponenten und Fenster k nnen ferner Kontext Men s definiert werden die bei einem Klick mit der rechten Maustaste ausgef hrt werden Als Men leiste in einem Fenster kann sowohl die MATLAB Standardleiste als auch eine selbst definierte Men leiste mit beliebiger Anzahl Unterpunkte verwendet werden D
7. Oberfl che Des Weiteren verf gt die Oberfl che ber eine Checkbox Auto Calc die ein Flag setzt welches bei der nderung einer Selektion im A Scan sowie der nderung der Temperatur und des dargestellten Schnittbildes abgefragt wird Ist das Flag gesetzt wird die Berechnung bereits ohne Klick auf die Schaltfl che ausgef hrt 6 5 Start Tool Der Start der Software erfolgt ber die Funktion DiagToolStarter Diese oft net einen Dialog in dem anhand eines mehrfach aktualisierten Textfeldes der Ladefortschritt der Software angezeigt wird Der Ladefortschritt der Software wird dem Benutzer angezeigt da die Initia lisierung der Oberfl chen einige Rechenzeit in Anspruch nimmt Vor allem das rekursive Einbinden der Pfade erweist sich als zeitintensive Operation ix WERT alci DiagTool Loading USCT Winco Abbildung 6 19 Startfenster der Software mit Ladeanzeige Das Start Tool ffnet zun chst die drei Hauptfenster wobei die Benutzero berfl chen unsichtbar gehalten werden Dabei werden die jeweiligen initialen Ein stellungen der Funktionen vorgenommen Anschlie end werden die Fenster unter Ber cksichtigung der Bildschirmaufl sung des Benutzers nebeneinander angeord net In einem weiteren Schritt wird die 3D und 2D Ansicht der USCT Oberfl che durch den Aufruf der jeweiligen Subfunktionen geladen Abschlie end wird das Sichtbarkeitsattribut der Oberfl chen gesetzt und die DiagToolStarter Oberflache geschl
8. 577 512 444 389 359 116 Anhang C Struktur der Software Das folgende Schaubild Abbildung C 1 zeigt die Interaktion der prim ren Funk tionen die in der Software benutzt werden Dariiber hinaus gibt es innerhalb der genannten Dateien meist noch eine ebenso grofe Interaktion zwischen den beinhalteten Subfunktionen Die gelb bzw orange gezeichneten Felder stellen die Schnittstellen dar die eine unbegrenzte Anzahl weiterer Funktionen enthal ten k nnen Die gr nen Felder visualisieren die drei Hauptoberfl chen sowie die Funktion zum Starten der Software DiagToolStarter Rot dargestellt ist die zen trale Datei f r die Speicherung von Konstanten constants m Nicht abgebildet sind zus tzlich verwendete MATLAB Datendateien ber die Art und Zeitpunkte der gegenseitigen Aufrufe informiert die mit der Software gelieferte Funktionsreferenz im Unterordner doc Dort werden im Unterpunkt der Referenzseite einer Funktion A mit dem Titel This function calls Funktionen B C D aufgelistet die von Funktion A aufgerufen werden Umgekehrt sind unter This function is called by Funktionen B C D aufge listet die Funktion A aufrufen Des Weiteren k nnen in den Referenzseiten die Subfunktionen eingesehen werden 117 Anhang D Inhalt der CD Auf der beiliegenden CD befinden sich folgenden Daten in den angegebenen Un terordnern Software e Gepackt Die erstellte Software in einem gepack
9. Ebenso erm glicht werden muss das Ex portieren des Plots in eine Bild Datei im JPEG oder PNG Format Erstellt werden soll eine Schnittstelle f r die Einbindung von auf Rohdaten arbeitenden Transformationen ber diese wird es dem Benutzer erm glicht der Software selbstst ndig Funktionen hinzuzuf gen Eine Ausf hrung der Transfor mationen wird auch auf Teilbereichen eines Datensatzes d h markierten Aus schnitten erm glicht Ein wichtiger Punkt in der Analyse der Daten ist die Verbindung zwischen 2 AUFGABENSTELLUNG den Rohdaten und den rekonstruierten Bildern Die Software soll es daher erm g lichen eine Rekonstruktionsellipse zur Erlauterung der USCT Grundlagen sei an dieser Stelle auf Abschnitt 4 1 verwiesen anhand eines markierten Bereiches im A Scan zu berechnen und zu visualisieren Den entgegengesetzten Weg geht die Auswahl eines Bildbereiches von dem auf einen Bereich im A Scan zur ckge rechnet werden soll Letztere Funktion soll ebenfalls auf mehreren ausgew hlten A Scans ausf hrbar sein wodurch z B bestimmt werden kann welche A Scans am meisten zu einem Bildbereich beigetragen haben Wie bereits zu erkennen ist besch ftigen sich einige weitere Funktionen mit den Daten rekonstruierter Bilder Zun chst soll es erm glicht werden die se zu laden und anzuzeigen Die Funktion soll den Vergleich zweier Bilder er m glichen ebenso wie die Ausf hrung beliebiger Bildvergleichs bzw Bildzu sammenf hrungsbe
10. Empf ngerlayers und Empf ngerelements des angezeigten A Scans global verf gbar Alle genann ten Informationen werden als Unterdaten im Struct der globalen Variable der A Scan Oberfl che vorgehalten Angezeigtes rekonstruiertes Bild Ein rekonstruiertes Bild wird in einer Ma trix mit einer Anzahl von Zeilen und Spalten entsprechend der Bildgr e in Pixeln gespeichert Dabei werden sowohl die Daten des aktuellen Daten satzes z B Volumenbild in der globalen Variablen abgelegt wie auch das aktuell angezeigte Schnittbild das in der Oberfl che f r rekonstruierte Bil der dargestellt wird Ebenso erfolgt die Speicherung von Bildinformationen im Struct der globalen Variable der Bilder Oberfl che Benutzereinstellungen Im Gegensatz zu den bisher beschriebenen Daten m s sen die Benutzereinstellungen persistent gespeichert werden so dass eine Datei userPreferences mat angelegt wird in der s mtliche derartige Para meter vorgehalten werden Diese sollen dann ber einen Dialog editierbar sein 40 Kapitel 6 Umsetzung Nach der Vorstellung eines Grobkonzeptes fiir die Gestaltung der Benutzerober flache in Kapitel 5 soll nun schrittweise die Umsetzung der einzelnen Teilbereiche erl utert werden Entsprechend der Anforderungen kann bei der Gestaltung von Benutzerober flachen davon ausgegangen werden dass alle Arbeitsplatze in der Abteilung mit Bildschirmen und Rechnern ausgestattet sind die eine Aufl sung von mindestens
11. MHz Megahertz mm Millimeter MRT Magnet Resonanz Tomographie OpenGL Open Graphics Library PBus Protokoll Bus PNG Portable Network Graphics RGB Rot Gr n Blau RL Receiverlayer 91 LITERATURVERZEICHNIS RN ROI SL SLT SN SVN TAS USCT Receivernumber Region of Interest Senderlayer Second Level Triggerboard Sendernumber Subversion Transducer Array System Ultraschall Computertomograph 92 Abbildungsverzeichnis 1 1 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 5 1 5 2 5 3 5 4 5 5 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 Modell des 3D Ultraschall Computertomographen a a aoao a aaa Prinzip der Ultraschall Computertomographie Der Ultraschall Computertomograph Der mittlere Ring ist mit Transducer Ar ray Systemen best ckt e e a rn Transducer Array System des Ultraschall Computertomographen Lage des kartesischen Koordinatensystems 2 22 22 2 mann nn berblick ber die Hardware des USCT f r die Datenaufnahme Ordnerstruktur des Single Datenformates e Ordnerstruktur des Multiple Datenformates Sender S1 rot Empf nger E1 gr n und Wege s s2 53 s4 gleicher L nge le aut Hana 2 a a ne ae el ea ite Pe ee Dane dh Sarie E S et Rekonstruktionsprinzip beim USCT Die Ellipsen schneiden sich im Streuer GUT Layout mit GUIDE e sr zz 2 2 be aa a su ee ame hen Entwurf einer Benutzeroberfl che Alle Bedienelemen
12. gigkeit von MATLAB ergeben k nnen Nachteilig ist jedoch dass hierdurch die einfache Erweiterbarkeit der Software in nicht absehbarem Ma e beeintr chtigt werden w rde F r eine Anbindung an eine Datenbank bietet MATLAB in seinem gro en Funktionsumfang ebenfalls M glichkeiten so dass bei einer Verlagerung der Ex perimentdaten in eine Datenbank m glicherweise eine bessere Strukturierung er reicht werden k nnte Ein v llig neuer Ansatz ergab sich bei berlegungen bez glich der Aneinan derreihung von verschiedenen Operationen Um dies zu erm glichen bietet sich das Konzept einer Komponentensoftware an Verschiedene Funktionscontainer k nnten ber definierte Schnittstelle beliebig miteinander verbunden werden 87 Literaturverzeichnis AAA04 ABDULLA Dr Abdulla I Asni Reefat Yousef A AMERI Ahmed A Introduc tion to Graphical User Interface GUI Matlab 6 5 2004 United Arab Emirates University GHJLO5 GIERSIEPEN Klaus HEITMANN Cornelia JANHSEN Katrin LANGE Corne Har03 Hob95 Hop05 Kar04 MRO05 Nat04 Sko05 The00a Theoob The01a Theo1b The02 Theo5 lia Gesundheitsberichterstattung des Bundes Heft 25 Brustkrebs Robert Koch Institut 2005 HARTMANN Peter Mathematik f r Informatiker Vieweg Verlag 2 Auflage 2003 HOBART James Principles of good GUI Design In Unix Review vol 13 num 10 1995 S 37 46 Hopp Torsten Sc
13. gt Dazu geh rt unter anderem das Laden der A Scans die Anwendung von Transformationen usw Zus tzliche Popup Fenster werden f r Informationen erzeugt die nur auf Anfrage des Benutzers berechnet werden sollen Zu nennen sind hier z B die platzraubende Anzeige mehrerer A Scans die Berechnung von A Scan Parametern oder die Anzeige von Informationen zum Experiment Im USCT Fenster findet die Visualisierung des USCT Messzylinders statt Erreicht wird diese durch ein 3D Modell der Sende und Empfangselemente so wie eine 2D Darstellung in der Draufsicht Beide sind interaktiv zu bedienen Es k nnen Elemente als Sender bzw Empf nger markiert werden Dar ber hinaus werden hier Funktionen zur Generierung von Parameterdateien aus den markier ten Sendern und Empf ngern f r andere Softwaresysteme angeboten Das Rekonstruktionsbilder Fenster bietet die M glichkeit rekonstruierte Bil der des USCT zu laden Bildbearbeitungsfunktionen darauf anzuwenden usw F r die Darstellung von Volumenbildern dient ein Teilsystem das Schichtbilder aus dem Volumen herausgreift ber noch genauer zu spezifizierende Bedienelemente kann dann ein Volumen durchlaufen werden Zur besseren bersicht sind nur die wichtigsten Funktionen und Informatio nen direkt auf der Oberfl che vorhanden zus tzlich werden Kontext Men s und Funktions Men s angeboten 9 3 Plugin und Schnittstellen Konzept Eine wichtige Anforderung an die Software ist die Erweiterbarkeit Die
14. w hlen Standardm ig wird das erhaltene Ellipsen 72 6 UMSETZUNG Abbildung 6 17 Das von der Funktion addsig2vol erzeugte Bild zeigt die berech nete Ellipse Bild auf die Gr e der Colormap des rekonstruierten Bildes skaliert und anschlie fend auf das rekonstruierte Bild addiert Das neu berechnete Bild wird dann im Anzeigefenster der Bilder Oberfl che dargestellt EH 90 w xo wD so 0 e 1 me xo xo wo o ww we we e ww o w e e e Abbildung 6 18 Anzeige der Rekonstruktionsellipsen durch Addieren links und halbtransparente Uberlagerung rechts Die zweite Methode ist die halbtransparente Uberlagerung der beiden Bilder wof r OpenGL als Renderer der Oberfl che ben tigt wird Dabei werden Elemen te die zur Ellipse geh ren mit einem Transparenzwert von 50 belegt nicht zur Ellipse geh rige Elemente die den Wert 0 aufweisen werden zu 100 transparent dargestellt Im Bild Objekt muss das Attribut AlphaData mit dem generier ten Transparenzbild gef llt werden Ein Problem der Darstellung mit OpenGL sind Darstellungsfehler unter MATLAB 6 1 wodurch teilweise die Farben der 73 6 UMSETZUNG Oberfl che verf lscht werden Deshalb kann die Darstellungsmethode in den be nutzerdefinierten Einstellungen der Software ge ndert werden Der Aufruf der Funktion zum Berechnen und Einzeichnen der Rekonstruk tionsellipse erfolgt durch die Calculate Ellipse Schaltfl che in der A Scan
15. 1 res Zei 6 26 ZUSCT Startp YIMAGE TeS 6 27 In YZ Richtung wird die z Koordinate nach Formel 6 27 berechnet w hrend die Berechnung der x und y Koordinaten abge ndert werden muss ee S 6 28 TUSCT Lstartp layer 1 res 69 6 UMSETZUNG usct Diam Yusct vsu rmaGe res agen 6 29 Aus den errechneten Koordinaten kann nun ein Rechteck in das 3D Modell des USCT geplottet werden Abbildung 6 16 Die beschriebene Umrechnung erfolgt automatisch beim Markieren einer Region im rekonstruierten Bild EE VE USET ID View e KE we ss if i wo 0 w 09 29 real d Abbildung 6 16 Die Auswahl eines Bereiches im rekonstruierten Bild links wird an der entsprechenden Stelle im 3D Modell des USCT rechts angezeigt 6 4 2 Zur ckrechnung einer Bildregion auf einen A Scan Bereich Wie in Kapitel 4 beschrieben basiert ein Bild des USCT auf der Berechnung von zur ckgelegten Wegstrecken des Schalls Umgekehrt kann aus einem Bildpunkt genau auf einen Samplepunkt in einem A Scan geschlossen werden dessen k r zester Abstand zu Sender und Empf nger genau der aus der Signallaufzeit und Schallgeschwindigkeit errechneten Distanz entspricht Der Benutzer kann anhand der Berechnung erkennen welches Signal im A Scan den markierten Bildbereich miterzeugt Somit kann beispielsweise die Herkunft von Bildartefakten lokalisiert und darauf aufbauend interpretiert werden Bei d
16. Benutzeroberfl che Images Abbildung A 5 arbeitet mit den Daten rekon struierter Bilder A 5 1 Bilder laden und anzeigen Im Bereich Image Control ist es m glich zwei Bilder in das Programm zu la den Hierf r stehen zwei Buttons mit der Bezeichnung Load Image 60 65 zur Verf gung Ein Klick darauf ffnet einen Dialog in dem eine entsprechen de Datei ausgew hlt werden kann Zu beachten ist das Datenformat Verwendet werden rekonstruierte Bilder die die Bezeichnung Onelmage enthalten und im MATLAB Format vorliegen Zwischen den Bildern wechseln Sind auf beiden Bild Kan len Daten hinter legt so kann die Ansicht zwischen ihnen gewechselt werden Hierf r dienen 106 A BENUTZERHANDBUCH Seel Re Image Editing Abbildung A 5 Images Oberfl che nach dem Starten der Software die Schaltfl chen 1 und 2 61 66 neben dem jeweiligen Load Image Button Alle weiteren Operationen bis auf die Bildbearbeitungsfunktionen 107 A BENUTZERHANDBUCH werden dann auf den aktuell angezeigten Daten ausgefiihrt Zur Visualisie rung wird der zugeh rige Button des dargestellten Bildes gr n eingef rbt Ebenso wechselt die Ansicht wenn auf einer Seite eine Bildart ausgew hlt wird Bildart ausw hlen Rekonstruierte USCT Bilder werden als Datensatz abge speichert wobei mehrere Bildarten Standardwert das Amplitudenbild das Phasen Bild das Deconvolution Bild u
17. Dazu tr gt auch die nicht notwendige Deklarierung von Variablen und Datentypen bei 4 3 GUI Design Seit der steigenden Verbreitung von grafischen Benutzeroberfl chen in den 1990er Jahren hat sich aus der Auseinandersetzung mit der Gestaltung dieser eine ei gene Wissenschaft gebildet Die Software Ergonomie ist heute ein sehr weites Feld Deshalb soll an dieser Stelle keine detaillierte Betrachtung von Ergonomie Erkenntnissen stehen sondern lediglich auf die grundlegenden Prinzipien einge gangen werden die bei der Gestaltung von grafischen Benutzeroberfl chen be achtet werden sollten James Hobart stellte bereits im Jahr 1995 in Hob95 zw lf Prinzipien f r gutes GUI Design auf Trotz der rasanten Entwicklung in der Informatik seit dieser Zeit sind diese noch heute aktuell Benutzer ber cksichtigen Anwendungen m ssen das Verhalten und die Per spektiven ihrer Benutzer ber cksichtigen Trotz der Individualit t der Be nutzer ergeben sich gemeinsame Charakteristiken wie z B im Bereich des Lernens und Wiedererkennens Eine grafische Benutzeroberfl che sollte al so beispielsweise bei einer erwarteten Eingabe dem Benutzer besser gewisse Vorgaben machen als ihn v llig frei Werte w hlen zu lassen Unterschiedliche Perspektiven beachten Was aus der Sicht des Entwicklers intuitiv und leicht verst ndlich ist muss es noch lange nicht f r den Benut zer sein Dies sollte z B bei der Gestaltung von Icons Tooltips Textfeldern auf
18. Die Syntax ist sehr mathematisch orientiert und unterscheidet sich teilweise erheblich von der Hochsprachen Syntax wie sie beispielsweise C C oder Java verwenden Ein gro er Vorteil bei der Berechnung von mathematischen Problemen ist die durchweg vorhandene Unterst tzung von Vektor und Matrizen Operationen wodurch aufwendige Programmkonstrukte f r elementweise Berechnungen nicht ben tigt werden Oft k nnen ganze for Schleifen entfallen und durch einzeili ge Ausdr cke ersetzt werden Die Deklaration von Variablen die Angabe von Datentypen sowie die Zuordnung von Speicher entf llt bei Matlab g nzlich Da tentypen werden anhand des Wertes einer Variablen automatisch festgelegt die Speicherzuweisung erfolgt dynamisch Als Datentypen kennt Matlab The00b e char f r Zeichenketten e NUMERIC unterteilt in die Typen int8 8 Bit Integer Werte uint8 8 Bit Integer Werte ohne Vorzeichen int16 uint16 int32 uint32 single Gleitkommazahl mit geringer Pr zision double Gleitkommazahl mit ho her Pr zision sowie sparse speicherplatzsparend f r Matrizen mit wenig belegten Elementen e cell Zellen die wiederum andere Datentypen enthalten k nnen e structure Strukturen die als Untermengen andere Datentypen enthalten e function handle Referenzen auf MATLAB Funktionen oder Benutzer oberfl chen Objekte e User Class benutzerdefinierte Datentypen die durch Matlab Funktionen erzeugt werden Quellcode wird in Da
19. Funktion zum Befehl Remove from List durchl uft da bei die gesamte Liste und l scht markierte Zeilen bevor der neue String in das Listenfeld geschrieben und die userData Variable aktualisiert wird Clear List setzt den Inhalt des Listenfeldes sowie die Variable userData zur ck Mit der Option Use SRC List kann analog zur Use TAS List Option in der A Scan Oberfl che ausgew hlt werden welche Liste als Eingabeobjekt zum Laden von A Scans dient Dabei wird ein Flag gesetzt das in der Lade Funktion der A Scan Oberfl che berpr ft wird 61 6 UMSETZUNG 6 3 Rekonstruktionsbilder Oberflache Als dritter Hauptteil der Software wird die Oberfl che fiir rekonstruierte Bilder Abbildung 6 14 implementiert Dabei wird ein Konzept verfolgt das zwei Bild Kan le bietet d h es k nnen gleichzeitig zwei Bilder in die Oberfl che geladen werden Die Anzeigeobjekte und darauf operierende Funktionen werden mit einer Art Schalter auf das jeweilige Bild umgeschaltet 6 3 1 GUI Die Men leiste 1 beinhaltet erneut ein Men zur Auflistung der ber die Schnitt stelle eingebundenen Plugins Zum Anzeigen der Bilder wird ein Axes Objekt verwendet das sich nahezu ber die gesamte Breite der Oberfl che erstreckt 2 Die Konfiguration ist auf die Anzeige von Bildern ausgelegt so dass die Seitenverh ltnisse eines Bildes erhalten bleiben Bei der Erstellung von Schichtbildern muss die jeweilige Schnittebene
20. Funktionen sichtbar sind The00b Neben den Dateien fiir die Speicherung von Quelltext bietet MATLAB die M glichkeit Variablen in einem eigenen Datenformat persistent zu speichern De tails ber das Datenformat finden sich in The05 F r eine ausf hrliche Erkl rung der Funktionen von MATLAB sei auf das Hilfesystem sowie auf The00b verwiesen 4 2 2 GUI Gestaltung mit MATLAB Eine Benutzeroberflache in MATLAB besteht grunds tzlich aus drei Teilen e Komponenten wie z B Schaltfl chen Listen Men s statische Texte usw dienen der Interaktion mit dem Benutzer e Fenster in Matlab als Figure bezeichnet beinhalten die Komponenten e Callback Funktionen die durch Aktionen des Benutzers aufgerufen werden W hrend die Callback Funktionen im Matlab Editor als einfacher Quelltext implementiert werden gibt es f r das Layout einer Oberfl che zwei M glichkeiten der Erstellung Die erste Variante ist die Erzeugung von Benutzeroberfl chen durch Quelltext Dabei werden die Fenster und die Bedienelemente durch die Instanziierung von so genannten User Interface Control Objects erzeugt ber set und get Methoden k nnen die Eigenschaften der Objekte angepasst werden Die zweite M glichkeit bietet einen wesentlich h heren Komfort Mit dem Layout Editor GUIDE Graphical User Interface Development Environment 24 4 GRUNDLAGEN k nnen Bedienelemente ausgew hlt hinzugef gt und angeordnet werden Ab bildung 4 10
21. abgespeichert e die Flags Variable die zahlreiche Parameter beinhaltet welche bei der Re konstruktion verwendet werden e der Start und Endpunkt von Bildausschnitten der Rekonstruktion e die physikalische Aufl sung des Bildes in m Pixel e die verwendete Winkelkorrektur e die Gr e des Bildes in Pixeln e die Parameter f r die Signalentfaltung e die Geometriedateien f r Sender und Empf nger 4 2 MATLAB MATLAB steht f r MATrix LABoratory und ist eine kommerzielle mathema tische Software der Firma The MathWorks Inc Sie wird vor allem zur nu merischen L sung von mathematischen Problemen eingesetzt bietet aber auch vielf ltige M glichkeiten zur grafischen Darstellung von Daten und Ergebnissen Aktuell ist MATLAB in der Version 7 3 auch als Release 2006b bezeichnet erh ltlich Im IPE werden die Versionen 7 1 sowie 6 5 und 6 1 eingesetzt Die Versionen sind weitestgehend abw rtskompatibel 22 4 GRUNDLAGEN 4 2 1 Programmierung in MATLAB Die Programmierung erfolgt in einer propriet ren und plattformunabh ngigen Programmiersprache die auf dem jeweiligen Rechner von MATLAB interpretiert wird Ein Kompilieren und Linken wie in anderen Programmiersprachen ist daher nicht notwendig Zur schnellen Ausf hrung von numerischen Berechnungen setzt MATLAB auf prozessoroptimierte Bibliotheken bietet aber auch eine Just in time Kompilierungstechnologie f r einfache skalare Berechnungen an The06
22. anhand der mit der Bildlaufleiste ausgew hlten Ebene erzeugt und angezeigt Die Bildlaufleiste wird zuvor auf den Wertebereich angepasst der die Anzahl der im Volumenbild enthaltenen Ebenen umfasst Das Schnittbild berechnet sich durch das Herausschneiden der Daten zweier Dimensionen an der ausgew hlten Stelle in der dritten Dimension des Da tenarrays Mit dem MATLAB Befehl squeeze wird zuletzt die nun leere dritte Dimension entfernt Das Schnittbild wird durch die Subfunktion showSinglelmage dargestellt Die Bilddaten liegen transponiert vor da es sich beim USCT Koordinatensystem im Gegensatz zur MATLAB Darstellung um ein rechtsh ndiges System handelt Dies wird durch erneutes Transponieren der Bildmatrix aufgehoben Bei Bildern aus der XZ bzw YZ Ebene entf llt dieser Schritt Die Darstellung der Daten erfolgt als indexiertes Bild wobei den Zahlenwerten der Matrix Farbwerte der aktuellen Colormap zugeordnet werden Beim Wechsel zwischen den beiden Bildkan len werden die zentralen Bild Variablen sowie die Variablen zur Speicherung der Bildinformationen mit den jeweiligen Daten des Bildkanals berschrieben Anschlie end wird erneut die Rou tine zur Berechnung und Anzeige von Schichtbildern aufgerufen Dar ber hinaus werden die Bedienelemente der Oberfl che aktualisiert wenn beispielsweise durch einen Wechsel auf ein 2D Bild die Bildlaufleiste nicht mehr ben tigt wird Der Wechsel zwischen den Bildarten wird in den Ca
23. bekannt Eine Vereinfachung f r Programmierer und Benutzer stellt die dynamische Generierung eines Dialoges anhand der Anzahl und Namen der Parameter dar Sie bietet die M glichkeit die numerischen Werte der Eingabevariablen inputPa rams beim Aufruf des Plugins zu ver ndern Der R ckgabewert ist f r jedes Plugin genau spezifiziert so dass die Daten nach Abarbeitung weiterverwendet werden k nnen Im genannten Beispiel f r 36 5 KONZEPT UND DESIGN die A Scan Transformationen werden die transformierten Daten beispielsweise geplottet 5 4 Strukturierung der Software Aufgrund der Skriptsprachen Eigenschaften von MATLAB ist eine objektorien tierte Programmierung nicht m glich so dass zur Wahrung der Ubersichtlichkeit eine Strukturierung der Software erfolgen soll Das Fehlen eines Package Konzeptes wie es beispielsweise Java anbietet wird durch die Erzeugung einer Ordnerstruktur Abbildung 5 5 kompensiert Die Unterordner werden beim Starten der Software in die Pfadlisten der aktuellen MATLAB Session eingetragen CH root CH data CH dialogs Claes T 2 userManual CH reference CH functions CH ascanGUIMenu CH tools CH ascanTransformations CI tools C tools CH imageFunctions CH tools CH imagesGUIMenu CI tools CH usctGUIMenu C tools CH imageComparison CH graphics CH preferences CH templates Cl tools Abbildung 5 5 O
24. ber cksichtigen Da an einer Motorposition f r einen Sen der nur bestimmte Empf nger die Daten aufnehmen sind f r einige in den A Scan Listen angebotenen Sender Empf nger Kombinationen keine Daten verf gbar In der Checkbox Regard MPs wird die Option des Ausblendens von Empf ngern die f r die aktuell ausgew hlten Sender nicht vorkommen k nnen angeboten Ist die Option aktiviert werden je nach ausgew hl ten Sendernummern die zugeh rigen Empf ngernummern auf der gleichen Motorposition berechnet und in die Liste eingetragen Dies geschieht in der Callback Funktion der Sendernummer Liste sowie nach Aktivierung der Checkbox e Markierte Sendernummer n auslesen und mit dem Modulo Operator auf die 6 verf gbaren Motorpositionen umrechnen motorposition markedSN mod 6 6 1 e Sortieren der Motorpositionen e Durchlaufen aller Sendernummern und Berechnung der dazugeh rigen Empf ngernummern RN motorposition 2 0 12 24 180 motorposition 2 0 12 24 180 1 6 2 e Aktualisieren des Empfangernummern Listenfeldes e Aktualisieren der Markierung innerhalb des Listenfeldes Dabei werden nicht mehr angezeigte zuvor ausgewahlte Empfanger aus der Auswahl gestrichen 46 6 UMSETZUNG Rahmen 4 in der Abbildung 6 1 zeigt verschiedene Werkzeuge zur Anwen dung auf A Scans Die Fadenkreuz Schaltflache dient der Auswahl eines Bereichs im A Scan auf den weitere Aktionen einges
25. die Eingabeparameter ver ndert werden Es wird bei der Ausf hrung der Funktion ein Dialog ge ffnet in dem die aktuellen Werte eingesehen und ver ndert werden k nnen Es k nnen beliebige neue Funktionen hinzugef gt werden Bei der Program mierung dieser sind allerdings die Schnittstellenspezifikationen zu beachten Hier f r siehe A 6 4 A 6 Erweiterung des DiagTools A 6 1 Unabh ngige Funktionen in den Men s Jeder der drei Teile der Benutzeroberfl che verf gt in der Men leiste ber das Men Functions in dem vom Rest des Programms abh ngige oder unabh ngige Funktionen eingeh ngt werden k nnen Diese werden durch ein Anklicken im Men aufgerufen Beim Einh ngen von Funktionen ist zu beachten e Die implementierte Funktion muss in einem gleichnamigen m File im Un terordner functions usctGUIMenu functions imagesGUIMenu bzw functions ascanGUIMenu gespeichert werden e Eine gleichnamige mat Datei muss im gleichen Verzeichnis liegen und muss die Variable label enthalten die den Titel der Funktion angibt der im Menii des DiagTools erscheint e Zusatzlich ist es denkbar weitere Parameter Daten etc in dieser Datei zu speichern die die Funktion f r die Ausf hrung ben tigt Bei Initialisierung des DiagTools werden die Ordner ausgelesen und die Ein tr ge dem Men Functions als Unterpunkte hinzugef gt Was die Funktion berechnet anzeigt etc kann der Benutzer frei bestimmen z B auc
26. die Statusinformationen Bei der Auswahl mehrerer Sender Empf nger Kombinationen werden die Mar kierungen in for Schleifen durchlaufen und in einer tabellarischen Struktur auf gelistet Senderlayer Sendernumber Receiverlayer Receivernumber Tabelle 6 1 Datenstruktur mehrerer Sender Empf nger Kombinationen Diese n zeilige Liste wird der Subfunktion loadMultipleAScans bergeben 44 6 UMSETZUNG die die Daten in einer Matrix mit 3000 Spalten und n Zeilen zuriickliefert Da durch kann eine Zuordnung zwischen Sender Empfangernummer und Daten iiber den Zeilenindex erfolgen Innerhalb des Dialoges multipleAScanPlot werden anschlie end ber eine globale Variable die Daten gesetzt und ein neues Fenster ge ffnet in dem die gew hlten A Scans geplottet dargestellt werden Abbildung 6 2 Zum Aufbau dieses Fensters wird auf die Funktion Scrolling Figure Demo von Evan Brooks zur ckgegriffen dessen Quelltext auf die Bed rfnisse der Software angepasst wur de d dem on a ge e we we em a should be saved OE RL Pn al phted Scans oneA Scan fats SO DIE AND DI SLO SOO Mm It Re We the ALM AW oo Abbildung 6 2 Oberfl che zur Anzeige mehrerer A Scans und Oberfl che zum Abspeichern der A Scan Daten Die Daten der angezeigten A Scans k nnen im MATLAB Datenformat ab gespeichert werden Hierf r wird jedem Plot ein Kontextmen zugeordnet
27. glichkeiten zur Analyse unterschiedlich parametrisierter Bildrekonstruktionen Diese Funktion wird au ferdem ber eine Schnittstelle realisiert die es dem Benutzer erlaubt beliebige Berechnungen zwischen zwei Bilddatens tzen durchzuf hren und diese integriert in der Oberfl che anzuzeigen und weiter zu verwenden Verbesserungen in der Bildqualit t werden sich durch die Verwendung von Bildbearbeitungsfunktionen erhofft Die Verwendung solcher ist in der erstellten Software beispielhaft durch die Anpassung der Helligkeit gew hrleistet Der Funk tionsumfang kann durch die Anordnung und Art der Bedienelemente leicht er weitert werden In der medizinischen Bildverarbeitung wird mit unterschiedlichen Farbskalen gearbeitet Die Ver nderung der Colormap per einfachem Mausklick erm glicht die Anzeige der Bilder in unterschiedlichen Farbdarstellungen Eine h ufig gew nschte logarithmische Darstellung der Bilddaten ist ebenso m glich Eine engere Bindung zwischen dem realen USCT Prototypen und den daraus gewonnenen Daten verschafft ein interaktives dynamisch generiertes 3D Modell Es erm glicht die einfache Auswahl von Sendern und Empf ngern ber anklick bare Elemente Verschiedene Markierungsmuster erreichbar ber Kontextmeniis erleichtern und beschleunigen die Auswahl Zus tzlich bietet das 3D Modell mit einer programmierbaren linken Maustaste eine v llig neue M glichkeit gleiche Aktionen schnell hintereinander ausf hren zu k nnen Z
28. hierfiir stellt das DiagTool keine gesonderte Funktionali tat zur Verf gung e Auch die Fehlerbehandlung sowie die Versionskompatibilit t unterliegt dem Programmierer A 6 5 Vorlagen Programmier Vorlagen f r die Erweiterung der A Scan Transformationen der Bildvereinigungs Funktionen und der Bild Funktionen finden sich im Unterordner templates Zu beachten ist bei Verwendung der Vorlagen dass die Funktion in nerhalb der Datei umbenannt und die Datei selbst unter entsprechendem Namen im zugeh rigen Verzeichnis abgespeichert wird 114 Anhang B Dateiformate B 1 AvailableEmitters txt Available Emitters Simple textfile whitespace separated list of numbers Numbering is according to counterclockwise enumeration of emitters WITHOUT concerning about motor positions denotes single line comment First 0 Last 383 128 132 136 140 B 2 AvailableReceivers txt Available Receivers Simple textfile whitespace separated list of numbers Numbering is according to counterclockwise enumeration of receivers WITHOUT concerning about motor positions denotes single line comment First 0 Last 1535 0123456789 10 11 12 13 14 15 16 115 B DATEIFORMATE B 3 codedExcitation txt 510 16 bit werte fuer die coded excitation und davon nur 10bit genutzt 512 522 536 549 556 553 538 512 478 446 421 414 427 462 512 567 616 648 652 627
29. liegt kann durch Formel 6 16 ermittelt werden arraylndex k S 1 6 16 60 6 UMSETZUNG Mit dem MATLAB Befehl bitset kann nun im errechneten Arrayelement an der Stelle bitIndex eine 1 oder 0 gesetzt werden Die Stelle bitIndex wird ber Formel 6 17 bestimmt 9 n mod 8 f rn mod 8 4 0 1 f r n mod 8 0 6 17 bitIndex l In das Listenfeld Custom Combinations kann durch Klicken auf add die aktuelle Auswahl von Sendern und Empf ngern hinzugef gt werden Im Hinter grund speichert das Listenfeld dabei die Nummern der Senderlayer Sendernum mern Empf ngerlayer und Empf ngernummern in der UserData einer speziellen Variable die dem Bedienfeld zugeordnet ist in tabellarischer Form wie bereits in Tabelle 6 1 beschrieben Im Vordergrund wird dem Benutzer im Listenfeld ein String angezeigt der aus den genannten Nummern generiert wird Abbildung 6 13 Custom Combinations S R Combinations SL SN RL RN 444 o 16 0 0 24 Remove from List Clear List T Use SRC List Abbildung 6 13 Listenfeld zur Auswahl und Anzeige beliebiger Sender Empf nger Kombinationen Die Liste kann sowohl als Eingabeobjekt f r das Laden von A Scans und die damit verbundenen weiteren Aktionen verwendet werden wie auch als Ausgabe fenster f r Berechnungen die eine Liste von A Scans als Ergebnis haben Mit den Funktionen im Kontextmen k nnen Eintr ge aus der Liste gel scht werden Die Callback
30. sentiert nun welche Funktion als Transformation aufgerufen werden soll Mit den beiden Parameter Togglebuttons wird jeweils ein Flag gesetzt das angibt ob der Benutzer evtl vorhandene zus tzliche Parameter vor der Ausf h rung der Transformation einsehen oder ndern m chte Der Aufruf der Transformation erfolgt durch Bet tigen des Calculate Togglebuttons Mittels des Namens der Transformation wird zun chst nach einer MATLAB Datei dieser Bezeichnung gesucht in der zus tzliche Parameter ge speichert sind In Abh ngigkeit von der Existenz dieser Datei und damit der 6 UMSETZUNG Existenz zus tzlicher Parameter sowie des Benutzerwunsches nach einer Ande rung der Parameter wird die entsprechende MATLAB Datei geladen und die Funktion readInParameters mit deren Werten aufgerufen Die Funktion readInParameters erzeugt anhand der Anzahl und Namen der in der MATLAB Datei gespeicherten Variablen einen modalen Dialog Abbildung 6 7 Die H he des Fensters berechnet sich aus der Anzahl der Parameter Ebenso werden anhand der Anzahl der Parameter statische Textfelder mit den Namen der Variablen erzeugt In Edit Feldern werden die Werte der Variablen eingetragen und k nnen darin ver ndert werden Mit Bet tigen des OK Buttons schreibt die Funktion die ver nderten Parameter zur ck in die Datei x Parameter Settings scale D limit DE frequency feo numD ftPoints 256 step fe startPos al inputP
31. sprechend des Ladevorgangs Meldungen ausgegeben d h ob der A Scan im aktuellen Experimentverzeichnis gefunden wurde und geladen werden konn te oder nicht vorhanden ist Region 5 gibt die obere und untere Grenze einer Markierung in einem A Scan an Unter A Scan 6 wird die Num merierung des aktuell geladenen A Scans angezeigt Quick View Die standardm ig deaktivierte Option Quick View 16 weist die Software an sofort nach der Auswahl in einer Liste den zugeh rigen A Scan zur entsprechend markierten Sender Empf nger Kombination zu laden und anzuzeigen Diese eignet sich zum schnelleren Durchlaufen der Datens tze Regard Motorpositions Als zweite Option wird Regard MPs 17 angebo ten Wird diese aktiviert so werden nur die Receiver Nummern in der Liste RN angezeigt die f r den ausgew hlten Sender aufgrund der zugeh rigen Motorposition Daten enthalten k nnen Use TAS Lists Standardm ig ist diese Option 18 aktiviert Sie stellt si cher dass beim Laden der A Scans die markierten Sender Empf nger Kombinationen der A Scan Listen verwendet werden Durch Deaktivieren dieser Checkbox wird automatisch die Checkbox Use SRC List gesetzt und durch die nderung des gr nen Rahmens verdeutlicht Durch den Wechsel werden beim Anzeigen von A Scans und weiteren Operationen die Sender Empf nger Kombinationen aus dem Feld Custom Combinations der USCT Oberfl che verwendet IMP Motorposition 99
32. und 1 f r die Aufhellung des Bildes bzw Werte zwischen 1 und 0 f r die Abdunklung des Bildes Da die Bildlaufleiste bei jeder Bewegung einen Wert zwischen 0 und 1 liefert muss in seiner Callback Funktion der Wert auf den Unterschied zur vorherigen Auswahl reduziert werden um somit absolute Werte erreichen zu k nnen Eine weitere Bildbearbeitungsfunktion ist die Anpassung der Colormap Hier bietet MATLAB einige vordefinierte Varianten an welche im Drop Down Men aufgelistet werden Durch die Auswahl einer Zeile darin wird die derzeit verwen dete Colormap durch die Neue ersetzt Das angezeigte Bild ver ndert dabei sofort das Aussehen Zus tzlich wird die Bildlaufleiste f r die Helligkeit zur ckgesetzt da die Colormap neu initialisiert wurde und Anpassungen der Helligkeit an der vorherigen Colormap verloren gehen Als dritte Bildbearbeitungsfunktion hat der Benutzer die M glichkeit Daten eines rekonstruierten Bildes in logarithmischer Verteilung anzuzeigen Dazu wer den die Bilddaten in der Funktion zur Berechnung eines Schichtbildes abh ngig 67 6 UMSETZUNG von dieser Auswahl logarithmiert oder nicht Die Auswahl im Drop Down Menii setzt dabei ein Flag das beim Generieren von Schichtbildern beriicksichtigt wird Fiir die Markierung einer Region of Interest im angezeigten Bild wird die Funktion rubberbandbox von Bob Hamans verwendet Diese liefert die Koor dinaten des linken oberen und linken unteren Eckpunkt
33. welche Emp fangselemente es repr sentiert Der Senderlayer SL und die Sendenummer SN kann aus den Z hlvariabeln der bei der Erzeugung durchlaufenen for Schleifen entnommen werden Die Koordinaten der Empf ngerelemente RL sowie RN die das Sendele ment umgeben lassen sich nach Formel 6 10 berechnen 3Voxel Funktion zur Erzeugung von dreidimensionalen K rpern Quelle http www mathworks com matlabcentral fileexchange Stand 31 08 2006 59 6 UMSETZUNG Biss Rop CEPI RNy SN 2 1 BNy SN 2 RCoords 6 10 RLy SL 2 RLy SL 2 RNy SN 2 1 RN SN 2 wobei die Empfanger in der frontalen Sicht auf das TAS identisch zur abgebildeten Matrix angeordnet sind Die Indizes sind als Upper Left Lower Left ur Upper Right und Lower Right zu interpretieren Gespeichert werden die Koordinaten in jeweils zweielementigen Arrays fiir die beiden Empf ngerlayer und die beiden Empf ngernummern Dar ber hinaus wird dem Voxelobjekt die berechnete lineare Sender und Receivernummer angeh ngt Erstere berechnet sich nach Formel 6 11 Letztere nach Formel 6 12 linear Sender SN SL 96 96 6 11 linear Receiver RN RL 192 192 6 12 Jedem Voxel wird ein zuvor erzeugtes Kontextmen Abbildung 6 10 zuge wiesen Darin werden die folgenden Auswahlarten erm glicht e Als Sender Element markieren e Als Receiver Element markieren e Ganzen Layer als Sender Receiver markieren e Ganze
34. wurde Aufgrund der nur eingeschr nkt gegebe nen Objektorientierung der Programmierumgebung MATLAB ergaben sich Pro bleme den berblick ber sehr viele unterschiedliche komplexe Strukturen und oberfl chen bergreifende Zugriffe auf Bedienelemente zu bewahren Der Einsatz einer klaren Strukturierung in Ordnern und Unterordnern sowie die Zuordnung von globalen Variablen zu jeder Oberfl che konnten helfen die Komplexit t der Software zu reduzieren Der aktuelle Stand der Software wird mittlerweile in der USCT Abteilung eingesetzt ber ein Subversion System k nnen die Mitarbeiter immer mit der aktuellsten Version arbeiten Aufgrund der kurzen Testphase sollen auftretende Probleme in n chster Zeit sukzessive weiter entfernt werden W hrend der Entwicklung ergaben sich zus tzlich zu den anfangs formulierten Anforderungen Ideen und W nsche bez glich der Funktionalit t und der Bedie nung Teilweise wurden diese bereits in der nun fertiggestellten Version umgesetzt beispielsweise sei die Implementierung des Transducer Checks oder die Visuali sierung des Anregungspulses genannt Weitere sollen in Zukunft in die Software integriert werden e Generierung von synthetischen A Scan Daten e Ausweitung der Auswahlm glichkeiten f r A Scan Bereiche auf die Anzeige mehrerer A Scans Hierf r wurde bereits eine Machbarkeitsuntersuchung mit positivem Ergebnis durchgef hrt e berlagerung von unterschiedlichen A Scans e Generierung des A
35. z B das Modell des Ultraschall Computertomographen zu benutzen Der Zugriff darauf erfolgt ber vorhandene Funktionen wie sie in der Funktionsreferenz der Software dargestellt werden 5 3 2 Plugins mit Parameter bergabe Eine zweite Variante macht dem Entwickler strikte Vorgaben die bei der Entwick lung von Plugins beachtet werden m ssen Im Gegenzug ist es mit ihnen jedoch sehr einfach die vorhandenen Eingabedaten und Visualisierungsm glichkeiten zu nutzen Diese Art von Plugins wird f r die A Scan Transformationen und die Bildvergleichs vereinigungsfunktionen eingesetzt Eine hybride Form der beiden Plugin Arten wird f r Operationen auf Bildern bzw Bildausschnitten verwendet Der Aufbau unterscheidet sich von den eigenst ndigen Plugins vor allem im R ckgabewert Dieser ist f r Plugins dieser Art zwingend erforderlich da die Da ten nach Abarbeitung der Funktion weiterverarbeitet werden Aufgerufen werden die Plugins mit der bergabe von festgelegten Parametern beispielsweise bei A Scan Transformationen die Daten eines A Scans Eine MATLAB Datei mit dem Struct inputParams als Inhalt spezifiert Art Typ und Wert einer beliebigen Anzahl zus tzlicher Parameter die der Funktion bergeben werden Aufgrund der Verwendung eines Structs ndert sich die Anzahl der der Funktion berge benen Parameter nicht was einen einheitlichen Funktionsaufruf erm glicht Der Zugriff auf die im Struct enthaltenen Variablen ist dem Entwickler
36. 1 52 54 57 57 93 ABBILDUNGSVERZEICHNIS 6 12 6 13 6 14 6 15 6 16 6 17 6 18 6 19 6 20 6 21 6 22 6 23 6 24 Al A7 A3 AA A 5 A 6 C 1 2D Modell des Ultraschall Computertomographen 59 Listenfeld zur Auswahl und Anzeige beliebiger Sender Empfanger Kombinationen 61 Oberfl che f r rekonstruierte Bilder 63 Schnittrichtungen f r die Erzeugung von Schichtbildern aus einem Volumen 66 Die Auswahl eines Bereiches im rekonstruierten Bild links wird an der entspre chenden Stelle im 3D Modell des USCT rechts angezeigt 70 Das von der Funktion addsig2vol erzeugte Bild zeigt die berechnete Ellipse 73 Anzeige der Rekonstruktionsellipsen durch Addieren links und halbtransparen te berlagerung rechts au td a RN altutt 73 Startfenster der Software mit Ladeanzeige 74 Anordnung der Benutzeroberfl chen nach dem Starten der Software 75 Oberfl che der Funktion zur Visualisierung der Geometrie Dateien 76 Oberfl che des Transducer Checks 2 2 2 2 2 77 Visualisierung des bei der Messung verwendeten Anregungspulses 77 Hilfe Dialog der Software 78 Oberfl che des DiagToolStarter e 96 DiagTool Oberflache nach dem Starten 2 2 2 2 22 n nn 97 A Scan Oberfl che nach dem Start der Software 98 USCT Oberfl che nach dem Starten der Software 103 Images Oberfl che nach dem Starten der Software 107 Schichtbilder bei einem Volume
37. 1152 x 864 Pixel bieten Meist wird eine Bildschirmaufl sung von 1280 x 1024 verwendet Aufgrund dessen kann ein absolutes Layout der Bedienelemente mit entsprechenden Ma en gew hlt werden Unter Ber cksichtigung der Bildschirm aufl sungen wird f r die drei Teiloberfl chen jeweils eine Breite von 380 Pixeln verwendet Als H he werden 850 Pixel gew hlt 6 1 A Scan Oberfl che 6 1 1 GUI Die A Scan Oberfl che Abbildung 6 1 unterteilt sich in einen Bereich zum La den und Anzeigen der A Scans in dem zus tzlich alle relevanten damit verbun denen Operationen untergebracht werden sowie einen Bereich f r die A Scan Transformationen Die Bereiche sind durch zwei schwarze Balken mit entspre chender Beschriftung kenntlich gemacht und dadurch optisch getrennt F r die Anzeige von A Scans und Transformationen werden die von MATLAB zur Ver fiigung gestellten Axes Objekte 2 9 verwendet Zur Auswahl von Senderlayer Sendernummer Empfangerlayer und Empfan gernummer erh lt die Oberfl che vier Listenfelder 5 in die die jeweils verf g baren Zahlenwerte beginnend mit 0 eingetragen sind Diese Objekte eignen sich hier besonders fiir den Einsatz da sie nach den Prinzipien der GUI Gestaltung am meisten Eintr ge aufnehmen k nnen w hrend lediglich Teilmengen davon an gezeigt werden Die Felder werden so konfiguriert dass eine oder mehrere Zeilen 41 6 UMSETZUNG A Scans lolx 1 Men leiste 2 A Scan
38. 3 Statusanzeige Anzeigefeld A E oe b v 4 Werkzeuge 6 Optionen zur Anzeige von 5 Auswahllisten A Scans 7 Temperatur und Schallgeschwin digkeitsregler 8 Ellipsen rekonstruktion Transformations 10 Transfor 9 Anzeigefeld f r mationsoptionen Transformationen 11 Transformationen A amp amp oOo e nn NM A 12 Werkzeuge Dir Transformationen Abbildung 6 1 A Scan Oberfl che darin markiert werden k nnen Zusammengefasst in einem Rahmen stehen mehrere Statusanzeigen 3 zur Verf gung Beim Laden eines A Scans wird dort unter Loader eine Erfolgs gr ne Schriftfarbe oder Fehlermeldung rote Schriftfarbe angezeigt Region 42 6 UMSETZUNG stellt bei einer im A Scan durchgef hrten Markierung die untere und obere Gren ze dieser numerisch dar Unter A Scan wird die Sender Empf nger Kombination zum aktuell angezeigten A Scan ausgegeben Informationen zum A Scan und der dazugeh rigen Messung erh lt man durch Klicken auf eine Schaltfl che die mit einem Infosymbol belegt ist Diese ist ge meinsam mit den Schaltfl chen zur Vergr erung der Ansicht Lupensymbol zur Berechnung von A Scan Kennzahlen Formelsymbol sowie dem Werkzeug zur Auswahl eines Bereiches im A Scan Fadenkreuzsymbol in einem Rahmen zusammengefasst 4 Optionen zur Anzeige von A Scans 6 werden zusammen mit einer Schaltfl che zum Laden und Anzeigen eines
39. 3D Datensatz relevant ist Bei 2D Daten wird der Wert 1 bergeben e Als dritten Parameter erh lt die Funktion die Koordinaten der Auswahl aus dem Bild selection 1 1 liefert dabei die Entfernung der linken oberen Auswahl Ecke vom linken Bildrand selection 1 2 liefert den Abstand der linken oberen Auswahl Ecke vom oberen Bildrand selection 2 1 liefert die Entfernung der rechten unteren Ecke der Auswahl vom linken Bildrand selection 2 2 liefert den Abstand der rechten unteren Ecke vom oberen Bildrand Zu beachten ist das Ausw hlen der Elemente entsprechend der mar kierten Region aus der Bild Matrix Es werden zun chst die y Koordinaten der beiden Selektionspunkte ben tigt um die Zeilen auszuw hlen die x Koordinaten dann f r die Spalten e Alternativ erh lt die Funktion als vierten Parameter die Variable inputPa rams die wie schon bei den A Scan Transformationen in einer mat Datei gleichen Namens wie die Funktion gespeichert ist und im selben Verzeich nis liegen muss Spezielle Bedeutung hat dabei der Parameter inputPa rams dataMode Mit diesem kann ausgew hlt werden ob eine Funktion le diglich die 2D Daten des aktuell dargestellten Bildes erh lt Wert 2D oder ob es den kompletten 3D Datensatz bergeben bekommt Wert 3D e Die Funktion besitzt keinen Riickgabewert 113 A BENUTZERHANDBUCH e Die Anzeige der Ergebnisse einer Berechnung sind dem Programmierer selbst iiberlassen
40. A Scans in einen Bereich seitlich der Auswahl listen gepackt um einen schnellen Zugriff und kurze Mauswege zu erm glichen Die Optionen werden durch Aktivieren bzw Deaktivieren von Checkboxen ein bzw ausgeschaltet Ein weiterer Teil der Oberfl che ist ein Bedienelement zum Setzen der Tempe ratur des bei der Messung verwendeten Koppelmediums Wassers bzw die daraus errechenbare Schallgeschwindigkeit 7 Abgebildet wird diese Funktion ber eine Bildlaufleiste und zwei Textboxen in denen die Auswahl und das Ergebnis der Geschwindigkeitsberechnung ausgegeben werden Das Bedienelement kann damit auch gleichzeitig als Umrechner zwischen Wassertemperatur und Schallgeschwin digkeit benutzt werden Im Bereich der A Scan Transformationen dient erneut ein Axes Objekt zur Anzeige der transformierten Daten 9 Unter Options 10 dient eine Checkbox zum Aktivieren bzw Deaktivieren der Transformationsoption zur Verwendung der markierten Region im A Scan Die Schaltfl che zur Anzeige einer Vergr e rung einer geplotteten Transformation ist wie auch bei den A Scan Funktionen in einem Rahmen 12 untergebracht Transformationen k nnen im Anzeigefeld berlagert dargestellt werden Hier f r werden zwei gleichartige Bedienelemente Anordnungen verwendet 11 die beide ein Drop Down Men zur Auswahl der Transformationsfunktion bieten ber einen Togglebutton kann gew hlt werden ob die Eingabeparameter der Transformation vor der Ausf hru
41. Axes Objekt ist ein Kontextmen de finiert in dem jeweils eine Funktion zum Exportieren des Plots in das JPEG und PNG Format angeboten wird Die Funktionen rufen zun chst einen Speichern unter Dialog auf durch den der Dateipfad gew hlt werden kann Anschlie end wird mit dem MATLAB Befehl saveas handles ascanEnlargedAxes outfile 47 6 UMSETZUNG das Fenster in eine Grafik umgewandelt anhand der gew hlten Dateiendung das Format gew hlt und schlie lich an der angegebenen Stelle auf der Festplatte gespeichert re D A A A A 4 D 1000 o oon De u Ewa Abbildung 6 4 Oberfl che zur vergr erten Ansicht eines A Scans Die Info Schaltfl che ffnet ein Popup Fenster in dem zum aktuell geladenen A Scan Informationen und Eigenschaften anzeigt werden Abbildung 6 5 Diese erh lt die Software gr tenteils durch das Laden der Datei info mat die bei jeder Messung mit dem USCT angelegt wird siehe auch Abschnitt 4 1 3 Des Weiteren werden Informationen bez glich der Datenstruktur beim Laden eines A Scans ermittelt Einige Kennzahlen eines A Scans werden im Dialog AScanProperties be rechnet und ausgegeben Abbildung 6 6 F r die Berechnung werden gr tenteils MATLAB eigene Funktionen verwendet Deren Vorgehensweise sei im Folgenden kurz mathematisch dargestellt X bezeichnet dabei die Menge der n Messwerte Ti e Durchschnittliche Amplitude mean Se mean X
42. BA Erstellung einer Benutzeroberflache zur Exploration und Analyse gro er Datenmengen eines Ultraschall Computertomographen DIPLOMARBEIT fiir die Priifung zum Diplom Informatiker Berufsakademie der Fachrichtung Angewandte Informatik an der Berufsakademie Mannheim von Torsten Hopp September 2006 Bearbeitungszeitraum 3 Monate Kurs TAIO3AIM Ausbildungsfirma Forschungszentrum Karlsruhe GmbH Karlsruhe Gutachter der Ausbildungsfirma Dipl Inform Gregor Schwarzenberg Gutachter der Studienakademie J rgen Schultheis Forschungszentrum Karlsruhe Institut fiir Prozessdatenverarbeitung und Elektronik Erstellung einer Benutzeroberflache zur Exploration und Analyse gro er Datenmengen eines Ultraschall Computertomographen Torsten Hopp 22 September 2006 Ehrenwortliche Erklarung Karlsruhe 22 September 2006 Hiermit versichere ich dass ich die vorliegende Diplomarbeit selbstst ndig ver fasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe Eigenh ndige Unterschrift des Verfassers Danksagung Ein besonderer Dank gilt meinem Erstbetreuer Gregor Schwarzenberg fiir die stets hilfreiche Unterst tzung die unz hligen Erl uterungen bei MATLAB Problemen und das Aufzeigen von Verbesserungsm glichkeiten f r die Diplomar beit vielen Dank f r eine vorbildliche Betreuung Des Weiteren m chte ich mich bei Herrn J rgen Schultheis f r die bernahme der Zweitbetreuung sowie d
43. Bild zusammenge fasst werden k nnen Der Vorteil dieses Verfahrens ist die gute Bildqualit t womit Tumore schon ab einem sehr geringen Durchmesser von etwa 3 mm erkannt werden k nnen Allerdings sind MRT Untersuchungen sehr teuer und haben eine niedrige Spezitivit t weshalb sie nicht als Standardinstru ment in der Brustkrebsfr herkennung zu beurteilen sind Wik06al 1 EINLEITUNG Sonographie Mit Sonographie wird die Anwendung von Ultraschall als bildge bendes Verfahren bezeichnet Untersuchungen zur Brustkrebsvorsorge wer den mit einem Ultraschallkopf durchgefiihrt der in das Gewebe einstrahlt Meist erfolgt eine Ultraschalluntersuchung erst nach Hinweisen auf ver n dertes Gewebe durch andere Verfahren Der Vorteil der Sonographie ist dass f r die Patientin keine Strahlenbelastung entsteht Wik06c 1 2 3D Ultraschall Computertomographie Am Institut f r Prozessdatenverarbeitung und Elektronik IPE des Forschungs zentrums Karlsruhe FZK wird mit der 3D Ultraschall Computertomographie ein neues bildgebendes Verfahren zur Brustkrebsfr herkennung entwickelt das echt dreidimensionale Volumenbilder in wesentlich besserer Bildqualit t als kon ventionelle Ultraschall Verfahren erm glichen soll Durch die Verwendung von Ul traschall entsteht f r die Patientin keine Belastung durch ionisierende Strahlung Durch die dreidimensionale Abbildung wird eine Erkennung und Lokalisierung eines Tumors verbessert Die 3D Ultraschall C
44. Darstellung des USCT 7 Auswahlliste f r beliebige Sender Empf nger Kom binationen 5 Optionen f r die 2D Dar stellung I Use SRC List Abbildung 6 9 USCT Oberfl che 2D Modell an die entsprechende Stelle gedreht Ebenfalls ber zwei Schaltfl chen und eine Editbox kann der dargestellte Senderlayer ver ndert werden Mit dem File Generator 6 k nnen Parameterdateien f r andere Program me erzeugt werden Die Art der zu erstellenden Datei kann ber das Drop Down Men ausgew hlt werden Die Generierung und Abspeicherung erfolgt durch Be t tigen der Speichern Schaltfl che die mit einem Diskettensymbol versehen ist 54 6 UMSETZUNG Bei mehreren ausgew hlten Sendern und Empf ngern im 3D Modell bzw den A Scan Auswahllisten werden automatisch alle m glichen Sender Empf nger Kombinationen generiert M chte der Benutzer jedoch mehreren Sendern jeweils andere Empf nger zuordnen wird in der USCT Oberfl che ein zus tzliches Be dienelement in Form eines Listenfeldes ben tigt 7 Eine markierte Kombination im USCT Modell oder den A Scan Listenfeldern kann ber den add Button in die Liste bernommen werden Mit den im Kontextmen verf gbaren Befehlen k nnen einzelne mehrere oder alle Elemente aus der Liste entfernt werden Ei ne Checkbox dient dem Umschalten des Eingabeobjektes von den Auswahllisten in der A Scan Oberfl che auf die Liste in der USCT Oberfl che Das aktuelle Eingabeob
45. EN Empf nger Sender Abbildung 4 1 Prinzip der Ultraschall Computertomographie Brust herum angeordnet wodurch entsprechend viele Informationen von allen Seiten gesammelt werden k nnen 4 1 2 Physikalischer und technischer Aufbau Der Ultraschall Computertomograph Abbildung 4 2 besteht aus einem Metall zylinder der mit dem verwendeten Koppelmedium Wasser gef llt ist Der Durch messer betr gt ca 20 cm die H he etwa 23 cm Ringf rmig sind an der Innenwand des Zylinders in drei Ebenen sogenannte Transducer Array Systeme TAS mehrere in einem Bauelement untergebrachte Ultraschallwandler angebracht Jede Ebene auch als TAS Ring bezeichnet besitzt 16 TAS wodurch sich ein Abstand zwischen zwei TAS von 3 22 5 ergibt Insgesamt besitzt der USCT 16 3 48 TAS Der mittlere TAS Ring ist aus bautechnischen Gr nden um 11 25 versetzt Abbildung 4 2 Der Ultraschall Computertomograph Der mittlere Ring ist mit Transducer Array Systemen best ckt 12 4 GRUNDLAGEN Jedes TAS Abbildung 4 3 besitzt 8 bereinander angeordnete Sendeelemente mit einem vertikalen Abstand von 6 mm Umgeben ist ein Sender von jeweils 4 Empfangselementen die sich zu einer Gesamtzahl von 32 pro TAS addieren Der horizontale wie auch der vertikale Abstand zwischen einem Sende und einem Empfangselement betr gt 1 5 mm Multipliziert mit der Anzahl der TAS ergibt sich eine Gesamtzahl von 384 Sendern und 1536 Empf ngern E
46. MATLAB Funktion ind2rgb bergeben werden die daraus ein RGB Bild erzeugt welches mit oben beschriebener Funktion abgespeichert werden kann Die Schnittstelle f r Bildvereinigungsfunktionen basiert auf dem mittlerweile bekannten Konzept des Auslesens eines Ordners in dem die Funktionen abge legt sind Dies geschieht beim Start der Oberfl che gefolgt vom Schreiben der Funktionsnamen in das Drop Down Men Eine Auswahl in diesem setzt eine Variable mit dem Namen der Funktion ber den Button Calculate wird eben diese Funktion aufgerufen Bildvereinigungsfunktionen erhalten als Parameter die Volumen bzw Schichtbilddaten der beiden geladenen Bilder Als R ckgabewert ist es f r den Programmierer Vorschrift ein zwei bzw dreidimensionales Datenarray zu lie fern das anschlie end wie ein geladenes Bild in der Oberfl che behandelt werden kann Weitere Vorgaben werden bei dieser Schnittstelle nicht gemacht Der Pro grammierer hat hier freie Hand in der Implementierung muss also beispielsweise auch Fehlerbehandlungen selbst vornehmen Bei den Bildbearbeitungen wird eine Funktion zum Einstellen der Helligkeit des Bildes angeboten Daf r wird die MATLAB Funktion brighten verwendet die lediglich die Colormap des indexierten Bildes anpasst und die Daten unver ndert l sst Mit der Bildlaufleiste rechts neben dem Drop Down Men kann der Wert der der Funktion bergeben wird ausgew hlt werden Diese erwartet Wer te zwischen 0
47. NZEPT UND DESIGN 5 5 1 Zugriff auf Bedienelemente Jede der drei Benutzeroberfl chen arbeitet mit einer Variablen mit der Bezeich nung handle die dem jeweiligen Fenster zugeordnet ist In ihr sind Referenzen auf alle Bedienelemente der Oberfl che gespeichert Zus tzlich k nnen in ihr Da ten gespeichert werden die ber die jeweiligen Callback Funktionsgrenzen hinweg verf gbar sein sollen Jede Callback Funktion bekommt die Handles Variable als Parameter bergeben F r den Zugriff auf die Bedienelemente werden prim r die Referenzen der Handles Variable verwendet da die Interaktion zwischen den Bedienelementen gr tenteils innerhalb einer Oberfl che stattfindet MATLAB bietet zudem mit den globalen Variablen siehe Abschnitt 4 2 1 eine M glichkeit von verschiedenen Funktionen aus auf gemeinsame Datenberei che zuzugreifen Interaktionen zwischen den Teilbereichen der Benutzeroberfl che werden daher ber globale Variablen geregelt Jede Oberfl che erh lt eine solche und ist somit aus allen Bereichen der Software ver nderbar Die Referenzen auf die Bedienelemente werden nach Erzeugung der GUI an die globale Variable bergeben 5 5 2 Datenzugriff Der Zugriff auf Daten erfolgt analog zum Zugriff auf die Bedienelemente sowohl ber die Handles Variable als auch ber die globalen Variablen Oberfl cheninter ne Informationen werden zwischen den Subfunktionen ber die Handles Variable ausgetauscht Der Datenzugriff
48. ONZEPT UND DESIGN Eine hybride Version der bisher vorgestellten Konzepte ist in Abbildung 5 3 zu sehen Da A Scans sowohl mit der USCT Visualisierung als auch mit rekon struierten Bildern zusammenh ngen wird die Oberfl che zweiteilig erstellt Dabei bleibt der A Scan Bereich st ndig sichtbar im zweiten Bereich kann zwischen der USCT Visualisierung und den rekonstruierten Bildern gewechselt werden Vorteil dieser Oberfl che ist das Ausblenden von nicht gew nschten Infor mationen wodurch eine bessere bersichtlichkeit erreicht wird Indes spricht die nicht vorhandene M glichkeit der gleichzeitigen Informationserfassung von USCT und Bilderbereich gegen diese Variante Ebenso ist die Machbarkeit auf grund der nicht vorhandenen Bedienelemente und der daraus resultierenden Not wendigkeit einer Emulation hnlich fraglich zu bewerten wie im vorherigen Vor schlag Durch eine dreiteilige Benutzeroberfl che wie sie in Abbildung 5 4 dargestellt wird kann eine hnliche Darbietung der Informationen wie in der ersten vor gestellten Variante erreicht werden Dar ber hinaus bietet sich dem Benutzer jedoch die M glichkeit nicht ben tigte Teilbereiche zu schlie en bzw in die Tas kleiste zu minimieren Erreicht wird dies durch den Aufbau dreier eigenst ndiger Benutzeroberfl chen die dennoch miteinander interagieren k nnen Abbildung 5 4 Konzept einer dreiteiligen Benutzeroberfl che mit eigenst ndigen Fenster
49. Scan Listenfelder oder beliebige Sender Empf nger Kombinationen Anschlie end werden die A Scans zu den entsprechenden Sendern und Emp f ngern geladen und in Matrizen geschrieben die darauf folgend durchlaufen werden F r jeden A Scan wird wie in 6 4 2 beschrieben auf das Intervall zu r ckgerechnet das zum Aufbau der markierten Bildregion beigetragen hat In diesem wird anschlie end die maximale Amplitude bestimmt Das Ergebnis wird 71 6 UMSETZUNG zusammen mit den Sender und Empf nger Nummern in einer neuen Matrix ge speichert maxAmplitude SL SN RL RN Tabelle 6 2 Datenstruktur bei der Speicherung der maximalen Amplituden eines Bereichs im A Scan Anschlie end wird eine Sortierung nach der ersten Spalte vollzogen ber den Parameter inputParams numberCalculated wird festgelegt wie vie le der berechneten Sender Empf nger Kombinationen angezeigt werden sollen Aus den Datens tzen mit den h chsten Amplituden wird der String mit den Sender Empf nger Kombinationen f r das Listenfeld generiert und die UserData Variable aktualisiert Da eine Berechnung in Abh ngigkeit von der Anzahl der ausgew hlten Sender Empf nger Kombinationen als Eingabedaten einige Zeit in Anspruch nehmen kann wird dem Benutzer eine Fortschrittsanzeige eingeblendet 6 4 4 Berechnung von Rekonstruktionsellipsen Den entgegengesetzten Weg zur Zur ckrechnung auf A Scanbereiche geht die Funktion ca
50. Spalte als Sender Receiver markieren e Deselektieren eines Elements aller Elemente eines Layers oder einer Spalte Die mit den Kontextmen Eintr gen verbundenen Funktionen arbeiten nach einem nahezu identischen Prinzip Zun chst werden anhand der erhaltenen Re ferenz des angeklickten Voxels die damit gespeicherten Daten wie Senderlayer Sendernummer usw ausgelesen Anschlie end kann ber die Referenz und den set Befehl die Farbe des Voxels ge ndert werden Schlie lich aktualisiert die Funk tion die zentrale Datenhaltung Die zuletzt genannten Funktionalit ten Einf rben des Voxels und Aktualisie ren der Datenhaltung sind in eine eigenst ndige Funktion ausgelagert so dass ein Aufruf nach der Auswahl einer Sender Empf nger Kombination in der A Scan Oberfl che m glich ist wodurch die 3D Darstellung aktualisiert wird Umgekehrt aktualisiert die durch das Voxel Kontextmen geladene Funktion die Markierun gen in den Listenfeldern der A Scan Oberfl che Damit ist eine konsistente Sicht auf die beiden Bedienelemente geschaffen 56 6 UMSETZUNG set as sender set as receiver set layer as gt set angle as gt 3D Control deselect gt SS ele View Sender Layer 8 15 Rotate 3D Abbildung 6 10 3D Modell des USCT mit markierten Elementen als Sender rot Empf nger gr n Sender und Empf nger gelb sowie das auf die Elemente definierte Kontextmen Beim realen Ult
51. TLAB 7 3 Produktbeschreibung http www mathworks de products matlab descriptioni html 2006 Online Stand 11 September 2006 WIKIPEDIA Magnetresonanztomographie Wikipedia Die freie Enzyklop die http de wikipedia org wiki Magnetresonanztomographie 2006 Online Stand 11 September 2006 WIKIPEDIA Mammographie Wikipedia Die freie Enzyklop die http de wikipedia org wiki Mammografie 2006 Online Stand 11 September 2006 WIKIPEDIA Sonographie Wikipedia Die freie Enzyklop die http de wikipedia org wiki Sonographie 2006 Online Stand 11 September 2006 W RFEL Jan U Dreidimensionale Ultraschalltomographie Machbarkeitsstudie und Aufbau eines Prototyps Institut f r Experimentelle Kernphysik IEKP Universit t Karlsruhe Hauptabteilung Prozessdatenverarbeitung und Elektronik HPE For schungszentrum Karlsruhe Diplomarbeit Dezember 2000 90 Abkurzungsverzeichnis LS Mikrosekunden 2D zweidimensional 3D dreidimensional A Scan Amplituden Scan ASCII American Standard Code for Information Interchange CTR Control Board DLL Dynamic Linked Library FLT First Level Triggerboard FZK Forschungszentrum Karlsruhe GB Gigabyte GUI Graphical User Interface GUIDE Graphical User Interface Development Environment HTML Hypertext Markup Language IPE Institut fiir Prozessdatenverarbeitung und Elektronik JPEG Joint Photographic Experts Group LCD Liquid Crystal Display m Meter
52. TLAB als indexierte Bilder dargestellt werden kann die Colormap d h eine Lookup Tabelle bei der jedem Zahlenwert des Bildes eine Farbe zugeordnet ist ver ndert werden Zur Auswahl stehen im zugeh rigen Drop Down Men 70 die von MATLAB vorgegebenen Colormaps Daten logarithmisch anzeigen ber Show Data 71 kann ausgew hlt wer den ob die Intensit tswerte des Bildes normal oder logarithmisch angezeigt werden A 5 5 Bereichsauswahl Mit dem Auswahl Werkzeug 59 kann ein Bereich im Bild markiert werden Auf ihn k nnen nun weitere Funktionen angewendet werden siehe A 5 6 Gleichzeitig wird die Auswahl im 3D Modell des Ultraschall Computer Tomographen in der USCT Benutzeroberfl che dargestellt und je nach Auswahl der Checkbox Calc 109 A BENUTZERHANDBUCH A Scan 58 zum entsprechenden Bereich im A Scan zur ckgerechnet Damit wird ersichtlich aus welchen Daten sich die Auswahl zusammensetzt Zu beachten ist dass das rekonstruierte Bild mit dem ausgew hlten Experi ment bereinstimmen sollte da nur so eine Zuordnung erfolgen kann A 5 6 Funktionen und Berechnungen auf Selektionen Auf der Bereichsauswahl k nnen zus tzlich beliebige Funktionen ausgef hrt wer den Die verf gbaren Funktionen stehen im Drop Down Men 74 unter Apply Functions zur Auswahl Durch einen Klick auf Apply 76 wird die ausgew hlte Funktion ausgef hrt Durch Aktivierung der Checkbox Params 75 k nnen
53. ammable left mouse button speeds up and simiplifies the act of selecting sender or receiver elements For the expandabili ty of the software a new interface concept is created Despite of its numerous functions the graphical user interface of the software is clearly arranged The new graphical representation of the available information and the connec tion between different views on the USCT provides completely new possibilities to gather the coherences easy and fast IX Inhaltsverzeichnis 1 Einleitung 1 1 Brustkrebsfr herkennung 1 2 3D Ultraschall Computertomographie 1 3 Motivation 2 Aufgabenstellung 2 1 2 2 Funktionale Anforderungen Allgemeine Anforderungen 3 Verfahren und Methoden 3 1 3 2 3 3 Hardware Betriebssystem Software 4 Grundlagen 4 1 3D Ultraschall Computertomographie 4 1 1 Prinzip der Ultraschall Computertomographie 4 1 2 Physikalischer und technischer Aufbau 4 2 4 3 4 1 3 Datenaufnahme 4 1 4 Bildrekonstruktion MATLAB 4 2 1 Programmierung in MATLAB 4 2 2 GUIGestaltung mit MATLAB 4 2 3 Vor und Nachteile GUL Design 4 4 vee 4 5 Konzept und Design 5 1 5 2 9 3 9 4 Wahl der MATLAB Version GUI Konzept Plugin und Schnittstellen Konzept e 9 3 1 Eigenst ndige Plugins 5 3 2 Plugins mit Parameter bergabe
54. ann ber die Checkbox Use Region ausgew hlt werden ob ei ne Transformation als Arbeitsdaten lediglich den gew hlten Ausschnitt aus den A Scan Daten erh lt Dabei werden die Arrayelemente zwischen den im A Scan Anzeigefeld gew hlten Grenzen aus dem A Scan herausgegriffen und als berga beparameter an die Transformationsfunktion gespeichert Die A Scan Oberflache wurde aufgrund ihrer Wichtigkeit f r die Software zur Unterbringung des Dialoges f r benutzerdefinierte Einstellungen genutzt ber die Men leiste kann die Funktion preferencesGUI aufgerufen werden Abbil dung 6 8 Diese liest die Werte aus der Datei userPreferences mat im Unter ordner preferences aus und stellt dem Benutzer den Inhalt grafisch dar Unter anderem kann hiermit das aktuelle Experimentverzeichnis ausgew hlt werden Benutzt wird hierf r die vom MATLAB File Exchange genommene Funktion ui getfolder von Neil Rutland um die grafische Auswahl eines Verzeichnisses zu erm glichen SE Caperiment folder WWISCT Dan ea j Chase econstructed Image Variable Names ISET View N wreuuse Dolma D Vom Sender Layer 15 DI gt 2 4 DS Ipse Hecomstruction Des Lbtre View C Trarapmency Sum lege Abbildung 6 8 Oberfl che zur nderung der benutzerdefinierten Einstellungen Durch Bet tigen des OK Buttons setzt die Funktion die globalen Variablen neu und speichert die Einstellungen zur ck in die Datei userPreferenc
55. anzSN im USCT derzeit 96 Receiverebenen anzRL derzeit 48 und Receiverelemente anzRN derzeit 192 MR05 Bei den Divisionen handelt es sich um ganzzahlige Divisionen Die Bitposition n beginnt bei 1 Andromeda startet eine Messung durch Eingabe des Befehls scan Es wer den nun die beschriebenen Dateien eingelesen und die Messung initiiert Nach dem aufgezeigten hardwareseitigen Messverlauf wird ein Datenarray mit 3000 Elementen pro Sample ein Element zur ckgeliefert das als A Scan bezeichnet wird Arrayelement n enth lt die gemessene Amplitude zum Aufnahmezeitpunkt t n 0 0000001 s Die empfangenen Daten werden auf der Festplatte in dem vor Beginn der Messung angegebenen Ordner abgelegt Bei der Verarbeitung wird von Andro meda bereits das Matlab Datenformat erzeugt F r die Speicherung der Rohdaten stehen drei unterschiedliche Datenstrukturen zur Verf gung Single Modus Im Single Modus wird jeder A Scan in einer eigenen Matlab Datei gespeichert Als Variablenname innerhalb der Datei wird AScan verwendet Die Dateien werden in den Unterordnern f r Senderebenen Sen deelemente und Receiverebenen abgelegt Abbildung 4 6 Der Dateiname setzt sich analog zu den Ordnernamen aus receiverNumber_ und der Nummer des Receiverelements in vierstelliger Notation mit f hrenden Nul len zusammen B expName E O layerSender_o000 E 5 senderNumber_0000 D layerReceiver_0000 O layerReceiver_0001 OD layerReceiver_0002
56. atischen Generieren einer Dokumentation als HTML Seiten aus m Dateien heraus Quelle MATLAB File Exchange http www mathworks com matlabcentral fileexchange Stand 12 09 2006 78 6 UMSETZUNG rufenden Funktionen Des Weiteren wird ein berblick ber die Subfunktionen geboten Die Zusammenh nge zwischen den Dateien werden zus tzlich in einem erstell ten Diagramm aufgezeigt welches im Anhang C zu finden ist Eine Hilfestellung f r die Programmierung eigener Plugins bieten die erstellten Vorlagen die dem Entwickler die Struktur der jeweiligen Schnittstelle vorgeben und in die er seinen Quelltext einf gen kann 79 Kapitel 7 Ergebnisse Erstellt wurde im Rahmen der Diplomarbeit die im Detail beschriebene Software die den Namen DiagTool erh lt Die folgenden funktionalen Anforderungen aus Kapitel 2 wurden dabei umgesetzt Die zuvor sehr aufwendige Anzeige der Rohdaten kann anhand der Oberfl che f r A Scans stark vereinfacht werden Das Laden und Plotten der A Scans wird unter der Angabe des Experimentverzeichnisses sowie des Senderlayers der Sendernummer des Empf ngerlayers und der Empf ngernummer ber grafische Bedienelemente erm glicht F r die Anpassbarkeit an Neuerungen im Datenfor mat ist die Funktion modular austauschbar gestaltet Einen schnelleren ber blick ber mehrere A Scans sowie eine Vergleichsm glichkeit zwischen A Scans verschiedener Sender Empf nger Kombinationen bietet die ge
57. auch bei der Datenaufnahme gibt es eine Vielzahl von Einflussm glichkeiten und Parameter die optimiert werden m ssen um die gew nschte Bildqualit t zu erreichen In der derzeitigen Entwicklungs phase analysieren die Wissenschaftler der Arbeitsgruppe USCT die auftretenden Fehler und suchen m gliche Ursachen die dann schlie lich Hinweise auf Verbes serungsm glichkeiten der unterschiedlichen Komponenten des Systems liefern Ein gro er Nachteil dabei ist dass viele einzeln vorhandene Programme und Skripte meist nur als Konsolenanwendungen entwickelt werden da der Aufwand f r die Gestaltung einer eigenen Benutzeroberfl che recht aufwendig ist Oft er halten diese eine Vielzahl unterschiedlicher Parameter wodurch die Benutzung f r andere Personen erschwert wird Die sehr gro e Komplexit t des Gesamtsy stems tr gt zum erschwerten Verst ndnis der Software bei Eine zeitaufwendige Einarbeitung ist daher erforderlich Die Exploration der gro en Datenmengen wird derzeit manuell ausgef hrt so dass Datens tze einzeln ge ffnet werden m ssen und die Anzeige der Daten erst nach Eingabe einer Befehlsfolge m glich ist Die gezielte Auswahl von Datens t zen erfordert einen hohen zeitlichen Aufwand Die derzeitige Sichtweise erlaubt lediglich den Blick auf das Ergebnis einer Messung und das fertig rekonstruierte Bild Der zwischen diesen beiden Enden der Verarbeitungskette befindliche Bereich kann im Nachhinein nur noch schwer und unter h
58. ber die Oberfl chengrenzen hinweg erfolgt ber das Anh ngen an das Struct der jeweiligen globalen Variable der Oberfl che Im Speziellen gibt es einige wichtige Informationen deren Datenhaltung hier n her erl utert werden soll Markierte Sender und Empf nger Informationen ber markierte Sender und Empf nger werden zentral in der globalen Variable der USCT Oberfl che gespeichert Sie werden durch Matrizen folgender Form beschrie ben Zut rr T124 Sender e 5 1 96 1 rr 96 24 wobei die Anzahl der Spalten der Anzahl der Senderlayer und die Anzahl der Zeilen der Anzahl der Sendernummern entspricht T1 7 T148 Emp faenger Tay 5 2 192 1 rr T192 48 39 5 KONZEPT UND DESIGN wobei die Anzahl der Spalten der Anzahl der Empf ngerlayer und die An zahl der Zeilen der Anzahl der Empf ngernummern entspricht Ist Sendernummer i aus Senderlayer j bzw Empf ngernummer i aus Emp f ngerlayer j markiert so wird in der jeweiligen Matrix an der Stelle x eine 1 eingetragen andernfalls eine 0 Es werden Sparse Matrizen verwen det um den Speicherbedarf zu minimieren Angezeigter A Scan Die Daten des aktuell angezeigten A Scans werden in ei ner 1 x 3000 Matrix abgelegt so dass jedes Element einem Samplepunkt entspricht Die Matrix ist durch die Speicherung in der globalen Variable der A Scan Oberfl che von allen Bereichen zug nglich Analog ist die Num mer des entsprechenden Senderlayers Sendeelements
59. chr nkt werden k nnen Die Selektion erfolgt mit dem MATLAB Befehl values ginput 2 Dieser liefert zwei Punkte jeweils mit x und y Koordinate in der aktuellen Skalierung der Achsen D h bei einem A Scan der auf der x Achse 3000 Sample punkte auftr gt liefert diese Auswahl x Werte zwischen 1 und 3000 Anhand der x Koordinate wird im vorliegenden Fall ein Bereich eingeschr nkt Eine ber pr fung der Markierungsreihenfolge findet statt indem ein Vergleich der beiden Werte durchgef hrt und diese gegebenenfalls getauscht werden so dass die erste Komponente einer Markierung immer niedriger ist als die zweite Die Markie rung wird in der globalen Variable der A Scan Oberfl che gespeichert Zur Vi sualierung werden zwei Linien an den entsprechenden Stellen in den A Scan Plot eingezeichnet Abbildung 6 3 ee a se we MM AD awo wi Abbildung 6 3 Auswahl eines Bereichs in einem A Scan mit der Funktion ginput In griin werden die Grenzen der Markierung eingezeichnet Die Callback Funktion der Lupen Schaltfl che ffnet ein neues Fenster Abbil dung 6 4 in dem ein gegen ber der A Scan Oberfl che vergr ertes Axes Objekt das Plotten der Daten bernimmt Dem Fenster werden mit einer globalen Varia blen die Daten des aktuell in der A Scan Oberfl che angezeigten A Scans ber geben Zus tzlich erh lt es die zugeh rige Sender Empf nger Kombination die dann in Textfeldern angezeigt wird Auf das
60. chtigen dass auch bei nur einem ausgew hlten Receiver das ganze Element gr n gezeichnet wird Ansicht drehen ber die beiden Pfeile Rotate 35 36 kann die 3D Ansicht nach links und rechts gedreht werden um die evtl hinter anderen versteck ten Elemente sichtbar zu machen 3D Rotation Der Toggle Button Rotate 3D 38 erm glicht im aktivierten Zustand das freie Drehen und Neigen der 3D Ansicht Hierf r kann mit der Maus in das Feld der 3D Ansicht geklickt und mit der gedr ckten linken Maustaste und gleichzeitigem Bewegen die Ansicht rotiert werden Angezeigte Layer ausw hlen Uber das Drop Down Men View 37 kann ausgew hlt werden welche Layer im 3D Modell angezeigt werden sollen Dabei bieten sich die Optionen den oberen Ring Sender Layer 0 7 den mittleren Ring Sender Layer 8 15 den unteren Ring Sender Layer 16 23 oder den gesamten USCT anzuzeigen Nach Start der Software wird die Standardeinstellung verwendet die in den benutzerdefinierten Einstellun gen siehe A 3 1 ver ndert werden kann Sendeelement selektieren Durch einen Rechtsklick auf ein Element ffnet sich ein Kontextmen in dem durch set as sender das jeweilige Element als Sender markiert werden kann Es wird zur Kennzeichnung rot eingef rbt Eine weitere M glichkeit ist es ganze Layer auszuw hlen durch set layer as gt senders sowie eine ganze Spalte als Sender zu markieren durch set angle as gt sende
61. d 97 A BENUTZERHANDBUCH le 28 GD OOO Io deere bleeds oor Abbildung A 3 A Scan Oberfl che nach dem Start der Software addiert mit Transparency wird sie als halbtransparentes Overlay in das Bild gezeichnet Zu beachten ist dass die Transparenz Open GL ben tigt 98 A BENUTZERHANDBUCH A 3 2 A Scans ausw hlen laden und anzeigen Zum Laden von A Scans ist der obere Bereich der Benutzeroberfl che A Scan vorhanden Die Auswahl eines bestimmten A Scans erfolgt anhand der vier Li stenfelder SL f r Sender Layer 12 SN f r Sender Number 13 RL f r Receiver Layer 14 und RN Receiver Number 15 im Feld TAS Einzel ne Zeilen k nnen per einfachem Mausklick markiert werden mit dem Halten der Shift Strg Taste bzw dem Ziehen mit der Maus k nnen mehrere Elemente gleichzeitig ausgew hlt werden Anzeigen Mit dem Button Show AScan s 19 werden entsprechend der Aus wahl die A Scans in den Speicher geladen Dies geschieht unabh ngig von der im Experiment verwendeten Datenstruktur Wurde lediglich ein einzelner A Scan markiert so wird dieser in das A Scan Anzeigefeld 7 geplottet Wurden dagegen mehrere Kombinationen von Sendern und Empf ngern in den Listenfeldern markiert so werden alle zugeh rigen A Scans in einem neuen Popup Fenster geplottet Siehe hierf r auch A 3 4 Statusinformationen Im Unterpunkt Loader 4 des Statusfeldes werden ent
62. das in einem Unterpunkt den Befehl Save Data as als Auswahlm glichkeit bie tet Die zugeh rige Callback Funktion ffnet einen Dialog in dem ber Radio buttons ausgew hlt werden kann ob alle oder der einzelne A Scan gespeichert werden soll Im zweiten Fall werden die Daten in eine Datei mit ausw hlbarem Namen exportiert im ersten Fall erfolgt eine Art Stapel Abspeicherung bei der die Sender Empf nger Nummern zur Namensgenerierung der Dateien dienen Demo eines Fensters zum Plotten mehrerer Datens tze das mit einer Bildlaufleiste ver sehen ist Quelle MATLAB File Exchange http www mathworks com matlabcentral fileexchange Stand 28 08 2006 45 6 UMSETZUNG F r die Auswahllisten zur Sender und Empf ngerauswahl k nnen verschie dene zus tzliche Optionen gew hlt werden Quick View Die Quick View Option erm glicht es A Scans sofort nach der Auswahl in den Listenfeldern zu laden und anzuzeigen Ein Dr cken des Laden Buttons entf llt und bietet so eine M glichkeit schneller durch Datens tze zu navigieren Die Funktion kann ber eine Checkbox akti viert bzw deaktiviert werden Dahinter verbirgt sich ein Flag das bei der Aktivierung gesetzt wird In den Callback Funktionen der Listenfelder wird dann die loadAndShow Funktion aufgerufen die auch der Load A Scan s Button benutzt Zus tzlich wird die zentrale Datenhaltung sowie die 3D und 2D Darstellung aktualisiert Motorpositionen
63. den mat Datei gesucht wird um das darin enthaltene Label f r den Eintrag in das Men zu erhalten Die grundlegende Funktion der A Scan Oberfl che ist die Auswahl von A Scans aus dem aktuellen Experiment anhand eines ausgew hlten Senders und Empf ngers Diese erfolgt durch die Markierung einer oder mehrerer Zeilen aus den Listenfeldern In den zugeh rigen Callback Funktionen werden die Indizes der Markierung ausgelesen Anhand dieser kann im Inhalt des Listenfeldes der Wert an dieser Stelle ermittelt werden Die Information ber die Markierung wird jeweils in einer globalen Variable gespeichert Anschlie end werden die globalen Matrizen zur Speicherung der markierten Sender und Empf nger siehe 5 5 2 aktualisiert Die Schaltfl che Show AScan s berpr ft in ihrer Callback Funktion zu n chst wie viele Sender Empf nger Kombinationen in den Listenfeldern ausge w hlt sind und leitet entsprechend weitere Schritte ein Ist in jedem Listenfeld nur ein Element ausgew hlt wird die Subfunktion oadAndShowAScan aufgerufen die anhand der gespeicherten Information die Daten des A Scans zur derzeit ausgew hlten Sender Empf nger Kombination aus dem eingestellten Experimentverzeichnis l dt In der Funktion normalize wird der Offset des A Scans durch Subtrahieren des Mittelwertes entfernt und die Da ten in die Form eines Zeilenvektors umgewandelt Schlie lich plottet die Funktion die Daten in das Anzeigefeld und aktualisiert
64. der Oberfl che aber auch beim Benutzerhandbuch und der Dokumen tation ber cksichtigt werden Klare Gestaltung In eine hnliche Richtung geht das Prinzip der klaren Gestal tung Innerhalb einer Software sollte mit Begriffen konsistent umgegangen werden Gerade bei mehreren Entwicklern kommt es oft vor dass in einem Teil der Oberfl che bei ein und demselben Objekt von Image in einem an deren von Picture und einem dritten von Figure gesprochen wird Dies f hrt zu Unsicherheit beim Benutzer Des Weiteren sollten einige reservierte W rter und deren Bedeutung ber cksichtigt werden siehe Tabelle 4 1 Konsistent gestalten Neben den Texten soll auch die gesamte Oberfl che kon sistent im Verhalten gestaltet werden Dadurch wird sich der Benutzer schneller zurechtfinden Durch Ber cksichtigung von Bedieneigenschaften 27 4 GRUNDLAGEN nen Buchstaben an der aktuellen Einfiige position Text Bedeutung und Verhalten auf But in tons Men s OK eingegebene Daten akzeptieren best tigen ja nein angezeigter Daten anschlie end das Fen ster schlie en Cancel Angezeigte Daten nicht best tigen Fenster ja nein schlie en Close den aktuellen Prozess Dialog schlie en ja ja zur Applikation zur ckkehren Ansicht von Daten schlie en Exit Verlassen der Applikation nein ja Help Hilfesystem der Applikation aufrufen ja ja Save Speichern der Daten und im aktue
65. dware hat Hardwaresicht Eine Messung mit dem Ultraschall Computertomographen wird von Andromeda initiiert Im Datenakquisitionsrechner ist eine microEnable Karte eingebaut die Steuerbefehle von Andromeda an die zweite Hardwarestufe das USCT Crate weitergibt Dort kontrolliert das SLT Second Level Triggerboard s mtliche Abl ufe in nerhalb des Crates und des PBuses Protokoll Bus ber den Daten und Steu erbefehle bertragen werden Das Control Board CTR adressiert ber einen seriellen Bus die TAS und erzeugt das analoge Sendesignal Dieses an alle Sender gesendete Signal wird in den Distribution Boards einem Multiplexing unterzogen so dass der Anregungspuls f r die Ultraschallerzeugung nur an genau ein TAS bertragen wird Das nun ausgew hlte TAS sendet mit einem der acht Sendeelemente das Ultraschallsignal in den Messzylinder aus H Ze ki AA BE A Abbildung 4 5 berblick ber die Hardware des USCT f r die Datenaufnahme Gleichzeitig nehmen alle Empf nger das Signal auf wobei die Aufnahmedau er 3 us betr gt Die Signale werden zur ck an die Distribution Boards gesendet Aufgrund der hohen Empf nger Anzahl wird bereits in den TAS ein Multiple xing durchgef hrt so dass jeweils 4 Signale parallel weitergeleitet werden Bei insgesamt 32 Empf ngern pro TAS m ssen zum Auslesen s mtlicher Daten also 8 Messdurchg nge mit dem gleichen Sender durchgef hrt werden Die Distribution Boards sammeln die Da
66. e Wiir00 wird zurzeit an der Entwicklung des 3D Prototyps geforscht Im Folgenden soll das Prinzip der Ultraschall Computertomographie der Aufbau des Prototyps sowie die Verfahren zur Aufnahme und Rekonstruktion von Bildern n her erl utert werden 4 1 1 Prinzip der Ultraschall Computertomographie Das Prinzip der Ultraschall Computertomographie Abbildung 4 1 beruht auf dem Einstrahlen von Ultraschallwellen in einen wassergef llten Zylinder Nach dem ein Sendeelement einen Ultraschallimpuls ausgesendet hat gelbe Linien zeichnen alle Empfangselemente die durch den Zylinder gelaufene und mit dem Objekt interagierte Ultraschallwelle auf Befinden sich Objekte innerhalb des Messzylinders in der Abbildung der rote Punkt im Zentrum des Zylinders werden die Ultraschallwellen je nach Beschaf fenheit und Material des Objektes an ihm reflektiert absorbiert oder gebrochen schwarze Linien Die Auswertung der aufgenommenen Signale erm glicht die Rekonstruktion der Objekte Aufgrund der Informationen die aus allen Richtun gen gewonnen werden k nnen detaillierte dreidimensionale Bilder erzeugt wer den Bei der rztlichen Untersuchung umschlie t der USCT die Brust der liegenden Patientin vollst ndig Sie h ngt damit frei und ohne Deformation nach unten wo durch auff llige Strukturen auf den erzeugten Bildern in der tats chlichen Brust besser lokalisiert werden k nnen Die Ultraschallwandler sind um die gesamte 11 4 GRUNDLAG
67. e a new medical imaging system for early diagnosis of breast cancer is current ly delevoped The so called 3D Ultrasound Computer Tomography USCT is based on circa 2000 ultrasound transducers which are arranged in layers on a cylindrical tank filled with water For one image a huge amount of raw data of approximately 20 GB is recorded and stored to a hard disk A special software reconstructs a volume out of the raw data In the current phase of developement it is necessary for the scientists to get a overview on the data as easy as possible and to conceive a complete view on the whole system Until now they get only views on subareas of the USCT by the currently used software have to analyse data manually and have only few possibilities to visualize the computed data For this reason a new software called DiagTool is being developed within this diploma thesis It allows the USCT working group the integrated exploration analysis and visualization of the three main views on the USCT the raw data the reconstructed images and the coherence with the source of both the appearance of the USCT The software is implemented in MATLAB and consists of three graphical user interfaces according to the three views on the USCT which can be used indepen dent as well as associated to each other The user receives different possibilities for interaction as for example an interactive dynamically generated three dimen sional modell of the USCT A progr
68. eed 6 31 wobei minDist der k rzesten Distanz zwischen Sender ROI und Empf nger ent spricht max Dist der weitesten TimelInterval dem Zeitintervall zwischen zwei Abtastpunkten und sSpeed der Schallgeschwindigkeit Die beiden berechneten Grenzen werden in der A Scan Oberfl che als neue Se lektion gesetzt und in den geladenen A Scan eingezeichnet Anhand der Checkbox Calc A Scan in der Oberfl che f r rekonstruierte Bilder kann gew hlt werden ob die Zur ckrechnung automatisch bei einer neuen Markierung im Bild ange sto en wird In der Callback Funktion der Checkbox wird dabei ein Flag gesetzt welches bei der Auswahl einer Region im rekonstruierten Bild ber cksichtigt wird 6 4 3 Zu einer Bildmarkierung beitragende A Scans Diese Funktion berechnet anhand einer markierten ROI im Bild diejenigen A Scans die am meisten zum Aufbau dieser Region dienten Sie wurde als Funktion in der Schnittstelle f r Bildfunktionen implementiert Zur Ausgabe der Daten wird das Listenfeld f r beliebige Sender Empf nger Kombinationen verwendet Anhand dieser Funktion erh lt der Benutzer Informationen welche A Scans ma geblich zu einer Region im rekonstruierten Bild beigetragen haben Damit ist es beispielsweise m glich Aussagen ber die Herkunft von unbekannten Bildar tefakten zu treffen Zun chst holt sich die Funktion Informationen ber alle markierten Sender und Empf nger und ber cksichtigt dabei das ausgew hlte Eingabeobjekt A
69. eigen von Bildern oder generierten Zeichnungen Genaue Beschreibungen und ausf hrliche Funktionsreferenzen finden sich im Hilfesystem von MATLAB sowie in The02 4 2 3 Vor und Nachteile Ein gro er Vorteil von MATLAB ist die recht einfache M glichkeit der Imple mentierung und Visualisierung von mathematischen Problemen Die Software verf gt bereits ber einen gro en Funktionsumfang zur Datenanalyse so z B f r Interpolation Herausgreifen einzelner Datenabschnitte Skalierung Durch schnittswertberechnung Auffinden von Maxima usw Die Gestaltung von grafi schen Benutzeroberfl chen ist durch relativ wenig Aufwand m glich Des Weiteren ist die Plattformunabh ngigkeit des Matlab Codes ein gro er Vorteil der Programmiersprache In MATLAB implementierte Software kann auf allen Systemen mit einer MATLAB Installation ausgef hrt werden Trotz der Skript Sprachen Eigenschaft werden Berechnung in hnlicher Geschwindigkeit wie z B C Anwendungen ausgef hrt The06 Als Nachteil ist zu nennen dass Anwendungen lediglich durch die kommer zielle MATLAB Software ausgef hrt werden kann Frei verf gbare MATLAB Interpreter gibt es nicht Abhilfe kann hier der Matlab Compiler schaffen der 26 4 GRUNDLAGEN aus MATLAB Code C Code erzeugen kann Somit entf llt die Interpretation durch MATLAB Ein weiterer Nachteil ist die nur eingeschr nkt vorhandene Objektorientie rung In MATLAB erzeugter Code ist recht schwer wartbar
70. eilbereichen der grafischen Oberfl che wirken sich auch auf andere Teilbereiche aus N her genannt sei hier nur als Beispiel die Verbindung des USCT Modells mit der Auswahlm glichkeit f r A Scans 2 2 Allgemeine Anforderungen Die genannten funktionalen Anforderungen sollen in einer grafischen Benutzero berfl che zur Verf gung gestellt werden die einen berblick ber alle Teilbereiche des Ultraschall Computertomographen liefert sie stellt Verbindungen zwischen den bisher recht isoliert betrachteten Sichtweisen auf rekonstruierte Bilder Roh daten und physikalischen Aufbau her und integriert dabei vorhandene Funktionen in einer gemeinsamen grafischen Umgebung Dem Benutzer soll eine m glichst intuitive Bedienung geboten werden die es ihm erm glicht mit maximal vier Mausklicks die wichtigsten Funktionen zu erreichen Aufgrund der Internationalit t der USCT Abteilung ist die Benutze roberfl che mit englischen Texten zu versehen Ein wichtiger Punkt ist die Erweiterbarkeit der Software Wie in den funk tionalen Anforderungen beschrieben sollen eigene Funktionen in die Software eingebunden werden k nnen Dies erfolgt durch die Erstellung von Schnittstel lenspezifikationen deren Konventionen der Programmierer einhalten muss Da es sich bei der Entwicklungsumgebung MATLAB um eine Skriptsprache handelt die beispielsweise ein Package Konzept wie es aus Hochsprachen bekannt ist nicht besitzt ist es notwendig eine geeignete Strukturie
71. eine Funktion lediglich die 2D Daten des aktuell dargestellten Bildes erh lt Wert 2D oder ob sie den komplet ten 3D Datensatz bergeben bekommt Wert 3D Eine der Schnittstelle ent sprechende Funktion hat keinen R ckgabewert so dass sich der Programmierer mit der Visualisierung der Ergebnisse und der Fehlerbehandlung besch ftigen muss Zum ndern des Parameters inputParams wird wie bei den A Scan Transformationen die Funktion readInParameters verwendet 6 4 Oberfl chen bergreifende Funktionen 6 4 1 Markierung der Bildselektion im 3D USCT Die Position einer Selektion im rekonstruierten Bild wird zur besseren Orientie rung des Benutzers in das 3D Modell eingezeichnet Er kann nun erkennen aus 4Funktion rubberbandbox zur Auswahl eines Ausschnittes in einem Axes Objekt Quelle http www mathworks com matlabcentral fileexchange Stand 02 09 2006 68 6 UMSETZUNG welchem Bereich des realen USCT die ausgewahlte Region im Bild stammt und kann das Aussehen des Bildes mit seinem Wissen tiber die Charakteristik des USCT an dieser Stelle verkniipfen F r die Bestimmung der Position werden die Koordinaten der beiden Eck punkte der in einer globalen Variablen gespeicherten ROI links oben und rechts unten anhand der Informationen ber Aufl sung und Startpunkt des Bildes auf das USCT Koordinatensystem umgerechnet nach welchem auch das 3D Modell aufgebaut ist Bei der Berechnung muss die Schni
72. eiteren gibt es eine lineare Durchnummerierung f r Sender und Emp f nger Beginnend beim Element 0 aus Layer 0 steigt die Nummerierung gegen den Uhrzeigersinn an und wird beim Sprung zum n chsten Layer nicht zur ck gesetzt Daraus ergeben sich real addressierbare Sendeelemente ohne Ber ck sichtigung der Motorpositionen von 0 bis 383 und Empf ngerelemente von 0 bis 1535 Unter Hinzunahme von Motorpositionen ndert sich die Nummerierung auf Senderelemente von 0 bis 2303 und Empf ngerelemente von 0 bis 9215 Die r umlichen Positionen der Sender und Empf nger werden in einem karte sischen Koordinatensystem beschrieben dessen Ursprung im Zentrum des USCT an der Oberkante des obersten TAS Ringes liegt Abbildung 4 4 Die Koordi naten werden in den so genannten Geometrie Dateien jeweils f r Sender und Empf nger gespeichert Ca TAS 0 bei y 0 Abbildung 4 4 Lage des kartesischen Koordinatensystems Zur D mpfung der Ultraschallwellen an den W nden des USCT Zylinders wird eine D mpfungsschicht aus Polyurethan verwendet Dies erfordert eine leich te Verschiebung der TAS ins Innere des Zylinders wodurch sich der effektive Durchmesser auf ca 18 cm verringert 4 1 3 Datenaufnahme Die Datenaufnahme erfolgt ber die Datenakquisitionssoftware Andromeda ei ne in Java implementierte Benutzerschnittstelle hnlich einer Shell welche ber 14 4 GRUNDLAGEN Dynamic Linked Libraries DLL Zugriff auf die Har
73. ell in der Software eingestellten Experimentverzeichnis Dabei sollte 75 6 UMSETZUNG Gnmmety Fite Sander 7 veep em Mag tree besgepg Fie Bommen Once imate Wes lnm of enue J Yan Abbildung 6 21 Oberfl che der Funktion zur Visualisierung der Geometrie Dateien beachtet werden dass ein Transducer Check am sinnvollsten auf einer Leermes sung arbeitet d h ein Experiment bei dem sich au er Wasser kein Objekt im USCT Zylinder befindet Das Testverfahren summiert die zu einem Sender geh rigen Transmissions signale innerhalb der A Scans aller Empf nger bzw die zu einem Empf nger geh rigen Transmissionssignale aller Sender auf und bestimmt somit einen cha rakteristischen A Scan des jeweiligen Transducers In einer Visualisierungsfunktion die nach Abarbeitung des Transducer Checks ausgef hrt werden kann werden die maximalen Amplituden der charakteristi schen A Scans f r jeden Sender bzw Empf nger berechnet und als Farbwerte in einem Anzeigefeld dargestellt Die x Achse enstpricht dabei den Sende bzw Empfangslayern die y Achse stellt die Sende bzw Empfangsnummern dar Dar ber hinaus kann auf der Ergebnismenge eine Funktion zur Bestimmung des Signal Rausch Verh ltnisses angewendet werden ber die Abfrage eines Schwellwertes werden diejenigen Sender bzw Empf nger in einem Listenfeld auf gelistet die diesen Schwellwert nicht erreichen Das Ergebnis eines Transducerchecks kann im MATLAB Datenfo
74. emanforderungen 95 A 2 Installation und Starten der Software 95 A 3 A Scans ahs i cht t s Ge ewe HA a 96 A 3 1 Allgemeine Einstellungen 2 2 2 2220 96 A 3 2 A Scans ausw hlen laden und anzeigen 99 A 3 3 A Scan Funktionen 2 24 2 ss EEE AE RS 100 XII INHALTSVERZEICHNIS A 3 4 Mehrere A Scans anzeigen 2 2 222 101 A 3 5 Rekonstruktionsellipse berechnen 101 A 3 6 Transformationen a A eu see 102 DA SCHE te heet a ER ee bene des arg 102 AA DsAinsicht zes se ee de Fee 104 A 4 2 2D Ansicht oe Se EE 105 A 4 3 File Generator e Er ae FT eb a es 105 A 4 4 Beliebige Sender Empf nger Kombinationen 106 Ne NALES ee ee ee EES 106 A 5 1 Bilder laden und anzeigen 106 A 5 2 Volumenbild Funktionen 108 A 5 3 Bildvereinigungen a wesen Der ar De re Sg 109 A 5 4 Bildbearbeitungsfunktionen e 109 A 5 5 Bereichsauswahl 222 ER nee 109 A 5 6 Funktionen und Berechnungen auf Selektionen 110 Ap Erweiterung des Dias oos 110 A 6 1 Unabh ngige Funktionen in den Meniis 110 A 6 2 A Scan Transformationen 111 A 6 3 Bildvereinigungs Funktionen e 112 A 6 4 Allgemeine Bild Funktionen 113 NEEN on a 114 B Dateiformate 115 DI AvailableEmitters txt 22 22 Con onen 115 B 2 AvailableReceivers txt 222222 oo nennen 115 B 3 codedExeitation txt gt 22 onen 116 C Str
75. en m ssen Um eine einfachere Exploration Analyse und Visualisierung der Daten zu erm glichen wird im Rahmen der vorliegenden Diplomarbeit eine mit DiagTool betitelte Software mit grafischer Benutzerober fl che erstellt die die drei Sichtweisen auf die Ultraschall Computertomographie d h Rohdaten rekonstruierte Bilder und der Zusammenhang mit dem Entste hungsort im physikalischen USCT vereint Die in der Programmiersprache MATLAB implementierte Software besteht aus einer dreiteiligen Benutzeroberfl che deren Teilbereiche den Sichtweisen auf den USCT entsprechen Diese k nnen sowohl isoliert als auch miteinander ver kn pft gesehen werden Trotz des gro en Funktionsumfangs wurden die Ober fl chen durch die Verwendung von Men strukturen bersichtlich gehalten Der Benutzer erh lt vielf ltige Interaktionsm glichkeiten f r die Bedienung der Soft ware wie z B ein interaktives dynamisch generiertes 3D Modell ber eine pro grammierbare linke Maustaste ist eine starke Vereinfachung und Beschleunigung von Selektionen darin m glich Ein neuartiges Plugin Konzept gew hrleistet die beliebige Erweiterbarkeit der Software mit neuer Funktionalit t Die Software kann es erm glichen Zusammenh nge f r die USCT Arbeitsgruppe erstmalig in einer integrierten Benutzeroberfl che und damit sehr viel schneller zu erschlie en VII Abstract At the Institute for Data Processing and Electronics at Forschungszentrum Karls ruh
76. enakquisitionssoftware Andromeda f r die Durchf hrung einer Messung ben tigt In ihr stehen alle linearen Sendernummern die bei der Messung verwendet werden sollen Das Ausgabeformat ist eine txt Datei im ASCI Zeichensatz 105 A BENUTZERHANDBUCH AvailableReceiver AvailableReceiver ist das Pendant zur Datei AvailableEmit ter Sie beschreibt welche Receiverelemente fiir eine Messung eingesetzt werden A AA Beliebige Sender Empfanger Kombinationen Mit dem Listenfeld Custom Combinations 49 kann eine Liste beliebiger Sender Empfanger Kombinationen angelegt werden Hinzuf gen einer Sender Empf nger Kombination die aktuell markier te n Sender Empf nger Kombination en aus der 3D Ansicht und den A Scan Listenfeldern kann mit dem Button add 48 der Liste hinzugef gt werden Herausl schen einer Sender Empf nger Kombination Durch Markierung einer oder mehrerer Zeilen im Listenfeld 49 und anschlie endem Klick mit der rechten Maustaste ffnet sich ein Kontextmen in dem der Unterpunkt Remove from List ausgew hlt werden kann Ganze Liste l schen Die Liste l sst sich durch das Kontextmen der rechten Maustaste auch vollst ndig l schen Hierf r muss der Punkt Clear List ausgew hlt werden Liste verwenden Um die Liste zur Anzeige der jeweiligen A Scans und f r wei terf hrende Operationen zu benutzen kann die Checkbox Use SRC List 50 aktiviert werden AA Images Die
77. enen Funktionen in sehr kurzer Zeit erlaubt MATLAB als Programmiersprache erlaubte eine hohe Geschwindigkeit in der Entwicklung Die Gestaltung der Oberfl chen mit dem Graphical User Interface Development Environment erwies sich als sehr gutes Hilfsmittel Dar ber hinaus vereinfachte MATLAB durch die durchgehend vorhandene Verwendung von Ma trizen als Datenstrukturen die Entwicklung von Algorithmen und die Speicherung 85 8 DISKUSSION UND AUSBLICK der Daten der Software Als eines der gr ten Probleme in der Entwicklung der Software lies sich jedoch die Vielzahl von unterschiedlichen Datenstrukturen und Koordinatensy steme ausmachen Allein die Nummerierung der Sender und Empf nger l sst sich nach f nf unterschiedlichen Systemen vollziehen die jeweils f r andere Funktio nen ben tigt werden Das Mapping dazwischen erwies sich als recht aufwendig Eine weitere Schwierigkeit ergab sich aus der F lle der Funktionen die in die Software integriert werden sollten Diese erh ht sich nochmals durch die Allge meinhaltung so dass die Ein und Ausgaben von Funktionen ge ndert werden k nnen wie es beispielsweise bei der Anzeige von A Scans durch Auswahlen in zwei unterschiedlichen Listenfeldern ben tigt wurde Hindernisse gab es zus tz lich bez glich der nderbarkeit von Parametern bei denen sich schlie lich f r die aufwendige aber sehr benutzerfreundliche Variante der Eingabe ber dynamisch generierte Dialoge entschieden
78. er Arbeitsgruppe entwickelten Funktionen entweder auf den Rohdaten oder auf den rekonstruierten Bildern Die Auswahl von Teildatens tzen gestaltete sich aufgrund der notwendigen Angabe von bis zu acht Zahlenwerten recht schwierig ebenso wie das Herstellen von Verbindungen zur Rekonstrukti on oder bestimmten Bereichen in einem Volumen Generell war f r die Analyse der Daten ein betr chtliches Hintergrundwissen notwendig so beispielsweise die Geometrie des Ultraschall Computertomographen Durch den Einsatz der implementierten Software ergeben sich M glichkeiten die Zusammenh nge zwischen verschiedenen zur Bildqualit t beitragenden Fak toren schneller und unter weniger Aufwand zu erfassen Dies begr ndet sich vor allem in der Visualisierung von Informationen und Querverbindungen die f r den Benutzer eine enorme Erleichterung darstellen k nnen Die Visualisierung st tzt sich unter anderem auf einem interaktiven 3D Modell des USCT das aus beliebigen Geometrie Dateien dynamisch generiert wird Es kann somit auch f r zuk nftige geometrische Anordnungen der Sender und Empf nger Elemente be nutzt werden DiagTool bildet damit einen weiteren Schritt in der st ndigen Verbesserung des USCT Prototypen auf dem Weg zu einem marktreifen System Einer der wichtigsten Anforderungen war bei der Entwicklung der Software von Beginn an die Erweiterbarkeit Daf r wurde ein neuartiges Schnittstellen Konzept geschaffen das die Einbindung von vorhand
79. er Modus f r die Sender Empf nger Kombinationen 3D 2D e den Namen der verwendeten Leermessung e den Namen der Bitfield Datei 4 1 4 Bildrekonstruktion Bei der Ultraschall Computertomographie k nnen verschiedene Informationen ausgewertet und daraus Bilder rekonstruiert werden e Reflexionsbilder bei denen die Laufzeiten und Amplituden der Reflexionen ausgewertet werden e Absorptionsbilder bei denen die Abschw chung der Signale beim Durch laufen des USCT als Information genutzt werden e Schallgeschwindigkeitsbilder bei denen der Zeitpunkt des Eintreffens des ersten Pulses ber cksichtigt wird Aktuell wird beim Versuchsaufbau am IPE die Reflexionstomographie zur Erzeugung von Bildern verwendet Das Prinzip beruht auf der Zur ckrechnung der Laufzeiten der Signale auf zur ckgelegte Strecken Die Signallaufzeit t wird anhand des Sampleindexes und der Information ber die Samplerate berechnet Formel 4 6 1 N 4 SE Sampleindex 4 6 19 4 GRUNDLAGEN In Abhangigkeit von der Temperatur breitet sich Schall im Medium Wasser mit unterschiedlicher Geschwindigkeit aus Zur Bestimmung der Schallgeschwin digkeit v wird die Methode nach Marczak verwendet Nat04 Nun l sst sich sehr einfach die zur ckgelegte Strecke s des Signals berechnen s v t 4 7 Unter Annahme eines einzelnen Punktstreuers kann nun das an ihm reflek tierte und vom Empf nger erfasste Signal auf eine zur ckgelegte Wegstrecke um g
80. er Zur ckrechnung einer ausgew hlten ROI auf einen Samplebereich im A Scan wird die kiirzeste Distanz zwischen Sender ROI und Empfanger als untere Grenze der A Scan Selektion benutzt der weiteste Abstand als obere Grenze Zunachst werden wie bei der Markierung einer Bildselektion im 3D Modell des USCT die Eckpunkte der Selektion in das Koordinatensystem des USCT umgerechnet Anschlie end wird die minimale und maximale Entfernung vom aktuell ausgew hlten Sender und Empf nger zum Selektions Rechteck bestimmt Die maximale Entfernung befindet sich dabei immer an einer Ecke und kann daher 70 6 UMSETZUNG sehr einfach ber eine Maximum Funktion der Abst nde aller vier Eckpunkte der Selektion vom Sender und Empf nger bestimmt werden F r die minimale Entfernung wird dagegen wesentlich h herer Aufwand n tig da viele verschiedene F lle ber cksichtigt werden m ssen Gesucht wird da bei der minimale Ellipsoid mit den Positionen des Senders und Empf ngers als Brennpunkte der einen Quader genau in einem Punkt ber hrt Zur L sung des geometrischen Problems wird die Funktion calcMinDist verwendet die in der USCT Arbeitsgruppe f r andere Software bereits implementiert wurde Anhand des maximalen und minimalen Abstandes k nnen basierend auf fol genden Formeln die entsprechenden Samplepunkte im A Scan berechnet werden lower Limit minDist timeInterval sS peed 6 30 upper Limit max Dist timeInterval sS p
81. erechnet werden Betrachtet man alle m glichen Wege der L nge s die der Schall von Sender S1 zu Empf nger E1 zur cklegen konnte so ergibt sich eine Ellipse mit den Brennpunkten ST und E1 Abbildung 4 8 deren Linie die Menge aller m glichen Positionen des reflektierenden Objektes darstellt Abbildung 4 8 Sender S1 rot Empf nger E1 gr n und Wege s1 52 53 54 gleicher L nge blau F r jeden Empf nger l sst sich somit f r eine aufgezeichnete Reflexion an einem Samplepunkt des A Scans eine eigene Ellipse berechnen Der Punktstreu er befindet sich dann in dem Punkt in dem sich die Ellipsen aller Empf nger schneiden Abbildung 4 9 Bei den erfassten A Scans wird f r die Rekonstruktion eines Bildes jeder ein zelne Samplepunkt als Punktstreuer interpretiert und damit 3000 Ellipsen er rechnet Erweitert man nun das Prinzip auf alle vorhandenen Sender Empf nger Kombinationen und ber cksichtigt die gemessene Amplitude d h die St rke des empfangenen Signals an den jeweiligen Samplepunkten so werden sich die f r alle Samplepunkte erzeugten Ellipsen an Stellen an denen sich stark streuen de Objekte im USCT befanden zu starken Intensit ten aufsummieren Dieses Verfahren wird auch als R ckprojektion bezeichnet Im dreidimensionalen Raum spricht man anstatt der Ellipsen von Ellipsoiden 20 4 GRUNDLAGEN Messkreis Schnittpunkt der Ellipsen Empf nger Sender Abbildung 4 9 Rekonstrukt
82. es Weiteren bietet MATLAB einige vordefinierte Funktionen an die ein fache Dialoge ffnen und entsprechend der Dialogart Daten zur ckliefern Als Beispiel seien die h ufig verwendeten Fehler und Warndialoge die einfachen Best tigungs Dialoge sowie die Datei ffnen bzw Speichern unter Dialoge ge nannt Bedienelemente stehen dem Software Entwickler unter MATLAB 6 1 im Ver gleich zu anderen Programmierumgebungen in recht geringer Anzahl zur Verf gung 25 4 GRUNDLAGEN e Text Felder Anzeigen von statischem Text e Edit Boxes zum Einlesen und Ausgeben von Text e Frames Rahmen zur Untergliederung einer Benutzeroberfl che e Pushbuttons einfache Schaltflachen die mit Text oder Grafiken belegt werden k nnen e Togglebuttons einrastf hige Schaltfl chen e Checkboxes aktivier und deaktivierbare K stchen zur Auswahl mehrerer Optionen e Radio Buttons zur Auswahl exklusiver Optionen e Popup Menus auch als Drop Down Men s bezeichnet Platzsparende Ele mente zur Anzeige von Auswahllisten e List Boxes stellen eine Menge von Auswahlm glichkeiten dar aus denen der Benutzer eine oder mehrere markieren kann e Sliders Bildlaufleisten zur Auswahl von numerischen Werten aus einem vorgegebenen Bereich Eine besonders vielf ltige Funktion hat au erdem das Axes Objekt Es kann jegliche von Matlab unterst tzten Grafikdaten anzeigen Darunter f llt unter an derem das Plotten von Daten sowie das Anz
83. es einer Selektion welche in einer globalen Variablen nach dem Format aus Formel 6 22 gespeichert werden selection EE 6 22 Tir Yir In der Callback Funktion der Colorbar Schaltfl che wird die MATLAB Funktion colorbar mit den Argumenten on bzw off verwendet um die beim indexierten Bild verwendete Colorbar ein bzw auszublenden Die Schnittstelle zur Anwendung von Funktionen auf Bildausschnitten h nelt vom Aufbau der Schnittstelle f r A Scan Transformationen Die aus dem Unterordner ausgelesenen Funktionen werden beim Start der Software in das Drop Down Men geschrieben Bei einer Auswahl in selbigem wird der Name der Funktion in eine Variable geschrieben auf die die Apply Schaltfl che zugreift und die Funktion entsprechenden Namens ausf hrt Als ersten Parameter erh lt diese zun chst die aktuellen Bilddaten welche als Standardeinstellung aus den 2D Daten des dargestellten Layers bestehen ber einen Eintrag in der Para meterdatei l sst sich diese Option auch auf die bergabe des 3D Datensatzes ab ndern Zweiter Parameter ist die Nummer des Layers der jedoch nur bei ei nem 3D Datensatz relevant ist Bei 2D Daten wird der Wert 1 bergeben Als dritter Parameter werden die Koordinaten der ROI bergeben Alternativ erh lt die Funktion als vierten Parameter das Struct inputPa rams Spezielle Bedeutung hat dabei der Parameter inputParams dataMode Mit diesem kann ausgew hlt werden ob
84. es mat Wie auch die anderen beiden Hauptoberfl chen besitzt die A Scan Oberfl che eine Schnittstelle f r beliebige Erweiterungen Bei der Initialisierung der Ober fl che wird wie zu Beginn des Kapitels beschrieben der entsprechende Ordner Funktion zum ffnen eines Dialoges mit dem ein Ordner auf der Festplatte ausgew hlt werden kann Quelle MATLAB File Exchange http www mathworks com matlabcentral fileexchange Stand 30 08 2006 92 6 UMSETZUNG ausgelesen und zugeh rige MATLAB Dateien gesucht in denen ein beliebiger Na me f r die Funktion angegeben werden kann Dieser wird in das Men eingetragen w hrend als Callback Funktion der eigentliche Funktionsname gespeichert wird Durch einen Klick auf einen Eintrag kann dann die jeweilige Funktion aufgerufen werden 6 2 USCT Oberflache 6 2 1 GUI Die USCT Oberfl che Abbildung 6 9 dient der Visualisierung des realen Ultraschall Computertomographen Als Grundelement hierf r dient ein dyna misch aus den Geometrie Dateien generiertes 3D Modell 2 das alle Sendeele mente des USCT darstellt Jedes Sendeelement repr sentiert zus tzlich vier Emp f ngerelemente die sich aus der geometrischen Anordnung der Ultraschallwandler in einem TAS ergeben Die einzelnen Elemente k nnen mit der rechten Mausta ste angeklickt werden um sie ber ein Kontextmen als Sender bzw Empf nger zu markieren Die Einf rbung der Elemente verr t den aktuellen Markierungsz
85. gestartet werden Hierf r muss in MATLAB das Current Direc tory ausgew hlt werden in den das DiagTool entpackt wurde Darauffolgend kann in die Kommandozeile von MATLAB der Befehl DiagToolStarter einge geben werden 95 A BENUTZERHANDBUCH DiagTool v 1 0 BETA lol xj DiagTool Loading USCT Window Abbildung A 1 Oberfl che des DiagToolStarter Der Start der Software sollte m glichst immer ber den DiagToolStarter er folgen um alle Variablen zu initialisieren Bei Ausfiirhung des DiagToolStarter ffnet sich ein Popup Fenster in dem der aktuelle Ladestand angzeigt wird Ab bildung A 1 Nach kurzer Zeit erscheint ein OK Button der bestatigt werden muss um die Initialisierung der USCT Ansichten vorzunehmen und die Ober fl che Abbildung A 2 zu ffnen W hrend der Laufzeit der Software sollte das Arbeitsverzeichnis von MATLAB nicht ver ndert werden Die Oberfl che ist in drei Bereiche unterteilt Images USCT und A Scans deren Funktionen im Folgenden jeweils n her beschrieben werden A 3 A Scans Die Benutzeroberfl che A Scans Abbildung A 3 arbeitet auf den Rohdaten einer USCT Messung A 3 1 Allgemeine Einstellungen Allgemeine Einstellungen finden sich in der Men leiste unter Options 2 gt Preferences Im sich ffnenden Dialog k nnen die aktuellen Parameter eingese hen und ver ndert werden Setzen des Experimentverzeichnisses Im Experimentverzeichnis sind d
86. h die GUI hier wird vom DiagTool nichts automatisch erzeugt Als Beispiel kann die Im plementierung Visualize Geometry Files angesehen werden die sich im Ordner functions usctGUIMenu befindet 110 A BENUTZERHANDBUCH A 6 2 A Scan Transformationen Um dem DiagTool eine neue A Scan Transformation hinzuzufiigen ist folgendes zu beachten Implementierung der Transformation Zun chst muss die Transformations Funktion implementiert werden Der Funktionsname der Transformation entspricht dem Dateinamen der m Datei in dem diese abgelegt wurde Die Transformation erhalt als ersten Parameter immer die Daten des aktuell im DiagTool ausgew hlten A Scans Der zweite Parameter inputParams ist optional Ben tigt die Tran formation weitere Eingabewerte so muss die implementierte Funktion diesen Parameter erhalten Die Transformations Funktion muss ein Datenarray zur ckliefern wel ches im DiagTool anschlie end geplottet wird inputParams anlegen Verwendet die implementierte Funktion zus tzliche Pa rameter muss eine Datei mit der Variablen inputParams angelegt werden Weiteres Die Variable inputParams ist ein MATLAB Struct in dem beliebige Parameter gespeichert sein k nnen Werden f r die Transformation au er dem A Scan weitere Parame ter ben tigt so m ssen diese in der Variable inputParams in einem mat File mit gleichem Namen wie das m File der Transformation abgespeichert werden A
87. hbare Pfade Damit sich Benutzer in einer Anwendung nicht verir ren sollten zur ckgelegte Wege nachvollziehbar sein Hierf r sollte auf eine intuitive Men struktur mit m glichst wenigen Verschachtelungen gesetzt werden Pr gnant bezeichnete Titelleisten machen Dialoge leichter wieder auffindbar Tastaturunterst tzung anbieten Trotz der Maus als prim res Interaktions ger t bevorzugen vor allem erfahrene Benutzer oft die Kombination aus Maus und Tastatur zur Bedienung einer Software Zus tzlich bieten Tasta turk rzel effiziente M glichkeiten h ufig benutzte Funktionen sehr schnell aufzurufen Dabei sollte auf Kombinationen aus maximal zwei gleichzeitig zu dr ckenden Tasten geachtet werden Sehr beliebt ist auch die Belegung der Funktionstasten Konsistentes Look and Feel Das Aussehen und die Bedienbarkeit muss kon sistent gehalten sein und sollte auch f r den Aufbau von Schnittstellen ber cksichtigt werden Es sollten schon vor der Implementierung genaue Vorgaben festgelegt werden an die sich die Programmierer eines Projektes halten m ssen Modale und amodale Dialogfenster Bei der Implementierung von Dialogbo xen ist darauf zu achten dass sie entsprechend ihrer Absichten gestaltet werden Speicher unter Dialoge beispielsweise sollten modal gestaltet wer den ebenso wie alle kritischen Dialoge Amodale Dialoge hingegen k nnen auch in den Hintergrund verschoben werden w hrend in der Hauptanwen dung weitergearbeitet wird S
88. hrittmotoransteuerung f r 3D Ultraschall Computer Tomographie am FZK Berufsakademie Mannheim Forschungszentrum Karlsruhe Institut f r Prozessdatenverarbeitung und Elektronik Praxisbericht 2005 KARRENBERG Ulrich Signale Prozesse Systeme eine multimediale und interaktive Einf hrung in die Signalverarbeitung Springer 2004 MUELLER Tim RUITER Nicole Specification of the Software View on the 3D USCT Geometry and appropriate Data Management 2005 NATIONAL PHYSICAL LABORYTORY Technical Guides Speed of Sound in Pure Wa ter http www npl co uk acoustics techguides soundpurewater content html 2004 Online Stand 15 August 2006 SKOGEN Martha G R Design Principles for Electronic User Interfaces Vortragsfo lien Oktober 2005 Norwegian University of Science and Technology Department of Product Design THE MATHWORKS INC Using MATLAB Graphics Version 6 The Mathworks Inc 2000 THE MATHWORKS INC Using MATLAB Version 6 The MathWorks Inc 2000 THE MATHWORKS INC Image Processing Toolbox User s Guide Version A The Mathworks Inc 2001 THE MATHWORKS Inc MATLAB Compiler User s Guide Version 2 The Ma thworks Inc 2001 THE MATHWORKS Inc Creating Graphical User Interfaces Version 6 The MathWorks Inc 2002 THE MATHWORKS Inc MAT File Format The MathWorks Inc 2005 89 LITERATURVERZEICHNIS The06 Wik06a Wik06b Wik06c W roo THE MATHWORKS Inc MA
89. hst wird in der vorliegenden Diplomarbeit auf die Grundlagen der Ultraschall Computertomographie und der Programmiersprache MATLAB eingegangen bevor ein kurzer berblick ber die Prinzipien des guten Benutzeroberfl chen Designs gegeben wird Darauf aufbauend wird das zugrun de liegende Konzept der Software erl utert Anschlie end geht die Diplomarbeit detailliert auf die Umsetzung der Anforderungen ein Zusammenfassung Am Institut fiir Prozessdatenverarbeitung und Elektronik des Forschungszen trums Karlsruhe wird mit der 3D Ultraschall Computertomographie ein neuarti ges bildgebendes Verfahren zur besseren Brustkrebsfriiherkennung entwickelt Es basiert auf ca 2000 Ultraschallwandlern die in Schichten ringf rmig auf einem mit dem Koppelmedium Wasser gef llten Zylinder angeordnet sind Bei einer Aufnahme mit dem Ultraschall Computertomographen USCT entstehen sehr gro e Datenmengen von ca 20 GB die als Rohdaten abgespeichert werden Aus diesen Daten wird anschlie end ein dreidimensionales Bild rekonstruiert In der aktuellen Entwicklungsphase des Prototypen ist es f r die wissenschaft lichen Mitarbeiter der USCT Arbeitsgruppe wichtig m glichst einfach einen gu ten berblick ber den komplexen Datensatz und eine ganzheitliche Sicht auf das gesamte System zu erhalten Mit der existierenden Software sind jedoch nur Sich ten auf Teilbereiche m glich weshalb Analysen oft h ndisch und unter erh htem Aufwand durchgef hrt werd
90. i boot ini aktiviert um Programmen einen virtuellen Arbeitsspeicher von 3 GB anstatt der blichen 2 GB zu erm glichen was besonders f r speicherintensive MATLAB Anwendungen relevant sein kann Dieses Betriebssystem wird ebenfalls auf den anderen Rech nern der Arbeitsgruppe verwendet Des Weiteren wird teilweise Suse Linux 10 0 in einer Parallelinstallation angeboten 3 VERFAHREN UND METHODEN Zum Testen der Software stehen zuletzt genannte Rechner ebenfalls zur Ver fiigung welche unterschiedliche Hardware Konfigurationen bieten 3 3 Software Primar verwendet wird die Software MATLAB Diese ist in der Version 6 1 und 7 1 auf dem Entwicklungsrechner installiert um bei der Entwicklung die Kompa tibilitat der Software zwischen den verschiedenen Versionen zu gew hrleisten Um Berechnungen unter anderem fiir die Bildrekonstruktionssoftware zu beschleu nigen wird der Matlab Performance Pack v 1 11 benutzt Dieser passt Matlab auf den Prozessortyp des Rechners an und beschleunigt somit die Ausfiihrung von Algorithmen Die Testrechner sind mit den gleichen Matlab Versionen ausgestat tet Verwendete MATLAB Bibliotheken stammen von der Webseite MATLAB Fi le Exchange und werden im Folgenden separat referenziert Zur Erstellung von Grafiken fiir die Benutzeroberflache wird das Bildbearbei tungsprogramm Jasc Paint Shop in der Version 8 05 verwendet Zur Erzeugung von Testdatens tzen fiir die Rohdaten wird die Datenakquisi
91. ichkeit der Verwendung von Toolboxen unter Version 6 1 st rker gewichtet als die Erweiterungen in der GUI Gestaltung in Version 7 Dennoch soll die Lauff higkeit unter MATLAB 7 gew hrleistet sein Hierf r dienen st ndige Tests und die Verwendung einer Syntax die beide Interpreter Sprachen teilen 31 5 KONZEPT UND DESIGN 5 2 GUI Konzept Aufgrund der vielfaltigen Aufgaben die die Software erfiillen soll ist es wichtig eine geeignete Strukturierung der Benutzeroberfl che zu finden damit diese ihre bersichtlichkeit beh lt und eine intuitive Bedienung erm glicht Grunds tzlich lassen sich die Anforderungen in drei Gruppen unterteilen e Funktionen die auf den Rohdaten A Scans einer USCT Messung arbeiten e Funktionen die auf den Daten rekonstruierter Volumen oder Schichtbilder arbeiten e Funktionen zur Visualisierung des USCT und Generierung von Parameter dateien f r Messungen und Rekonstruktionen Ausgehend von den gruppierten Anforderungen k nnen mehrere Wege zur Gestaltung einer Benutzeroberfl che beschritten werden Eine erste M glichkeit ergibt sich durch die klassische Gestaltung einer Soft ware mit einer alleinstehenden alle Funktionen umfassenden Benutzeroberfl che wie in Abbildung 5 1 dargestellt Die Funktionalit t verbirgt sich hinter Schalt fl chen Men s Kontext Men s usw Abbildung 5 1 Entwurf einer Benutzeroberfl che Alle Bedienelemente der Teil bereiche befinden sich in einem Fe
92. ick auf den angezeigten A Scan gt Save as JPEG bzw gt Save as jpg die derzeitige Darstellung in eine Bilddatei entsprechenden Formates exportiert werden Zuvor wird ein Speichern unter Dialog aufgerufen Informationen anzeigen Der Info Button 9 ffnet ein neues Fenster in dem Informationen ber den aktuellen A Scan und das zugeh rige Experiment angezeigt werden Alternativ kann f r den Aufruf dieser Funktion auch ein Rechtsklick gt Info verwendet werden Parameter berechnen Durch Klicken auf die Schaltfl che mit den Formel Symbolen 8 wird ein neues Fenster ge ffnet in dem charakteristische Pa rameter zum aktuell geladenen A Scan berechnet und angezeigt werden e Durschschnittliche absolute Amplitude mean e Durchschnittliche absolute Amplitude median e Maximale Amplitude und Samplepunkt an der sie auftritt 100 A BENUTZERHANDBUCH Minimale Amplitude und Samplepunkt an der sie auftritt e Varianz Standardabweichung Signal Rausch Verhaltnis Temperatur und Schallgeschwindigkeit ver ndern Mit der Bildlaufleiste 21 im Bereich Operations kann die f r weitere Berechnungen verwen dete Temperatur und Schallgeschwindigkeit 20 angepasst werden A 3 4 Mehrere A Scans anzeigen Wurden in den Listenfeldern mehrere Sender Empf nger Kombinationen ausge w hlt kann durch einen Klick auf den Button Show A Scan s 19 ein neues Fenster ge ffnet werden in dem die entspreche
93. ie Rohdaten einer Messung abgelegt Diese Einstellung ist zwingend erfor derlich und bildet die Grundlage f r jegliche weitere Funktionen Alterna tiv kann das Experimentverzeichnis auch ber einen Rechtsklick auf das A Scan Anzeigefeld gt Set Experiment Path neu gesetzt werden Bezeichnung der Bildrekonstruktions Arten Die Bildrekonstruktions Arten maximal 4 werden als Variablennamen in einem rekonstruierten 96 A BENUTZERHANDBUCH Abbildung A 2 DiagTool Oberfl che nach dem Starten Bild verwendet z B amplitude decon phase envelope Die Be zeichnung kann als einfacher Text in die entsprechenden Felder eingetragen werden Standardeinstellung 3D USCT Bei der 3D Darstellung des Ultraschall Computertomographen kann eine initiale Form gew hlt werden Variablennamen bei rekonstruierten Bildern Innerhalb einer mat Datei eines rekonstruierten Bildes stehen mehrere Bildmodi zur Verf gung die jeweils in einer Variablen gespeichert sind In den Feldern Reconstructed Image Variable Names k nnen die Variablennamen nach denen gesucht wird frei gew hlt werden Die Standardeinstellung ist e amplitude e decon e phase e envelope Art der Ellipsenrekonstruktion Mit den Radiobuttons im Feld Ellipse Re construction wird festgelegt wie rekonstruierte Ellipsen in einem angezeig ten Bild angezeigt werden Mit Sum Images wird die Ellipse in das Bil
94. ie zahlreichen Tipps bez glich der formalen Aspekte der Diplomarbeit bedanken Au erdem danke ich allen Mitarbeitern der USCT Softwaregruppe insbeson dere Nicole Ruiter und Michael Zapf f r die Einbringung vieler Ideen und die gute Zusammenarbeit Ganz besonders bedanken m chte ich mich bei meiner Familie und meinen Freunden f r das entgegengebrachte Vertrauen und die Unterst tzung w hrend des gesamten BA Studiums III Expos Am Institut f r Prozessdatenverarbeitung und Elektronik des Forschungszen trums Karlsruhe wird ein neuartiges bildgebendes Verfahren zur Erzeugung von dreidimensionalen Bildern entwickelt welches zur Brustkrebsfr herkennung ein gesetzt werden soll Die so genannte Ultraschall Computertomographie USCT basiert auf einer Vielzahl von Ultraschallwandlern die bei einer Untersuchung die weibliche Brust vollst ndig umschliefen Aufgrund der gro en Anzahl von Ultraschallwandlern entstehen bei jeder Auf nahme riesige Datenmengen von etwa 20 Gigabyte In der vorliegenden Diplom arbeit wird die Entwicklung einer Software beschrieben die es den wissenschaft lichen Mitarbeitern der USCT Arbeitsgruppe erm glicht die Daten zu durch suchen zu visualisieren und zu analysieren Diese Software soll die M glichkeit bieten Zusammenh nge zwischen den aufgenommenen Daten und den rekonstru ierten 3D Bildern schneller zu erfassen und damit die Optimierung des derzeitigen USCT Prototypen voranzutreiben Zun c
95. ionsprinzip beim USCT Die Ellipsen schneiden sich im Streuer Die Rekonstruktion der Bilder aus den Rohdaten nach dieser Methode wird durch eine in MATLAB implementierte Software umgesetzt Der Kern der Re konstruktionssoftware das Riickprojezieren von Ellipsoiden in ein Volumen ist in C und x86 Assembler programmiert und wird ber eine DLL angesprochen Zum Einstellen zahlreicher Parameter dient der Rekonstruktionssoftware die Datei global3D m In ihr werden unter anderem festgelegt e Von welchen Sendern und Empf ngern die Signale f r die Rekonstruktion verwendet werden sollen Somit ist es auch m glich mittels einer Teilmenge aller m glichen Sender Empf nger Kombinationen ein Bild zu rekonstruie ren e Die Gr e des zu rekonstruierenden Bildes in Pixeln f r jede Dimension e Die Gr e des zu rekonstruierenden Volumens Start und Endpunkt eines Quaders innerhalb des USCT Damit ist es m glich auch nur Teilbereiche des Zylinders zu rekonstruieren e Die Art der Bildrekonstruktion Bei Amplitudenbildern werden alle abso luten Amplitudeninformationen eines A Scans ber cksichtigt Phasenbil der beachten beim Addieren der Werte die Vorzeichen der Amplituden Deconvolution Bilder nutzen einen Entfaltungs Filter um die Anf nge der Signale zu detektieren und Envelope Bilder bilden vor dem Addieren der Signale die Einh llende 21 4 GRUNDLAGEN e Die zu verwendenden Geometrie Dateien In ihnen sind die ge
96. jekt wird mit einem gr nen Rahmen repr sentiert In der Men leiste 1 ist der Unterpunkt Functions zur Auflistung der ver f gbaren Plugins der USCT Oberfl che eingebunden 6 2 2 Funktionalit t Wie auch die A Scan Oberfl che initialisiert die USCT Oberfl che beim Starten zun chst einige Variablen bindet die Pfade zu den Unterordnern ein und liest den Ordner der Men leisten Schnittstelle aus Die 3D Visualisierung beruht auf der Geometrie Datei die die Position jedes Sendeelements im USCT als kartesische Koordinate enth lt Dieses wird inner halb zweier vorgegebener Grenzen Start und Endlayer durchlaufen und an jeder ausgelesenen Position ein Voxel gezeichnet das ber die gleichnamige Funktion von Joel Suresh erzeugt werden kann Die Voxel Funktion erzeugt aus mehre ren so genannten Patches zweidimensionale Objekte die ber MATLAB eigene Funktionen erzeugt werden k nnen ein dreidimensionales Objekt mit gew nsch ter Ausdehnung Die Darstellung der erzeugten Voxel erfolgt in einem Axes Feld Jedes erzeugte Voxel liefert eine Referenz auf sich zur ck welche in einer Ma trix entsprechend dem Senderlayer und der Sendernummer gespeichert wird Den Referenzen die in MATLAB aus Handles Objekten bestehen k nnen zus tzliche Daten angeh ngt werden Hierf r dient das MATLAB Konstrukt setappdata referenceToObject variableNameAsString value So wird jedem erzeugten Voxel zugewiesen welches Sende und
97. lculateEllipse die aus einer Markierung in einem A Scan eine El lipse in der Schicht des aktuell angezeigten rekonstruierten Bildes berechnet und diese darin anzeigt Das Prinzip entspricht dem zur Rekonstruktion eines Bildes verwendeten Prinzip wie in Abschnitt 4 1 4 beschrieben Die Funktion erm glicht dem Benutzer Informationen ber die Verarbeitung der Signale zu einem Bild zu erlangen Bestimmt werden kann damit in welche Bildbereiche die Signale eines A Scans eingezeichnet werden Zur Berechnung der Ellipse wird die Funktion addsig2vol aus der Rekon struktionssoftware verwendet Als Eingabeparameter erh lt sie ein Datenarray wobei dies einer 1 x 3000 Matrix entspricht welche an den Stellen zwischen der linken und rechten Markierung im A Scan mit dem Wert 1 gef llt ist sonst mit 0 Ebenso ben tigt die Funktion den Startpunkt des rekonstruierten Bildes die Position des Sende und Empfangselements des geladenen A Scans die Schallge schwindigkeit die physikalische Aufl sung des Bildes das Zeitintervall zwischen zwei Abtastpunkten sowie die Gr e des Bildes Die Funktion erzeugt eine Matrix in der an den Stellen an denen die Ellipse liegt die Werte auf 1 gesetzt werden Andere Stellen bleiben 0 Diese Matrix repr sentiert das Bild der berechneten Ellipse zum zugeh rigen ausgew hlten A Scan Bereich Abbildung 6 17 F r das Einzeichnen der Ellipse in das Bild kann der Benutzer zwischen zwei Methoden Abbildung 6 18
98. lemente Layer Sender Empf nger Abbildung 4 3 Transducer Array System des Ultraschall Computertomographen Um eine gleichm ige Verteilung der Sender und Empf nger auf der Zylin deroberfl che zu erreichen besitzt der USCT einen Schrittmotor der den auf einem Kugellager drehbar gelagerten Zylinder auf 6 verschiedene Positionen dre hen kann Der Abstand zwischen zwei Motorpositionen betr gt 3 75 Virtuell kann somit die Gesamtzahl auf 2304 Sender und 9216 Empf nger gesteigert wer den Hop05 Die logische Durchnummerierung zur Identifikation und Ansteuerung der Ele mente unterteilt den USCT in Schichten von Sendern sogenannten Senderlayern Sendernummern sowie Empf ngerlayer und Empf ngernummern Beginnend von oben gibt es somit 3 TAS Ringe 8 Sendeelemente pro TAS 24 Sendelayer An hand der rechteckigen Anordnung der Empf nger um einen Sender herum ergeben sich pro TAS 16 und damit als Gesamtzahl 48 Empf nger Layer Pro Senderlayer gibt es 96 Sendernummern die sich aus der Anzahl der Motorposition 6 multi pliziert mit der Anzahl der TAS 16 ergeben Bei den Empfangsnummern folgt 13 4 GRUNDLAGEN analog eine Anzahl von 192 Die Nummerierung beginnt in diesem System bei 0 Aufgrund der MATLAB Eigenschaft Arrays und Matrizen beginnend mit der 1 zu indizieren ist es daher des 6fteren erforderlich ein Mapping zwischen beiden Varianten durch Addition bzw Subtraktion von 1 durchzufiihren Des W
99. llback Funktionen der Radiobuttons geregelt Dabei wird eine Variable mit der Bezeichnung der Bildart gef llt und die zentrale Variable des angezeigten Bildes mit den jeweiligen Daten gef llt Der Aufruf der Anzeigeroutine stellt das Bild dar Der Wertebereich der Bildlaufleiste ist abh ngig von der Gr e eines Bildes und der derzeitigen Schnittrichtung Eine Subfunktion der Oberfl che setzt den Wertebereich sobald zwischen Bildern gewechselt wird ein Bild geladen oder die Schnittrichtung ge ndert wird Der beim Bewegen der Bildlaufleiste zur ckge gebene Wert wird in einer Variablen zwischengespeichert und die Funktion zur Erzeugung eines Schnittbildes mit ihm aufgerufen Somit hat der Benutzer die M glichkeit ein Volumen gezielt zu durchlaufen Der Wert wird zus tzlich in ei nem berlagerten Textfeld in der rechten oberen Ecke des Bildes ausgegeben F r Volumenbilder kann die Sichtweise d h die Schnittrichtung Abbildung 6 15 gewechselt werden Dabei wird eine Variable mit einem die Schnittrichtung repr sentierenden Zahlenwert aktualisiert der in der Routine zur Berechnung von Schichtbildern ber cksichtigt wird In der Callback Funktion der Export Schaltfl che wird der Benutzer aufge fordert in einem Speichern unter Dialog einen Dateinamen anzugeben Anhand dessen Endung wird dann innerhalb der Funktion entschieden ob die Bilddaten als MATLAB Datei oder als JPEG Bild exportiert werden Ersterer Fall benutzt die 2D Daten des ak
100. llen Fen ja ja ster bleiben Save Speichern der Daten unter neuem Namen nein ja as Undo R ckg ngigmachen der letzten Aktion nein ja Cut markierte Buchstaben ausschneiden nein ja Copy kopieren der markierten Buchstaben nein ja Paste einfiigen der kopierten oder ausgeschnitte nein ja anderer erfolgreicher Software wird das Erlernen des Umgangs mit einer neuen Software erheblich erleichtert Visuelles Feedback Vor allem w hrend Wartezeiten bei gr eren Berechnun gen ist es wichtig dem Benutzer Feedback ber den Fortschritt zu geben Als sehr geeignet gelten hier Fortschrittsbalken im Besonderen mit einer Anzeige der verbleibenden Zeit Ab welcher Zeit eine solche Anzeige not wendig wird ist sehr variabel als Daumenregel kann eine Dauer ab ca vier Sekunden angegeben werden Sko05 Akkustisches Feedback Mit akkustischem Feedback sollte sehr sparsam um gegangen werden Was zu Beginn der Benutzung einer Software noch ein nettes Feature sein mag kann schon nach kurzer Zeit l stig werden Deshalb ist es von Vorteil akkustische Signale nahezu ausschlie lich f r Fehlermel Tabelle 4 1 Reservierte W rter im GUI Design Quelle Hob95 dungen zu verwenden und sonstige T ne lediglich optional anzubieten Texte verst ndlich halten Texte die auf der Oberfl che angezeigt werden vor allem in Fehlermeldungen und Hinweisdialogen sollten kurz und pr gnant gehalten sein 28 4 GRUNDLAGEN Nachvollzie
101. lt und umfassen e Ein Element als Sender markieren e Ein Element als Empf nger markieren e Deselektieren eines Elements Entsprechend der Auswahl werden die Patches eingef rbt Bei der Auswahl set as Receiver wird der vom 3D Modell bereits bekannte Dialog zur Auswahl eines Empf ngerelements ge ffnet Analog zu den Update Funktionen des 3D Modells gibt es Update Funktionen f r das 2D Modell die ein Mapping zwischen den Nummern der markierten Sen der und Empf nger vornehmen und die Farben sowie die Datenhaltung bei einer Auswahl in den A Scan Auswahllisten oder dem 3D Modell aktualisieren Ein markierter Sender bzw Empf nger in den Auswahllisten oder dem 3D Modell liegt dabei in virtueller Nummerierung ohne Ber cksichtigung der Motor positionen vor Das Mapping auf die im 2D Modell abgebildeten realen Sendeele mente erfolgt nach Formel 6 13 f r Sender und 6 14 f r Empf nger 6 13 S Evir ua S Ereal oc 59 6 UMSETZUNG rue S Ereal E 6 14 6 Entgegengesetzt werden aus Markierungen im 2D Modell die Auswahllisten der A Scan Oberfl che sowie die 3D Ansicht aktualisiert Die Drehung der 2D Ansicht ber die nderung der Motorposition wird durch eine MATLAB Funktion zur Rotation der Ansicht durchgef hrt Dabei werden die Winkel von 3 75 wie beim realen USCT verwendet Der Wechsel des Sender layers erfolgt durch das Setzen einer globalen Variable anhand des im zugeh rigen Feld ermittelte
102. magesGUIMenu f r die Einbin dung beliebiger Funktionen in der Men leiste e ascanTransformations f r die Einbindung von A Scan Transformations funktionen e imageComparison f r die Einbindung von Bildvergleichs und vereini gungsfunktionen e imageFunctions f r die Einbindung beliebiger auf den Bilddaten arbeiten den Funktionen Jeder dieser Ordner besitzt einen zus tzlichen Unterordner tools der zur Spei cherung von Funktionen dient die durch die Plugins aufgerufen werden graphics enth lt Grafikdateien die in den Benutzeroberfl chen verwendet werden Diese werden z B f r die Belegung von Schaltfl chen ben tigt Im Unterordner preferences werden MATLAB Dateien mit benutzerdefinier ten Einstellungen gespeichert die auch session bergreifend gespeichert werden sollen Dazu z hlen beispielsweise die Werte von Konstanten sowie Informatio nen ber das aktuelle Experiment auf dem gearbeitet wird Vorlagen f r Funktionen die die Plugin Schnittstellen implementieren sind im Ordner templates abgelegt Der Ordner tools enth lt alle weiteren Quell textdateien mit Funktionen die von der Software intern aufgerufen werden 9 5 Datenhaltung und Datenaustausch Innerhalb der Software ist es notwendig eine Datenhaltung und M glichkeiten zum Datenaustausch zu finden um von allen Stellen in der Software Zugriff auf Bedienelemente und ben tigte Daten zu haben 38 5 KO
103. menvisualisierung so genannte ROls Regions of Interest sollen im USCT Modell an der entsprechenden Stelle dargestellt werden um die Herkunft des dargestellten Bildes r umlich zuzuordnen Anhand der markierten Sende und Empfangselemente soll die Generierung von Parameterdateien f r andere mit dem USCT verbundene Programme erm g licht werden Textdateien mit der linearen Durchnummerierung der gew nsch ten Sender und Empf nger werden von der Datenakquisitionssoftware ben tigt 2 AUFGABENSTELLUNG um eine Messung z B lediglich mit einer Teilmenge der vorhandenen Ultra schallwandler zu starten wodurch sich die Aufnahmezeit verk rzt Eine Datei im MATLAB Datenformat gibt der Rekonstruktionssoftware an welche Sender Empf nger Kombinationen bei der Messung vorhanden waren Die Generierung einer solchen Datei soll eine Rekonstruktion mit speziellen bzw eingeschr nkten Sender Empf nger Kombinationen erlauben Als allgemeine Erweiterungsm glichkeit soll eine Schnittstelle zum Einh ngen beliebiger Funktionen geschaffen werden Die Programmierer solcher Funktionen sind dabei frei in der Wahl der Implementierungs und Visualisierungsart Sie k nnen sowohl g nzlich unabh ngig von der Software arbeiten aber auch die Vi sualisierungsm glichkeiten der Software wie z B das USCT Modell zur Anzeige von Ergebnissen verwenden Allgemein ist zu sagen dass die Funktionen jeweils verzahnt gesehen werden sollen d h nderungen in T
104. n Zur Ausrichtung der Fenster kann ein zus tzliches kleines Fenster dienen das verschiedene M glichkeiten zur Fensteranordnung vorgibt bzw die Fenster beim Start der Software initial ausrichtet Nachteil dieses Konzeptes ist die Aufteilung der Funktionen auf mehrere MATLAB Fenster da bei der Ausf hrung von oberfl chen bergreifenden Funk tionen der Fokus zwischen den Fenstern gewechselt werden muss Des Weiteren erh lt jedes Fenster einen separaten Task wodurch die Anwendung bei zus tzli chen Popup Fenstern einen gro en Raum in der Taskleiste ben tigt Die Erzeu gung eines Hauptfensters mit mehreren Unterfenstern ist unter MATLAB nicht 34 5 KONZEPT UND DESIGN m glich Dadurch entsteht fiir den Benutzer ein erh hter Verwaltungsaufwand wenn beispielsweise alle drei Fenster verdeckt wurden und er sie durch Anklicken jedes einzelnen Fenster wieder in den Vordergrund des Desktops holen muss Entschieden wird sich trotz der genannten Nachteile f r die zuletzt vorgestell te dreiteilige Variante da sich dem Benutzer hierdurch eine gro e Variabilit t bietet Die leicht erh hte Rechenzeit bei Fokuswechseln ist angesichts der zahlrei chen weiteren Berechnungen die durch die Software vorgenommen werden sowie der Rechnerausstattung am Einsatzort vernachl ssigbar Die Oberfl che teilt sich in drei Funktionsgruppen Im A Scan Fenster wer den alle relevanten Funktionen f r die Anzeige und Bearbeitung von Rohdaten eingef
105. n Dies f hrt zu einer sehr schnellen Auswahl einer gro en Anzahl von Elementen W hrend das 3D Modell vor allem der guten Visualisierung und schnellen Selektion von Sender Empf nger Elementen dient kann mit dem 2D Modell pr ziser auf bestimmte Sender und Empf nger Nummern zugegriffen werden Das 2D Modell Abbildung 6 12 st tzt sich wie auch das 3D Modell auf Patches die jedoch nicht zu Voxeln zusammengesetzt sondern als einzelne Rechtecke verwen det werden Jedes Rechteck repr sentiert dabei konsistent zur 3D Ansicht einen Sender sowie vier Empf nger Die Ansicht wird gezeichnet indem jeweils ein Patch an einer Stelle in das Axes Objekt gezeichnet und anschlie end um den Winkel zwischen zwei realen Sender Elementen 22 5 rotiert wird Anschlie end wird wieder ein Patch an der gleichen Stelle gezeichnet usw Eine aufwendige Berechnung der Positionen 98 6 UMSETZUNG USCT 2D View set as sender set as receiver deselect 2D Control Motor Position 2 Sender Layer 3 Abbildung 6 12 2D Modell des Ultraschall Computertomographen kann somit entfallen Jedem Patch wird erneut eine Nummer zugeordnet ber die er identifiziert und referenziert werden kann Wie auch bei der 3D Ansicht wird f r die Elemente ein Kontext Men definiert das die hinterlegte Information ausliest und damit weitere Aktionen ausf hren kann Diese Funktionen werden im Kontext Men zur Auswahl gestel
106. n Bildarten k nnen ber jeweils vier Radiobuttons ausgew hlt werden Dabei sind die Namen der Bildarten ber die benutzerdefi nierten Einstellungen nderbar Die Schaltfl chen mit der Bezeichnung 1 bzw 2 erm glichen das Wechseln auf den jeweiligen Bildkanal Visualisiert wird die Auswahl durch eine gr ne Einf rbung der Schaltfl chen Export Image erlaubt es das derzeit angezeigte Bild als Grafik im JPEG Format oder als MATLAB Datei abzuspeichern Verbindungslinien zwischen den Schaltfl chen visualisieren 62 6 UMSETZUNG 1 Men leiste 3 Auswahlleiste f r Schichtbilder 2 Anzeigefeld f r rekonstruierte Bilder 5 Colorbar Anzeige 4 Auswahl der ae Schninebene Uess dl Cru zeigen Werkzeug 7 Werkzeuge zum Laden und Anzeigen von Bildern 8 Bilbearbeitungs funktionen 9 Bildfunktionen erdargeS election l Passe Apoy Abbildung 6 14 Oberflache fiir rekonstruierte Bilder die Funktionalit t des Arbeitens auf zwei unterschiedlichen Bildern mit der glei chen Operation Das Drop Down Menii dient der Auswahl einer Bildvereinigungs funktion welche durch das Klicken auf die Schaltfl che Calculate ausgef hrt wird Das berechnete Bild wird dann im Anzeige Fenster dargestellt die Schaltfla che griin eingefarbt Bildinformationen sind tiber die Tooltips der beiden Buttons 1 und 2 erh ltlich 63 6 UMSETZUNG Die Bildbearbeit
107. n Transformationen gesetzt werden Durch die Verwendung von Kontextmen s konnte die Komplexit t der Ober fl che reduziert werden Trotzdem k nnen alle Funktionen ber maximal vier Mausklicks erreicht werden Bei der Gestaltung der Oberfl chen wurde auf Konsistenz geachtet wodurch einige Prinzipien des guten GUI Designs eingehalten werden konnten So wurden die Farben von Fenstern und Schaltfl chen durchweg gleich gew hlt ebenso wie die Bedeutung der Texte der Schaltfl chen Die Benutzeroberfl che wurde mit englischen Bezeichnungen versehen so dass das Verst ndnis f r nicht deutsch sprachige Mitarbeiter der Abteilung gew hrleistet ist Ein fehlendes Package Konzept wird durch eine Strukturierung der Quelltextdateien in Ordnern und Unterordnern ersetzt Die Lauff higkeit der Software wurde unter der MATLAB Version 6 1 sowie 7 1 berpr ft wobei festzustellen ist dass einige Befehle der Version 6 1 unter MATLAB 7 1 als inkorrekt erkannt wurden und aufgrund dessen auf synonyme Befehle zur ckgegriffen wurde die beide Versionen identisch interpretieren 83 Kapitel 8 Diskussion und Ausblick Vorgestellt wurde in dieser Diplomarbeit ein Konzept sowie dessen Umsetzung fiir eine Software die vor allem darauf ausgerichtet ist den wissenschaftlichen Mitarbeitern der USCT Arbeitsgruppe ein Werkzeug zum schnelleren Verst nd nis von Zusammenh ngen bereitzustellen Vor dem Einsatz der Software arbeitete ein Gro teil der in d
108. n Wertes F r andere Softwaresysteme der USCT Abteilung wie z B die Datenakquisi tionssoftware oder die Rekonstruktionssoftware werden Parameterdateien in ver schiedenen Formaten ben tigt die die markierten Sender Empf nger Nummern beinhalten e AvailableEmitters txt e AvailableReceivers txt e Bitfield mat Entprechend des in Abschnitt 4 1 3 beschriebenen Formates wird eine Funk tion implementiert die die markierten Sender und Empf nger aus der globalen Variablen ausliest nach Formel 6 11 bzw 6 12 in lineare Nummerierung umrech net und schlie lich in der beschriebenen Formatierung in eine Textdatei schreibt Zuvor wird ein Speichern unter Dialog aufgerufen der dem Benutzer erm glicht einen Dateinamen Standard AvailableEmitters bzw AvailableReceivers und einen Pfad anzugeben Der Aufbau des Bitfields gestaltet sich etwas aufwendiger da hier ein Zugriff auf Bitebene notwendig ist Nach dem Auslesen der globalen Matrizen mit den markierten Sendern und Empf ngern muss zun chst die Stelle n im Bitfield be rechnet werden an der das Bit gesetzt werden muss Dies folgt dem umgekehrten Weg wie in den Formeln 4 2 4 5 und berechnet sich aus dem daraus abgeleiteten Ausdruck 6 15 n SL 192 48 96 SN 192 48 RL 192 RN 1 6 15 Zur Speicherung des Bitfields wird ein Array von uint8 Variablen verwendet d h pro Arrayelement k nnen acht Bitfieldstellen gespeichert werden In welchem Arrayelement die Stelle n
109. n e 109 Struktur der Software scl Poe a AER ee E Neu G 118 94 Anhang A Benutzerhandbuch A 1 Vorbemerkungen Das DiagTool ist eine in MATLAB geschriebene Software die es erm glichen soll die gro en Datenmengen die bei einer Messung mit dem USCT entstehen zu durchsuchen zu analysieren und zu visualisieren Hierf r verbindet sie die Bereiche Rohdaten A Scans rekonstruierte Bilder Images und bietet zudem mit dem Fenster USCT eine Visualisierungsm g lichkeit des Ultraschall Computer Tomographen in 2D und 3D A 1 1 Systemanforderungen Das Dag Tool ist in MATLAB implementiert und ben tigt deshalb einen Rechner unabh ngig vom Betriebssystem auf dem The Mathworks Inc MATLAB ab Version 6 1 installiert ist F r eine korrekte Darstellung der Benutzeroberfl che wird eine Bildschirmaufl sung von 1280 x 1024 Pixel empfohlen A 2 Installation und Starten der Software Die Software Dag Tool liegt als gepacktes ZIP Archiv vor in dem alle ben tigten Dateien Daten und Ordnerstrukturen enthalten sind Zur Installation muss dieses Archiv in einen Ordner auf der Festplatte entpackt werden Im obersten Verzeichnis befindet sich eine Batch Datei bat durch die die Software gestartet werden kann Sie l dt lediglich die als Standard definierte Ver sion von MATLAB und f hrt anschlie end die Datei DiagToolStarter m aus Alternativ zur Batch Datei kann das Programm auch manuell ber die MATLAB Kommandozeile
110. nauen Posi tionen der Sender und Empfanger im kartesischen Koordinatensystem ge speichert und werden fiir die Berechnung der Ellipsen und deren Position innerhalb des USCT zwingend ben tigt Nach dem Starten der Rekonstruktion durchl uft die Software die Ordner struktur der Rohdaten l dt dabei die gew nschten A Scans und erzeugt nach dem genannten Prinzip anhand der Koordinaten des entsprechenden Senders und Empf ngers nach und nach eine Matrix gem der Gr envorgabe des Bildes Je des Element der Matrix stellt ein Pixel des Bildes dar In ihm werden die Werte der Amplituden aufaddiert wodurch sich ein sehr gro er Wertebereich ergibt Nach Fertigstellung wird die Matrix als Variable in einer MATLAB Datei in einem angegebenen Verzeichnis auf der Festplatte abgespeichert Die Datei ent h lt alle ausgew hlten Bildmodi in einer separaten Variable deren Name dem Bildmodus entspricht amplitude phase deconv oder envelope Nicht re konstruierte Bildmodi werden durch leere Matrizen repr sentiert Der Dateiname setzt sich aus dem Pr fix onelmage und der Gr e in Pixeln zusammen beispielsweise _onelmage_ x512_y512_z51l mat Zus tzlich werden Informationen ber das rekonstruierte Bild in einer se paraten Datei abgespeichert Deren Name setzt sich aus dem Pr fix _In fo und der Gr e des Bildes in Pixeln zusammen beispielsweise In fo _x512_y512_z51 mat Als Informationen werden
111. nd das Envelope Bild gespeichert werden Zur Auswahl der gew nschten Darstellung besitzt jeder Bildkanal vier Radiobuttons 62 68 ber die das angezeigte Bild bestimmt wird Die Bildarten sind in der A Scan Oberfl che im Men Options gt Preferences anpassbar siehe A 3 1 Bilder exportieren Das jeweils angezeigte Bild kann in eine Grafikdatei jpg oder im MATLAB Datenformat mat exportiert werden Dies erfolgt ber die Schaltfl che Export Image 67 Im sich ffnenden Speichern unter Dialog ist die Angabe des Dateinamens sowie der Dateiendung zu be achten da anhand dieser das Ausgabeformat gew hlt wird JPEG Bilder werden in einer Qualit t von 100 exportiert und ber cksich tigen die vorgenommenen Bildbearbeitungen Exportierte Daten im MATLAB Datenformat erhalten eine Variable die nach der ausgew hlten Bildart benannt ist Informationen zum Bild anzeigen Als Tooltip der beiden Buttons 1 und 2 61 66 werden Informationen zu dem jeweiligen geladenen Bild ange zeigt Zur Anzeige des Tooltips muss der Mauszeiger kurze Zeit ber dem Button stillgehalten werden A 5 2 Volumenbild Funktionen Die Images Oberfl che erm glicht auch das Laden von Volumenbildern Darge stellt wird jeweils ein Schichtbild daraus Eine Anzeige in der oberen rechten Ecke des Bildes zeigt dabei den Layer des derzeitigen Bildes an Layer wechseln Durch Verschieben der Bildlaufleiste 53 rechts des Bildes
112. nde Program me sollen in einer gemeinsamen Benutzeroberfl che integriert werden Kapitel 2 Aufgabenstellung Im Rahmen der vorliegenden Diplomarbeit soll eine erweiterbare Software erstellt werden die es den wissenschaftlichen Mitarbeitern der USCT Arbeitsgruppe er m glicht die gro en Datenmengen einer USCT Messung zu durchsuchen zu vi sualisieren und zu analysieren Im Folgenden wird auf die Anforderungen an die Software n her eingegangen 2 1 Funktionale Anforderungen Die bei einer Messung mit dem USCT entstehenden Rohdaten werden als A Scans Amplituden Scan bezeichnet Die zu erstellende Software soll das Laden und Plotten der selbigen anhand der Angabe des Sende und Empfangselements sowie des Experimentverzeichnisses erm glichen Dabei muss die Struktur be r cksichtigt werden in der die Daten vorliegen vergl hierf r Kapitel 4 1 3 ber jedes Experiment und jeden A Scan soll es m glich sein Informationen die w hrend einer Messung gespeichert werden anzuzeigen Genannt seien hier nur beispielhaft der Name des Experimentes die Parameter mit denen die Mes sung initialisiert wurde oder die Nummer des jeweils ausgew hlten Senders und Empf ngers Eine weitere Anforderung ist die M glichkeit des Vergleichs von Daten un terschiedlicher Sender Empf nger Kombinationen durch die gleichzeitige Anzeige mehrerer A Scans Die weiterverarbeiteten Signaldaten sollen als neuer Rohda tensatz abgespeichert werden k nnen
113. nden A Scans geplottet angezeigt werden Zu jedem Plot werden Informationen ber Sender und Empf ngernum mern angegeben Daten abspeichern Mit einem Rechtsklick auf einen A Scan kann die Option Save as aufgerufen werden Es ffnet sich ein Dialog in dem ausgew hlt werden kann ob ein einzelner oder alle angezeigten A Scans gespeichert werden sollen ber einen Speichern unter Dialog wird der Speicherort aus gew hlt Bei einzelnen abgespeicherten A Scans wird der ausgew hlte Dateiname verwendet Beim gleichzeitigen Abspeichern mehrerer A Scans wird dem Dateinamen die Sender Empf nger Kombination vorangestellt A 3 5 Rekonstruktionsellipse berechnen Mit dem Button Calculate Ellipse 23 kann sofern ein Bild mit zugeh riger Info Datei geladen ist anhand eines Ausschnittes aus dem A Scan berechnet werden in welchem Bildbereich dieser Ausschnitt einen Beitrag zum rekonstru ierten Bild leistet Es ist zwingend erforderlich vor der Ausf hrung der Funktion einen Bereich im A Scan zu markieren Auto Calc Ist die Option Auto Calc 22 gesetzt wird die Rekonstruktionsel lipse bei jeder Neumarkierung im A Scan Wechsel der Temperatur Schall geschwindigkeit und Wechsel der angezeigten Bildebene sofort berechnet ohne den Button zuvor bet tigen zu m ssen 101 A BENUTZERHANDBUCH A 3 6 Transformationen Im unteren Teil der A Scan Oberfl che befindet sich der Abschnitt Transformati ons der e
114. ng ge ndert werden sollen Ein zweiter Toggle button zeigt die Transformation schlie lich an bzw l scht sie beim Deaktivieren des Buttons aus dem Anzeigefeld Die Men leiste 1 komplettiert die A Scan Oberfl che In ihr werden un ter Functions als Unterpunkte die ber die Schnittstelle eingebundenen eigen st ndigen Funktionen angezeigt Options beinhaltet den Aufruf Preferences zum ffnen einer Oberfl che mit diversen Einstellungsm glichkeiten der Softwa re Help bietet einen Link zum ffnen des User Manuals 43 6 UMSETZUNG 6 1 2 Funktionalit t Beim Starten der A Scan Oberfl che werden nach der Initialisierung der Be dienelemente zun chst einige grundlegende Einstellungen vorgenommen Mit dem MATLAB Befehl addpath werden alle notwendigen Unterverzeichnisse der Software eingebunden Anschlie end liest die Software die Datei UserPre ferences mat aus dem Ordner preferences aus in der die benutzerdefinierten Einstellungen gespeichert sind Daraus leitet sich das Verzeichnis der Messung ab auf der im Folgenden gearbeitet wird Die Umsetzung der Schnittstellen beginnt mit dem Auslesen der entsprechen den Unterordner der Software F r die A Scan Transformationen werden die er haltenen Informationen ber die Funktionsnamen direkt in das Drop Down Men geschrieben w hrend bei den eigenst ndigen Funktionen in der Men leiste zu n chst nach der dem Dateinamen entsprechen
115. nregungspulses und Abspeichern in einer Datei entspre chenden Formates e Implementierung der Resize Funktionen Damit ist es m glich die Oberfl chen an verschiedene Bildschirmaufl sungen anzupassen e Anbieten weiterer Export Formate f r Grafiken Auch hier k nnte evtl ein Schnittstellenkonzept zum Einsatz kommen 86 8 DISKUSSION UND AUSBLICK e Hinzufiigen von weiteren Bildbearbeitungsfunktionen e Anpassung des 3D Modells so dass die ausgew hlten Motorpositionen vi sualisiert werden Dies k nnte evtl ber die Anderung der Farbe der Voxel erfolgen e Implementierung zus tzlicher Auswahlmuster f r das 3D Modell sowie das Listenfeld f r beliebige Sender Empf nger Kombinationen e 3D Auswahl von Bereichen im USCT Modell e Starten der Rekonstruktionssoftware ber die Benutzeroberfl che Hierf r sind jedoch zun chst Anpassung an der Rekonstruktionssoftware notwen dig Des Weiteren soll die Erweiterung der Software mit dem Einbinden vorhande ner Funktionen durch die Mitarbeiter vorangetrieben werden Auch hier hilft das Subversion System den Benutzern immer den aktuellen Funktionsumfang bereit zustellen Eine weiterreichende nderung w re das Kompilieren des Quellcodes mit dem MATLAB Compiler zu einer eigenst ndigen Software Diese Zusatzsoftware kann den MATLAB Quellcode in kompilierbaren C bzw C Quelltext umwandeln wodurch sich Geschwindigkeitsvorteile bei der Ausf hrung sowie eine Unabh n
116. nster Vorteil einer solchen Benutzeroberfl che ist die integrierte Verf gbarkeit al ler Informationen Dies l sst sich jedoch auch gleichzeitig als gr ter Nachteil auslegen durch die zahlreichen gleichzeitig dargestellten Informationen kann die Verfolgung dieses Konzeptes schnell zur Un bersichtlichkeit f hren Dem Benut zer ist es nicht m glich die f r ihn irrelevanten Teilbereiche Funktionen oder Informationen auszublenden Eine zweite Variante verschafft eine bessere bersichtlichkeit durch die Aus blendung von Teilbereichen Jede Gruppe erh lt ihre eigene Benutzeroberfl che 32 5 KONZEPT UND DESIGN Abbildung 5 2 Zwischen den Gruppen kann ber ein Registerkartensystem ge wechselt werden Auf jeder Registerkarte werden die entsprechenden Bedienele mente angezeigt Abbildung 5 2 Entwurf einer Benutzeroberfl che Trennung der Bereiche durch Registerkartensystem Ein klarer Nachteil ergibt sich allerdings hier da die Zusammenh nge zwi schen den Gruppen schwer abgebildet werden k nnen Ein automatischer Wechsel w re ebenso wenig benutzerfreundlich wie ein erforderlicher manueller Wechsel Der Benutzer kann nie alle Informationen gleichzeitig erfassen Des Weiteren ist eine Umsetzung mit den vorhandenen Bedienelementen als recht schwierig anzu sehen Abbildung 5 3 Entwurf einer geteilten Benutzeroberfl che Zwischen Bild und USCT Bereich kann mit Registerkarten gewechselt werden 33 5 K
117. nzuwirken ist das 3D Modell in drei Schichten entspre chend der TAS Layer unterteilt Diese sind im Drop Down Men ausw hlbar Beim Wechseln des Layers wird die Zeichen Funktion des 3D Modells wie oben beschrieben mit ver nderten Parametern f r Beginn und End Senderlayer auf gerufen Eine Vereinfachung der Auswahl von Sendern und Empf ngern wird durch eine programmierbare linke Maustaste erreicht Den Voxeln werden neben den Kontextmen s so genannte ButtonDownFunctions zugewiesen die aufgerufen werden sobald mit einer beliebigen Maustaste auf sie geklickt wird In der zuge h rigen Funktion kann dann berpr ft werden welche Maustaste zuletzt gedr ckt wurde Beim Aufruf einer Funktion ber das Kontextmen der Voxel wird der Funkti onsname in einer Variablen zwischengespeichert Ein Klick mit der linken Mausta ste bewirkt nun eine Abfrage dieser Variablen mit anschlie ender Ausf hrung der Funktion Dabei ndert sich durch den Mausklick die Referenz des aufrufenden Voxels so dass die zuletzt ausgef hrte Operation auf das angeklickte Voxel an gewendet wird Dem Benutzer erspart diese Funktion das recht aufwendige Navigieren durch das Kontextmen welches wiederum notwendig ist um dem Benutzer verschiede ne Auswahlmuster zur Verf gung zu stellen Damit ist es m glich ganze Spalten 24 Sender bzw 48 Empf ngerelemente oder ganze Ebenen 96 Sende bzw 192 Empf ngerelemente mit nur einem einzigen Mausklick zu markiere
118. ohem Aufwand nachvollzogen werden Die Folgerung aus der beschriebenen Ist Situation ist die Notwendigkeit einer Software die den wissenschaftlichen Mitarbeitern eine grafische Benutzeroberfl The MathWorks Inc MATLAB http www mathworks com Arbeitsgruppe Ultraschall Computertomographie am Institut f r Prozessdatenverarbeitung und Elektronik im Forschungszentrum Karlsruhe Webseite http fuzzy f zk de USCT 1 EINLEITUNG che GUI fiir Graphical User Interface bietet mit der es m glich ist auf den Rohdaten wie auch auf den rekonstruierten Bildern zu arbeiten und Analysen der Signale Bilder usw durchzuf hren Ben tigt werden M glichkeiten zur schnellen grafischen Darstellung von Informationen um einen besseren berblick ber die gro en Datenmengen deren Herkunft und Wirkung zu verschaffen Ein ebenso wichtiger Punkt ist die Verkn pfung der Rohdaten mit den Daten rekonstruierter Bilder um die Ursachen von auftretenden Problemen zu ergr nden F r verschie dene sich wiederholende Arbeitsabl ufe soll eine Automatisierung erfolgen Dabei ist es unbedingt erforderlich auf die Erweiterbarkeit und Anpassbarkeit der Software zu setzen da sich durch neue Erkenntnisse st ndig neue Anforde rungen an die Analysemethoden ergeben F r zuk nftige Entwicklungen soll es einfach sein eine grafische Oberfl che zu benutzen um den Umgang mit Analyse funktionen f r alle Mitarbeiter zu erleichtern Bisherige alleinstehe
119. olche bieten sich vornehmlich f r andauernde Prozesse wie beispielsweise Suchen Auflistungen usw an Bedienelemente gestalten Unter der gro en Anzahl verschiedener benutzba rer Bedienelemente m ssen f r die jeweilige Aufgabe die passenden gefun den werden Tabelle 4 2 gibt einen kurzen berblick ber die Verwendung von Bedienelementen Des Weiteren sollte auch das Aussehen die Bezeichnung und das Verhalten von Bedienelementen in der gesamten Software konsistent sein 29 4 GRUNDLAGEN von angezeigt Bedienelement Anzahl der Auswahl Art m glichkeiten Men leiste max 10 Eintr ge statisch Pull Down Men max 12 Eintr ge statisch Kaskadierende Men s max 5 Eintr ge pro statisch Kaskade 1 stufig kaska dierend Pop up Men s max 10 Eintr ge statisch Schaltfl che 1 pro Schaltfl che max statisch 6 pro Dialog Checkbox 1 pro Checkbox max statisches setzen aus 10 12 pro Gruppierung w hlen von Werten Radiobutton 1 pro Radiobutton max statisches setzen aus 6 pro Gruppierung w hlen von Werten Listenfeld 50 in der Liste 8 10 da dynamisches setzen ausw hlen von mehre ren Werten Drop Down Listenfeld 20 in der Liste immer nur 1 davon markiert dynamisches setzen ausw hlen von einzelnen Werten Bildlaufleiste dynamisch wahlbar ab h ngig von den ange zeigten Daten statisches setzen aus w hlen aus einem Wer tebereich
120. ollen Diese Listen werden in zwei Textdateien AvailableEmitters txt und AvailableReceivers txt abgelegt Die Datei startet mit einem auskommentierten Header wobei das Zeichen eine Zeile der Textda tei als Kommentar deklariert In der ersten unkommentierten Zeile stehen darauf folgend die realen linearen Sendernummern durch ein Leerzeichen getrennt siehe Anhang B 1 Der Aufbau der Datei f r die Empf nger verl uft analog Anhang B 2 In der Datei codedExcitation txt wird der Anregungspuls f r die Ultraschall wandler beschrieben Auch hier dient das Raute Zeichen als Einleitung f r eine Kommentarzeile Darauffolgend stehen 510 16 Bit Zahlenwerte in Dezimal notation Anhang B 3 Die Datei Bitfield mat enth lt ein Array mit 2 654 208 Elementen 8 Bit die die insgesamt 21 233 664 theoretisch m glichen Sender Empf nger Kombinationen repr sentieren Soll eine Messung eine Kombination verwenden ist das entsprechende Bit auf 1 andernfalls auf 0 gesetzt Die Position eines Bits n kann wie folgt einer Sender Empf nger Kombination zugeordnet werden n GE L 4 2 g anzSN anzRL anzRN HOE PSN eer 4 2 restSL N 14 i N 4 S nzRL anzEN mit Rest restS 4 3 16 4 GRUNDLAGEN restSN RL 1 4 zRN mit Rest restRL 4 4 RN restRL 4 5 mit SL Senderebene SN Sendeelement RL Receiverebene RN Re ceiverelement sowie der Gesamtanzahl der verf gbaren Sendeelemente
121. omputertomographie basiert auf einer Vielzahl von Ul traschallwandlern die ringf rmig auf einem wassergef llten Zylinder angeordnet sind Abbildung 1 1 Um eine m glichst hohe Bildqualit t mit Aufl sungen von ca 0 1 mm zu erreichen ist eine sehr gro e Anzahl von Informationen aus allen Richtungen erforderlich Zur Gewinnung dieser Informationen sendet jeweils ein Ultraschallwandler w hrend alle anderen empfangen Aus der Kombination aller Sender und Emp Abbildung 1 1 Modell des 3D Ultraschall Computertomographen 1 EINLEITUNG fanger ergibt sich somit f r eine Aufnahme eine eben so gro e Anzahl aufgenom mener Datens tze mit entsprechendem Speichervolumen im Gigabyte Bereich Anschlie end wird aus den Rohdaten das Bild rekonstruiert Hierf r wird das Prinzip der Reflexionstomographie verwendet das aus Laufzeitinformationen der Ultraschallsignale die Objekte innerhalb des Ultraschall Computertomographen USCT abbildet Eine ausf hrliche Einf hrung in die Ultraschall Computertomographie wird in Abschnitt 4 1 gegeben 1 3 Motivation Bei einer Messung mit dem USCT werden ca 3 5 Millionen Datens tze von ca 2000 Ultraschallwandlern erfasst die als Rohdaten auf der Festplatte des Daten akquisitionsrechners abgelegt werden Anschlie end wird aus den aufgenomme nen Daten mit der Rekonstruktionssoftware basierend auf der mathematischen Software MATLAB das Bild rekonstruiert Sowohl bei der Rekonstruktion als
122. on ver ndern Im Abschnitt 2D Control kann die Motorposition ber den Plus 42 bzw Minus Button 43 ver ndert werden Eine expli zite Motorposition kann durch Eingabe eines Zahlenwertes zwischen 0 und 5 in das daneben befindliche Textfeld 44 und Dr cken der Returntaste angegeben werden Sender Layer ver ndern Ebenso wie bei der Motorposition kann auch der dar gestellte Sender Layer sowohl ber die Buttons 46 47 als auch ber eine direkte Eingabe 45 ver ndert werden Elemente selektieren deselektieren Das Selektieren bzw Deselektieren er folgt analog zur 3D Ansicht Durch einen Rechtsklick auf ein Element ffnet sich ein Kontextmen das die Unterpunkte set as Sender set as Recei ver und deselect anbietet Bei den Receivern ist zu beachten dass sich ein neuer Dialog ffnet in dem noch einmal das gew nschte der vier durch den angezeigten Patch repr sentierten Empfangselemente ausgew hlt wer den kann A 4 3 File Generator Mit dem File Generator 39 40 k nnen anhand der markierten Sender und Empf nger Elemente Dateien erzeugt werden die f r andere Software ben tigt werden Bitfield Das Bitfield beschreibt welche Sender und Empf nger Kombinationen bei einer Messung vorhanden sind bzw welche f r eine Rekonstruktion eines Bildes verwendet werden Das erzeugte Ausgabeformat ist eine mat Datei mit entsprechenden Datenstrukturen AvailableEmitter Available Emitter wird von der Dat
123. ossen womit die Software fertig geladen ist und nun verwendet werden kann Die Oberfl che stellt sich nach dem Start der Software wie in Abbildung 6 20 dar 74 6 UMSETZUNG Abbildung 6 20 Anordnung der Benutzeroberfl chen nach dem Starten der Soft ware 6 6 Implementierte Plugins Beispielhaft wurden einige Plugins der Schnittstelle fiir eigenstandige Funktionen implementiert Deren Funktionsweise sei hier kurz vorgestellt 6 6 1 Visualisierung der Geometrie Dateien F r die Visualisierung der Geometrie Dateien wird eine neue Oberfl che Abbil dung 6 21 ge ffnet in der durch zwei Textfelder der Pfad zu den Geometrie Dateien angegeben werden kann Neben der Eintragung des Pfades per Hand ist es m glich die Dateien anhand eines ffnen Dialoges auszuw hlen Durch das Bet tigen der Schaltfl che Visualize werden die in den Geometrie Dateien gespeicherten Koordinaten der Sender und Empf nger ausgelesen und mit dem MATLAB Befehl plot3 in das Axes Objekt der Oberfl che geplottet Sender werden als rote Punkte dargestellt Empf nger als gr ne Punkte 6 6 2 Transducer Check Der Transducer Check dient der berpr fung der Sende und Empfangselemente zur Detektion fehlerhafter Ultraschallwandler und nicht verwertbarer A Scans Die Oberfl che ist aufgeteilt in einen Bereich zur berpr fung der Sender und einen Bereich zur berpr fung der Empf nger Abbildung 6 22 Gearbeitet wird auf dem aktu
124. pei chern als Grafikdatei ist per Rechtsklick m glich Abspeichern der Daten Die Daten der transformierten A Scans k nnen per Rechtsklick auf das Transformationsfeld 24 gt Save Blue Data as bzw Save Red Data as in eine Datei im MATLAB Datenformat abgespeichert werden Auswahlbereich verwenden Transformationen k nnen auch auf einem ausge w hlten Bereich aus dem geladenen A Scan angewendet werden Hierf r muss zun chst eine Selektion im A Scan Anzeigefeld erfolgen siehe A 3 3 Anschlie end kann die Checkbox Use Region 25 aktiviert werden wo durch anschlie end angewandte Transformationen nicht mehr auf dem ge samten Datensatz ausgef hrt werden A 4 USCT Die USCT Oberfl che Abbildung A 4 dient haupts chlich der Visualisierung und Auswahl von Sender Empf nger Kombinationen 102 A BENUTZERHANDBUCH a USCT 3D View View Sender Layer 8 15 USCT 2D View Fie Generator eate and save File soll S R Combinations I Use sach 60 Abbildung A 4 USCT Oberfl che nach dem Starten der Software 103 A BENUTZERHANDBUCH A ATI 3D Ansicht Im oberen Teil der Benutzeroberfl che befindet sich die 3D Darstellung des USCT 34 wobei jedes dargestellte Element blau einem Sender bzw vier Empf ngern entspricht Ein ausgew hlter Sender wird rot markiert ein ausgew hlter Emp f nger gr n Dabei ist zu ber cksi
125. r der Checkbox Use TAS Lists verbirgt sich ein Flag das gesetzt wird um ausdr cklich die Markierungen in den Auswahllisten der A Scan Oberfl chen zum Laden der Daten zu verwenden Ist diese Box hingegen deaktiviert wird das Listenfeld Custom Sender Receiver Combinations siehe auch 6 2 2 in der USCT Oberfl che verwendet Der Bereich zur Einstellung der Wassertemperatur beruht auf einer Bildlauf leiste deren Wertebereich initial auf das Intervall 15 35 eingestellt ist Die bei einer Bewegung des Reglers ausgef hrte Callback Funktion liest den aktuellen Wert des Objektes und tr gt ihn in das dar ber liegende Textfeld mit dem Zusatz C ein Anschlie end wird die Ausbreitungsgeschwindigkeit des Ultraschalls im Medium Wasser bei der gew hlten Temperatur mit der Funktion soundSpeed berechnet die aus der Rekonstruktionssoftware entnommen wurde Diese nutzt zur Bestimmung der Schallgeschwindigkeit die Formel nach Marczak Nat04 Der errechnete Wert wird in das zus tzliche Textfeld eingetragen Auf die Berechnung der Rekonstruktionsellipsen wird in Abschnitt 6 4 4 n her eingegangen Der Bereich Transformations basiert auf den Daten des A Scans der derzeit in der A Scan Oberfl che geladen ist und angezeigt wird Die Callback Funktion der Drop Down Men s liest die Namen der angebote nen Funktionen sowie die aktuelle Markierung aus Der Name wird anschlie end in der Handles Variable gespeichert und repr
126. raschall Computertomographen ist wie bereits erw hnt ein Sende Element von 4 Empfangs Elementen umgeben Da der bersicht wegen die 3D Visualisierung lediglich die Sende Elemente als Voxel darstellt ist es erforder lich zus tzlich eine M glichkeit zur Auswahl eines einzelnen Empfangselementes zu erm glichen Dies geschieht ber einen kleinen Dialog der bei der Auswahl set as Receiver ge ffnet wird In ihm werden die vier dem Sendeelement zugeord neten Empfangselemente Berechnung nach Formel 6 10 als klickbare Patches dargestellt Abbildung 6 11 Ein aktivierter Empf nger wird durch eine gr ne F rbung des Patches visualisiert deaktivierte Empfangselemente haben eine blaue Farbe Die Funktion setzt die globalen Variablen zur Speicherung der mar kierten Empf nger Abbildung 6 11 Dialog zur Auswahl von Receiverelementen 97 6 UMSETZUNG Die Ansicht des 3D Modells kann ber zwei Schaltfl chen gedreht werden Die jeweiligen Callback Funktionen ndern dabei die Ausrichtung des gesamten Axes Objektes wodurch ein zeitaufwendiges Neuzeichnen der Voxel vermieden wird Mit dem Togglebutton Rotate wird f r das Axes Objekt der Rotationsmodus ein bzw ausgeschaltet der ein beliebiges Drehen desselben in alle Richtungen erm glicht Aufgrund der gro en Anzahl von Sendeelementen und der daraus resultie renden F lle von Voxeln kann die bersichtlichkeit des Modells schnell verloren gehen Um dem entgege
127. rden kann Das Benutzerhandbuch ist auch als PDF Datei verf gbar und wird zus tzlich als Hilfe System innerhalb der Software angeboten Letzteres kann in der A Scan Oberfl che ber Help gt User Manual aufgerufen werden Der in LaTeX ver fasste Text wurde dabei in HTML Seiten exportiert welche von MATLAB im Hilfe Dialog Abbildung 6 24 ausgegeben werden k nnen al aj fir DM ges amp ep g Dep DI eg e amp mine Gel Bremen Ferien e D H We re ee 1 ni later uni Adware oo ne Vorherige Sege r m Allgemeine Einstellungen an ben agen ment com Teensen E gerrr erfreet T we D I freeman Aer abe roseni geen Armen Le Botes Ab Arten am 4 werden KI ERT 2 ere STE EAETer Dit Merete emgeet EI US Va raren Io Ve N octet ener ei eres wenn b T 2 ee teg sed In gen Feigen Rer rap ki Image Varia Nene em J hess Abbildung 6 24 Hilfe Dialog der Software Die Funktionen und Subfunktionen die in Quelltextdateien gespeichert die Software ergeben werden in der Funktionsreferenz beschrieben welche mit Hilfe des Tools m2html von Guillaume Flandin generiert wurde Dieses Skript f r MATLAB ist ber die MATLAB File Exchange Seite erh ltlich und bietet vie le Einstellm glichkeiten Die erstellten HTML Dateien beinhalten zun chst eine kurze Beschreibung der Funktion die aus den im Quelltext vorhandenen Kom mentaren extrahiert wird gefolgt von einer Auflistung aller aufgerufener und auf m2html Toolbox zum autom
128. rdnerstruktur der Software Der Ordner in der ersten Hierarchieebene root bezeichnet das Verzeichnis in dem die Software abgelegt ist In ihm befinden sich die ausfiihrbaren Teile der Software d h die drei Hauptfenster der Benutzeroberfl che sowie ein Start Tool das die Software l dt und die Fenster auf dem Bildschirm ausrichtet 37 5 KONZEPT UND DESIGN Im Unterordner data werden MATLAB Datendateien abgelegt die f r den Aufbau der Benutzeroberfl che ben tigt werden Dies sind vornehmlich die Geometrie Dateien des USCT die die Koordinaten der Sender und Empf nger liefern Der Ordner dialogs auf der zweiten Hierarchieebene dient der Aufbewahrung der Dialoge die die Software w hrend der Laufzeit aufruft Unter anderem ist hier die Anzeige von Informationen zu A Scans und ein Dialog zum Plotten mehrerer A Scans zu nennen Der Unterordner doc beinhaltet die Dokumentation der Software Er ist nochmals unterteilt in userManual dem Benutzerhandbuch und reference der Funktionsreferenz Ersteres ist eine M glichkeit f r den Benutzer die Funktio nalit t der Software nachzuschlagen Zweitere bietet Entwicklern eine bersicht ber den Quelltext und die Schnittstellen zwischen den Funktionen S mtliche Plugins werden im Ordner functions abgelegt Dieser ist nochmals unterteilt in die Unterordner f r die jeweiligen Plugin Schnittstellen e ascanGUIMenu usctGUIMenu und i
129. rechnungen Letztere Funktion soll hnlich wie die A Scan Transformationen ber ein Pluginkonzept f r das Einh ngen selbst programmier ter Funktionen erweiterbar sein F r die rekonstruierten Bilder ist es erw nscht Bildverarbeitungsfunktionen anzubieten Darunter f llt z B die Anpassung der Helligkeit eines Bildes oder die Ver nderung der MATLAB Colormap Des Weiteren soll eine logarithmierte Darstellung der Daten ausw hlbar sein Der Export der Bilder soll sowohl im MATLAB Datenformat wie auch im JPEG Bildformat gew hrleistet werden Informationen ber ein rekonstruiertes Bild bez glich der Gr e dem Auf nahmemodus usw sollen in der zu erstellenden Benutzeroberfl che dargestellt werden F r Volumenbilder soll eine M glichkeit der Visualisierung entwickelt werden mit der der Benutzer ein Volumen in generierten Schnittbildern durchlaufen kann Die Schnittebene ist dabei aus den drei Hauptachsenkombinationen XY XZ und YZ ausw hlbar zu gestalten Zur Gew hrleistung der Erweiterungsf higkeit der Software im Bereich der rekonstruierten Bilder soll eine weitere Schnittstelle geschaffen werden ber die das Einh ngen beliebiger Funktionen die auf Ausschnitten des Bildes operieren m glich ist Ein weiterer Teil der Anforderungen besch ftigt sich mit der Abbildung des Ultraschall Computertomographen in einem interaktiven Modell in dem Sender und Empf nger mit der Maus markierbar sein sollen Auswahlbereiche aus der Volu
130. rmat abge speichert werden so dass die zeitaufwendige Abarbeitung des Tests f r verschie dene weitere Funktionen genutzt werden kann 5Mit Transmissionssignal wird das Signal innerhalb des A Scans bezeichnet das auf direktem Weg von Sender zu Empf nger gelangt ist 76 6 UMSETZUNG Abbildung 6 22 Oberfl che des Transducer Checks 6 6 3 Visualisierung des Anregungspulses Wie in Kapitel 4 beschrieben wird der Anregungspuls in einer Datei codedEx citation txt als Aneinanderreihung von Zahlenwerten gespeichert Diese wird durch die Funktion showCodedExcitation anhand des in der Software eingestell ten Experimentverzeichnisses ausgelesen und die Werte in ein MATLAB Array geschrieben welches anschlie end in einem neuen Fenster geplottet wird Abbil dung 6 23 ell Si D pa pn pt fen S mm DHA Se E r EES Abbildung 6 23 Visualisierung des bei der Messung verwendeten Anregungspul ses 77 6 UMSETZUNG 6 7 Dokumentation der Software Zur Dokumentation der Software wurde ein Benutzerhandbuch erstellt in dem alle Funktionalitaten aufgelistet und erklart werden Dieses ist im Anhang A zu finden Eingegangen wird darin auch auf die Schnittstellen ber die der Softwa re neue Funktionen hinzugef gt werden k nnen Bei der Schreibweise wurde auf die Zielgruppe der Software geachtet so dass von einem Vorwissen im Zusam menhang mit dem Ultraschall Computertomographen ausgegangen we
131. rs Empfangselement selektieren Analog zur Auswahl eines Sendeelements kann mit einem Rechtsklick gt set as receiver ein Element als Receiver markiert werden Da sich hinter einem Element jedoch 4 Receiver verbergen wird ein Dialog ge ffnet bei dem ein oder mehrere Receiverelemente durch Dar aufklicken ausgew hlt werden k nnen Eine Deselektierung innerhalb dieses Dialogs erfolgt ebenfalls durch einen Klick mit der linken Maustaste Wie auch bei den Sendern ist es m glich komplette Layer oder Winkel auszu w hlen Elemente deselektieren ber das Kontextmen das sich hinter einem Klick mit der rechten Maustaste auf ein Element verbirgt lassen sich Elemente ber den Punkt deselect deselektieren Hier bietet sich die M glichkeit die Deselektierung auf einzelne Elemente alle Elemente den gesamten Layer oder den gesamten Winkel anzuwenden 104 A BENUTZERHANDBUCH Programmierbare linke Maustaste Zur schnelleren Auswahl von Elementen ist die linke Maustaste programmierbar Die zuletzt ausgefiihrte Aktion z B einen Layer als Sender definieren ein einzelnes Element als Receiver selektieren ein Element deselektieren kann durch einen Klick mit der linken Maustaste auch auf andere Elemente angewendet werden A 4 2 2D Ansicht Die 2D Ansicht 41 stellt jeweils eine Sender Ebene an einer Motorposition des USCT dar Dem Benutzer stehen folgende Interaktionsm glichkeiten zur Verf gung Motorpositi
132. rung der MATLAB Funktionen in Ordnern und Unterordnern aufzubauen Die Software ist lauff hig auf allen Systemen zu gestalten die Matlab in der Version 6 oder h her installiert haben Kapitel 3 Verfahren und Methoden Zum Erreichen der Aufgabenstellung steht die folgende Hard und Software zur Verfiigung 3 1 Hardware Als Entwicklungsumgebung dient ein Rechner der Marke Fujitsu Siemens mit einem 3 2 GHz Pentium IV Prozessor 1024 MB Arbeitsspeicher und 80 GB Festplatte Der Prozessor unterstiitzt Hyper Threading das eine zweite virtuelle Prozessoreinheit zur Verfiigung stellt um den Prozessor effizienter zu nutzen Zur Speicherung der Software wird ber ein Fast Ethernet Netzwerk zus tzlich auf den Fileserver des Instituts f r Prozessdatenverarbeitung und Elektronik zur ck gegriffen Als Bildschirm dient ein 18 1 LCD Flachbildschirm der Marke EIZO mit einer Aufl sung von 1280 x 1024 Pixel Die Datens tze auf denen gearbeitet wird stammen aus dem am IPE ent wickelten Prototypen des 3D Ultraschall Computertomographen und sind auf oben benanntem Fileserver abgelegt Ebenso finden sich dort die Daten der rekon struierten Bilder die auf verschiedenen Rechnern der Arbeitsgruppe berechnet wurden 3 2 Betriebssystem Als Betriebssystem wird auf dem Entwicklungsrechner Windows XP Professional mit Service Pack 2 verwendet auf dem regelm ig Updates installiert werden Der 3 GB Arbeitsspeicher Switch ist in der Systemdate
133. s erm glicht beliebige Funktionen auf den Daten des aktuell geladenen A Scans auszuf hren Das Ergebnis der Transformation wird dann in das A Scan Transformations Feld 24 geplottet Es stehen zwei identisch aufgebaute Transformations Auswahlfelder zur Ver f gung Blue sowie Red Dabei entsprechen die Bezeichnungen der Farbe der nach der Berechnung angezeigten Kurve F r die Einbindung eigener Transformatioen siehe A 6 2 Transformations Methode w hlen ber die Drop Down Felder 26 29 kann eine Transformations Methode ausgew hlt werden die dann auf den im oberen Bereich der A Scan Oberflache geladenen Datensatz durch Be t tigen der Buttons Show 28 31 angewendet werden kann Parameter ndern oder beibehalten Einige Transformationen erwarten vor der Ausf hrung zus tzliche Parameter Diese sind in einer gleichnami gen mat Datei im Funktionsverzeichnis mit Name und Wert gespeichert Es kann ber die Toggle Buttons P 27 30 gew hlt werden ob die bisher verwendeten bzw vorgegebenen Werte verwendet werden sollen Toggle Button deaktiviert oder ob ein Fenster zur Eingabe und nderung der Werte angezeigt werden soll Toggle Button aktiviert Standardm ig sind die Buttons aktiviert Vergr erung anzeigen als Grafik exportieren Ebenso wie beim A Scan Anzeigefeld kann ber die Lupen Schaltfl che 32 ein neues Fenster mit einer Vergr erung des Transformationsfeldes ge ffnet werden Ein Abs
134. schaffene Funktion zur Anzeige mehrerer A Scans gleichzeitig Die Abspeicherung der Rohdaten per Benutzeroberfl che wurde sowohl f r die Einzelanzeige als auch die Anzeige mehrerer A Scans erm glicht Dem Benut zer hilft ein Speichern unter Dialog zur Auswahl des Dateipfades Ein Export der geplotteten Signaldaten in die Grafikformate JPEG und PNG ist ebenfalls m glich Der Aufwand zur Erlangung von Messungs und A Scan Informationen wurde durch die Aufbereitung der Messungsinformationen in einem Dialog auf einen Klick reduziert Entwickelt wurde ein Konzept zur Anzeige von Volumenbildern in der Benut zeroberfl che welches die bisher in der Abteilung verwendete manuelle Methodik abl st Zur manuellen oder automatisierten Weiterverarbeitung au erhalb der erstellten Software k nnen die Bilddaten sowohl im MATLAB Datenformat wie auch als JPEG Bild abgespeichert werden Die M glichkeit zum Vergleich zweier Bilder die beispielsweise mit unter schiedlichen Parameterkonfigurationen rekonstruiert wurden ist durch die Imple mentierung zweier Bildkan le in der Rekonstruktionsbilder Oberfl che gegeben Informationen zum Bild k nnen ohne gro en Aufwand innerhalb von Tooltips ein gesehen werden Die Anpassbarkeit des Bildbereiches auf neue Rekonstruktions verfahren begr ndet sich in der beliebigen Austauschbarkeit der in der Bilddatei 81 7 ERGEBNISSE gesuchten Variablen Vereinigungen von Bildern erlauben zus tzliche M
135. se wird in einem Plugin Konzept umgesetzt das an verschiedenen Stellen in der Software angeboten wird Grundidee hierf r ist das Auslesen bestimmter Ordner beim Start der Soft ware in denen die Quelltextdateien mit den entsprechenden Funktionen abgelegt werden k nnen Sie werden anschlie end in Men s oder Drop Down Feldern ein getragen aus denen sie der Benutzer ausw hlt Es lassen sich zwei Plugin Typen unterscheiden 35 5 KONZEPT UND DESIGN 5 3 1 Eigenst ndige Plugins ber eigenst ndige Plugins lassen sich beliebige Funktionen in die Software inte grieren Eine solche Variante wird in jedem der drei Teile der Benutzeroberfl che in der Men leiste angeboten In der Implementierung hat der Entwickler freie Hand da er keine bergabeparameter beachten muss Die Funktionen sind ei genst ndig und werden durch die Software lediglich per Funktionsaufruf gestartet Dies hat zur Folge dass sich der Entwickler auch um eventuelle Darstellungen in eigenen Benutzeroberfl chen k mmern muss Zur Einbindung in die Software muss die m Quelltextdatei mit einer gleichna migen Funktion in das daf r vorgesehene Verzeichnis siehe auch Abschnitt 5 4 gespeichert werden In einer zus tzlichen ebenfalls gleichnamigen MATLAB Datendatei muss eine String Variable mit dem Text des Men eintrages bereitge halten werden Grunds tzlich ist es auch m glich die vorhandenen Darstellungsformen der entwickelten Benutzeroberfl che wie
136. sehr einfach eigene Funktionen f r A Scan 82 7 ERGEBNISSE Transformationen Bildvereinigungen Funktionen auf Bildern bzw Bildaus schnitten eingebunden werden k nnen Entstanden ist damit ein Plugin Konzept das zu Testzwecken fiir die Benutzung bereits freigegeben wurde Bei der Ein bindung der Funktion estimateFWHM in der Schnittstelle f r Funktionen auf Bildausschnitten sowie der Funktion DetectPulses in der Schnittstelle f r A Scan Transformationen war zu erkennen dass bei vorhandener Funktionalit t die Integration einer Funktion in wenigen Minuten von statten gehen kann Ei ne zus tzliche beliebige Erweiterungsm glichkeit wurde mit der Schnittstelle zur Einbindung von Funktionen in die Men leisten der Oberfl chen geschaffen Damit kann grunds tzlich jede MATLAB Anwendung in die Software eingebunden wer den ber in der Funktionsreferenz aufgef hrte Funktionen ist auch der Zugriff auf Ein und Ausgabeelemente der Software m glich Alle Funktionen sind in einer dreiteiligen Benutzeroberfl che verf gbar wo durch die unterschiedlichen Sichtweisen auf die Daten sowohl isoliert als auch vereint gesehen werden k nnen Bei der Auswahl von A Scans herrscht Konsistenz zwischen den verschiedenen Auswahlelementen Beispielsweise bewirkt eine Markierung in den Listenfeldern automatisch die Aktualisierung der 3D und 2D Ansicht Ein zur ckgerechneter A Scan Bereich beispielsweise kann f r die Ausf hrung vo
137. te der Teilbereiche befinden sich in einem Fenster Entwurf einer Benutzeroberfl che Trennung der Bereiche durch Registerkarten SYSTEME se EA EE Entwurf einer geteilten Benutzeroberfl che Zwischen Bild und USCT Bereich kann mit Registerkarten gewechselt werden Konzept einer dreiteiligen Benutzeroberfl che mit eigenst ndigen Fenstern Ordnerstruktur der Software A Scan Oberf che 2 0 400 Dh SE eke na eee ea Oberfl che zur Anzeige mehrerer A Scans und Oberfl che zum Abspeichern der A Scan Daten e na ea na Er Ba anna m e a Auswahl eines Bereichs in einem A Scan mit der Funktion ginput In gr n werden die Grenzen der Markierung eingezeichnet 2 2 22 222 Oberfl che zur vergr erten Ansicht eines A Scans Dialog zur Anzeige von Informationen zu einem A Scan und dem dazugeh rigen Experiment 9 heec 8 02 Ber al E er ote ht he es Habe ide are i Dialog zur Anzeige von Kennzahlen eines A Scans Dynamisch generierter Dialog zum ndern von Parameterwerten Oberfl che zur nderung der benutzerdefinierten Einstellungen USCF Oberfl chen 4 2 gt G5 Asse DE 2er Erin I reed 3D Modell des USCT mit markierten Elementen als Sender rot Empf nger gr n Sender und Empf nger gelb sowie das auf die Elemente definierte Kon EE rar u e e ug ee a en E E Dialog zur Auswahl von Receiverelementen 12 12 13 14 15 17 18 20 21 25 32 33 33 34 37 42 45 47 48 49 50 5
138. teien mit der Endung m als reiner ASCII Text gespei chert Er kann somit sowohl mit dem in MATLAB eingebauten Editor als auch jeglichen anderen ASCII Editoren bearbeitet werden Der MATLAB Editor bie tet dar ber hinaus neben einem Syntaxhighlighting auch die M glichkeit des De buggings Wie aus anderen Sprachen bekannt k nnen Breakpoints gesetzt werden an denen die Interpretation des Quelltextes w hrend der Laufzeit unterbrochen wird 23 4 GRUNDLAGEN Bei der Programmierung wird zwischen Skripten und Funktionen unter schieden Wahrend Skripte lediglich eine Art Stapelverarbeitung von Befehlen darstellen konnen Funktionen Eingabe und Ausgabeparameter erhalten Eine MATLAB Funktion hat folgende Syntax function y average x wobei function das Schl sselwort des Befehls y den R ckgabewert average den Funktionsnamen und x einen Parameter darstellt Variablen die in einer Funktion definiert wurden werden als lokale Variablen bezeichnet und sind au erhalb der betreffenden Funktion nicht sichtbar Globale Variablen dagegen k nnen auch ber Funktionsgrenzen hinweg bekannt gemacht werden Hierf r wird einer Variablen vor der ersten Verwendung in einer Funktion das Schl sselwort global vorangestellt Die Namen der Quelltextdateien entsprechen im Allgemeinen dem Namen der prim ren Funktion Dar ber hinaus k nnen innerhalb einer Datei beliebig viele Unterfunktionen angelegt werden die nur f r dateiinterne
139. ten Bildes ausw hlen kann Anschlie end wird die Funktion loadI mage aufgerufen die die Datei einliest nach den vorgegebenen und in den benutzerdefinierten Einstellungen nderbaren Variablennamen f r die verschie denen Bildarten sucht und die Daten zur ckliefert Zus tzliche R ckgabewerte sind Flags welche die vorhandenen Bildarten beschreiben Darauffolgend versucht die Software die Info Datei zum jeweiligen Bild zu laden Alle Daten Bilder und Infos werden f r jeden Bildkanal zwischengespei chert Ein Volumenbild liegt dabei beispielsweise in Form eines dreidimensionalen Arrays vor Entsprechend der vorhandenen Bildarten werden die Radiobuttons zur Aus wahl dieser freigeschaltet Bei einem erfolgreichen Laden schaltet die Funktion au erdem die Bildbearbeitungs Elemente frei Anhand einer Funktion zur Erken nung der Dimension der Bilddaten werden auch die Toggle Buttons zur Auswahl der Schnittebene freigeschaltet bei 3D Bildern bzw im deaktivierten Zustand belassen 2DBilder Einige Informationen ber das geladene Bild wie z B die Gr e den Aufnah memodus und die physikalische Aufl sung werden in einen String zusammenge setzt und der Schaltfl che 1 bzw 2 als Tooltip gesetzt Initial wird nach dem Laden eines Bildes die zentrale Variable f r das ak tuelle zur Verarbeitung und Anzeige vorgesehene Bild gesetzt und anschlie end 64 6 UMSETZUNG je nach Dimension des Bildes ein Schnittbild
140. ten aller TAS und senden diese ber insgesamt 192 parallele 48 pro Board Analogkan le an die First Level Trigger boards FLT Dort werden die Signale zun chst analog gefiltert und verst rkt bevor die Analog Digitalwandlung mit 12 Bit Quantisierung stattfindet Dabei wird eine Abtastfrequenz von 10 MHz verwendet Aus der Aufnahmedauer von microEnable Karte Schnittstellenkarte zur Verbindung von Elektronik und Rechner Der microEnable Coprozessor ist komplett programmierbar 15 4 GRUNDLAGEN 300 us l sst sich die Gesamtzahl der Abtastpunkte Samples eines einzelnen A Scans nach Formel 4 1 errechnen 0 0003 s 10000000 1 s 3000 Samples 4 1 Die FLTs speichern die Daten zwischen bis sie vom SLT ber den PBus ausgelesen werden und von dort an die microEnable Karte des Datenakquisitionsrechners gesendet werden Der Rechner erfasst die digitalen Messdaten und speichert sie als A Scans ab Ein berblick ber die Durchf hrung einer Messung aus Hardwaresicht ver schafft Abbildung 4 5 Softwaresicht Wie bereits erw hnt wird eine Messung mit dem USCT von der Steuersoftware Andromeda initiiert Bevor eine Messung gestartet wird m ssen einige Parameter angegeben werden Zun chst ist es erforderlich einen Ordner auf der Festplatte zu erstellen in dem alle zum Experiment geh renden Dateien abgelegt werden Andromeda muss eine Liste der Sender und Empf nger vorliegen die bei der Messung angesteuert werden s
141. ten zip Archiv Unter an derem in dieser Form soll die Verteilung der Software erfolgen e Sources Die entpackte Software mit der beschriebenen Ordnerstruktur Die m Dateien beinhalten die Quelltexte und k nnen sowohl mit dem MATLAB Editor als auch mit jedem anderen beliebigen Text Editor ge ffnet werden e Benutzerhandbuch Das Benutzerhandbuch zur Software als PDF Dokument und Online Version in Form von HTML Dokumenten Quellen e Hier finden sich die im Literaturverzeichnis angegebenen Quellen welche als PDF Dokumente vorliegen Anhand des Kiirzels in eckigen Klammern des Dateinamens kann eine Zuordnung zum Literaturverzeichnis erfolgen Verwendete Biicher die nicht im PDF Format vorliegen sind darin nicht enthalten Diplomarbeit e PDF Die vorliegende Diplomarbeit als PDF Dokument e HTML Die Diplomarbeit als Online Version im HTML Format 119
142. tens tze z B bei einem Volumenbild ein dreidimensionales Array der geladenen Bilder e die Funktion muss als R ckgabewert ein zwei bzw dreidimensionales Array liefern das als Bild bzw Volumen dargestellt werden kann e eine Fehlerbehandlung muss innerhalb der implementierten Funktion er folgen So z B wenn Operationen nur auf gleich gro en Matrizen m glich sind e die Datei ist im Verzeichnis functions imageComparison abzulegen e beim Starten der Software wird der Ordner ausgelesen und das Drop Down Men mit den Namen der Funktionen gef llt Das Interface stellt sich in Code Form wie folgt dar function newImage lt funktionsname gt imageDatal imageData2 112 A BENUTZERHANDBUCH A 6 4 Allgemeine Bild Funktionen Eine zus tzliche Erweiterungsm glichkeit hat die Software mit den allgemeinen Bild Funktionen die auf dem gesamten Bild oder einer Auswahl Region of In terest ROI arbeiten Hierf r wurde eine Schnittstelle geschaffen bei der die folgenden Punkte zu beachten sind e Der Name der Funktion muss dem Namen der Datei entsprechen in der sie gespeichert ist e Als Parameter erh lt die Funktion zun chst die aktuellen Bilddaten Als Standard sind dies die 2D Daten des dargestellten Layers ber einen Ein trag in einer Parameterdatei l sst sich dies auch auf die bergabe des 3D Datensatzes ab ndern e Zweiter Parameter ist die Nummer des Layers der nur bei einem
143. tionssoftware Andromeda verwendet die am IPE entwickelt wurde Die aktuelle Version tragt die Bezeichnung 2 1 Zur Rekonstruktion von Bildern dient die ak tuelle Version 4 3 1 der Bildrekonstruktionssoftware Sie wurde ebenfalls am IPE entwickelt und basiert auf MATLAB wodurch einzelne Funktionen entsprechend angepasst in das Datenanalyse Tool einflie en k nnen Eine Versionierung der Software findet ber das Subversion System SVN der USCT Abteilung statt f r das als Windows Client die Software Tortoise SVN in der Version 1 4 0 verwendet wird Die vorliegende Diplomarbeit wird mit der TEX Implementierung MIKTEX 2 4 erstellt Als Editor dient die kostenlose Software TeXnicCenter 1 Beta 6 31 Firenze F r Grafikerstellung und Verwaltung von zus tzlichen Textdokumen ten dient Microsoft Office XP mit den aktuellsten Updates Des Weiteren wird zur Erstellung von Grafiken Macromedia Fireworks MX 2004 Version 7 0 2 295 sowie Macromedia FreeHand MX Version 11 0 2 ver wendet MATLAB File Exchange http www mathworks com matlabcentral fileexchange loadCategory do 10 Kapitel 4 Grundlagen 4 1 3D Ultraschall Computertomographie Bei der 3D Ultraschall Computertomographie handelt es sich um ein neuarti ges bildgebendes Verfahren das am Institut fiir Prozessdatenverarbeitung und Elektronik im Forschungszentrum Karlsruhe entwickelt wird Nachdem zun chst die Machbarkeit mit einem 2D Demonstrator nachgewiesen wurd
144. tspricht der des Multiple Modus W hrend der Messung werden neben den eigentlichen Daten auch zus tzliche Informationen abgespeichert Die Datei captains log dokumentiert den Verlauf einer Messung beinhaltet dabei Fehlermeldungen und Warnhinweise Senderspe zifische Informationen werden in der Datei emitterInfo mat im jeweiligen Unter ordner des Sendeelements gesichert Dies sind die durchschnittliche Temperatur sowie das Datum und die Zeit zu der der Sendevorgang gestartet wurde Im obersten Verzeichnis der Messung werden allgemeine Informationen in der Datei info mat bereitgestellt Diese umfasst den Experiment Namen eine Beschreibung des Experimentes den Startpunkt der Aufzeichnung des Experimentes den Endpunkt der Aufzeichnung des Experimentes den Namen der verantwortlichen Person die verwendete Signalverst rkung 18 4 GRUNDLAGEN e die verwendete Abtastrate e den Sample Offset der angibt wieviele Samples am Anfang eines A Scans verworfen werden e die Anzahl der Samples pro A Scan e den elektronischen Offset e die verwendete Frequenz des Tiefpassfilters e die Anzahl der Samples einer vollen W llenl nge e die Versionsnummer der verwendeten Hardware e die Bezeichnung der verwendeten Hardware e die Versionsnummer der verwendeten Software e den Namen des Kompressionsalgorithmus der vor dem Speichern der A Scans angewendet wurde e die verwendete Eingangspulsform Coded Excitation e d
145. ttrichtung des dargestellten Bil des ber cksichtigt werden So ergeben sich bei der Draufsicht in XY Richtung die Formeln 6 23 bis 6 25 usctDiam ZUSOT LStartp TIMAGE res Fr 6 23 usctDiam YUSCT vsu yrmace Tes slk 6 24 ZUSCT ZStartp layer 1 res 6 25 wobei yscr Yuscr und zZuscr die Koordinaten im kartesischen Koordinatensy stem des USCT darstellen 271 AGE YimaAce und Zrmageg die Koordinaten eines Eckpunktes der Selektion im Bild sowie startp Ystartp UNA Zstartp die Koordina ten des Startpunktes der Rekonstruktion im kartesischen Koordinatensystem des USCT Mit res ist die Aufl sung des Bildes in m Pixel angegeben usct Diam bezeichnet den Durchmesser des USCT Zylinders und layer steht f r die ausge w hlte Schnittebene des Bildes Der Radius des USCT muss aufgrund der Verschiebung des Nullpunktes in x und y Richtung bei der Rekonstruktion eines Bildes abgezogen werden Eine Invertierung der y Koordinaten ist erforderlich da durch die Spiegelung der Da ten w hrend der Darstellung eines Schnittbildes die Position im USCT ebenfalls gespiegelt berechnet werden w rde Bei den z Werten ergibt sich aufgrund der nur zweidimensionalen Auswahl die Besonderheit dass beide den gleichen Wert annehmen In XZ Richtung ndert sich die Berechnung der y und z Koordinate aufgrund der Darstellung der Schnittbilder im MATLAB Koordinatensystem wie folgt usctDiam YyuscT enn layer
146. tuellen Schichtbildes und kopiert sie in eine Variable die den Namen der derzeit ausgew hlten Bildart tr gt Darauf 65 6 UMSETZUNG Abbildung 6 15 Schnittrichtungen fiir die Erzeugung von Schichtbildern aus ei nem Volumen folgend wird die Variable im MATLAB Format auf der Festplatte abgespeichert Der Export in eine JPEG Datei erfolgt ber die MATLAB Funktion imwrite die eine Variable als Eingabewert verlangt in der die Farbwerte im RGB Format ste hen Deshalb ist zun chst eine Umrechnung der Matrixwerte in mehreren Schrit ten notwendig e Auslesen der aktuellen Colormap die f r das indexierte Bild verwendet wird e Die Gr e dieser Colormap gibt an auf wie viele Farbwerte das Datenarray des geladenen Bildes abgebildet wird e Mapping der Bilddaten b mit den Bildpunkten amp auf die Gr e der Co lormap Til t Lin b io 6 18 Tm 1 rr Tmn YrEb r 1 6 19 min b Der geringste Wert in b nimmt nun den Wert 0 an alle anderen Werte verteilen sich entsprechend skaliert FE 6 20 veeb r EECH gt b Der gr te Wert in b nimmt nun den Wert 1 an alle anderen Werte vertei len sich entsprechend Die Daten des rekonstruierten Bildes wurden also auf 66 6 UMSETZUNG das Intervall 0 1 abgebildet Diese m ssen nun auf die Gr e der Colormap skaliert werden Yr b x x size colormap gt b 6 21 e Die Daten aus b k nnen nun der
147. u stand e blau Grundfarbe der Elemente Das Element ist nicht markiert e rot Das Element ist als Sender markiert e gr n Ein oder mehrere der dem Element zugeordneten Empf nger sind markiert e gelb Das Element ist als Sender markiert und gleichzeitig sind zugeordnete Empf nger markiert In einem Rahmen 3 sind Ansichtsoptionen untergebracht Zwei Schaltfl chen dienen zum Drehen des USCT Modells im bzw gegen den Uhrzeigersinn Das Modell kann in drei Bl cke unterteilt werden die ber das Drop Down Men ausgew hlt werden k nnen Ein Togglebutton aktiviert bzw deaktiviert die 3D Rotationsfunktion Mit dieser kann das Modell ber die Maussteuerung in alle beliebige Richtungen frei gedreht werden Die 2D Ansicht 4 zeigt den Ultraschall Computertomographen aus der Draufsicht Dabei wird durch die Anzeige jeweils ein Senderlayer repr sentiert Eine zum 3D Modell analoge Interaktion erm glicht das Markieren der Elemente als Sender und Empf nger Die Kontrollfunktionen f r die 2D Darstellung werden im Rahmen 2D Control 5 geboten Die Motorposition kann ber zwei Schaltfl chen inkre mentiert bzw dekrementiert werden Ebenso ist es m glich diese direkt in die Editbox einzutragen Zur Visualisierung der ge nderten Motorposition wird das 53 6 UMSETZUNG 1 Men leiste 2 3D Darstellung des USCT 3 Ansichtsoptionen f r die 3D Dar stellung 6 Generierung von Dateien 4 2D
148. u erdem ist zu beachten Das m File sowie falls verwendet das mat File m ssen im Unter ordner functions ascans abgelegt werden DiagTool liest beim Starten den Ordner aus und bietet die Funktionen in den Drop Down Men s an Bei Aufruf der Funktion wird berpr ft ob das mat File vorhanden ist Falls ja wird wenn gew nscht ein Dialog zur Eingabe nderung der Parameter angezeigt und durch Best tigen mit OK die Funktion ausgef hrt sowie die berechneten Daten geplottet Ist die mat Datei nicht vorhanden wird berpr ft ob die Funktion weitere Parameter erwartet Ist dies der Fall erscheint eine Fehlermel dung andernfalls wird die Funktion ausgef hrt und die berechneten Daten geplottet 111 A BENUTZERHANDBUCH Beispiel DetectPulses m beginnt mit function peakAscan DetectPulses ascan inputParams Beispiel DetectPulses mat enth lt die Variable inputParams inputParams inputPulse 80x1 double inputPulseBegin 1 inputPulseEnd 80 startPos 1 step 10 numDftPoints 256 frequency 10000000 limit 1 0000e 010 scale 1 A 6 3 Bildvereinigungs Funktionen Die Images Oberfl che erlaubt es Bildvereinigungs Funktionen der beiden gela denen Bilder auszuf hren Bei der Implementierung solcher ist zu beachten e Der Funktionsname muss dem Namen der Datei entsprechen in dem sie abgelegt ist e Als Parameter erh lt die Funktion die beiden kompletten Da
149. uktur der Software 117 D Inhalt der CD 119 XIII Kapitel 1 Finleitung 1 1 Brustkrebsfriherkennung Brustkrebs ist in Deutschland wie auch weltweit die h ufigste Krebserkrankung bei Frauen Jede elfte Frau erkrankt im Laufe ihres Lebens daran Bei einem Mammakarzinom liegt die Sterblichkeit bei 18 und nimmt somit den ersten Platz unter den Krebserkrankungen ein GHJLO3 Die berlebenschancen k nnen wesentlich gesteigert werden wenn eine Er krankung bereits in einem fr hen Stadium erkannt wird und somit die Wahr scheinlichkeit einer Metastasierung geringer ist Zur Brustkrebsfr herkennung werden verschiedene bildgebende Verfahren ein gesetzt Mammographie Bei der Mammographie handelt es sich um eine Untersu chung mit R ntgenstrahlung bei der die Brust zwischen zwei Plexiglas platten komprimiert wird um die Strahlendosis m glichst gering zu halten Wik06b Insbesondere bei jungen Frauen mit einem hohen Anteil an Dr sengewebe liefert diese Methode schlechte Ergebnisse Zus tzlich zur Strah lenbelastung hat dieses Verfahren den Nachteil durch die Kompression und die zweidimensionale Abbildung eine Lokalisierung eines m glichen Tumors zu erschweren Magnet Resonanz Tomographie MRT Die Magnet Resonanz Tomogra phie meist auch synonym mit Kernspintomographie oder kurz Kernspin bezeichnet nutzt magnetische Felder um Schnittbilder des menschlichen K rpers zu erstellen welche zu einem dreidimensionalen
150. ulseEnd 80 inputPulseBegin 1 inputPulse this datatype is not supported OK Cancel Abbildung 6 7 Dynamisch generierter Dialog zum ndern von Parameterwerten Anschlie end wird die Transformationsfunktion mit den gew hlten Parame tern aufgerufen Das Ergebnis jeder Berechnung ist ein Datenarray welches in das Transformations Anzeige Feld geplottet und in einer globalen Variable ge speichert wird Wird der Togglebutton deaktiviert entfernt die Funktion den je weiligen Plot Durch die doppelte Verf gbarkeit der Funktionalit t k nnen Daten zweier Transformationen in unterschiedlichen Farben in das Feld geplottet wer den Ein f r das Anzeigefeld definiertes Kontextmen bietet die M glichkeit die Da ten beider Transformationen in Dateien im MATLAB Datenformat zu schreiben Als Quelle wird die globale Variable der Transformationsdaten verwendet deren Inhalt in eine Variable des Namens data kopiert wird und mit einem vom Be nutzer ber einen Speichern unter Dialog gew hlten Namen abgespeichert wird Die Lupen Schaltfl che ffnet den selben Dialog zur vergr erten Ansicht eines Plots wie auch bei der Vergr erung von A Scans Zuvor werden die Daten aus der 51 6 UMSETZUNG globalen Variable mit den transformierten Daten gefiillt Durch die Verwendung des identischen Dialoges bleibt auch die Funktionalit t zum Exportieren der geplotteten Daten in die Grafikformate JPEG und PNG erhalten Optional k
151. und die H he selbiger im Volumen angegeben werden In der Oberfl che erfolgt die Auswahl der Orientierung aus den drei Hauptachsenkombinationen ber drei sich gegenseitig verriegelnde Toggle Buttons 4 Die Schicht wird durch eine Bildlauf leiste 3 rechts des Anzeigefeldes ausgew hlt Durch den Colorbar Togglebutton 5 kann die MATLAB Colorbar in das An zeigefeld ein und ausgeblendet werden Sie visualisiert die Skalierung der Farben die im angezeigten Bild verwendet werden so dass der Benutzer die aufsummier ten Amplitudenwerte innerhalb des rekonstruierten Bildes ablesen kann Das Selektionswerkzeug 6 erm glicht die Markierung von Bildausschnitten die dann f r weitere Aktionen verwendet werden k nnen Nach Dr cken der Schaltfl che und Klicken in das angezeigte Bild wird ein Rahmen gezeichnet der auf eine beliebige Gr e gezogen werden kann Die Markierung bleibt auch beim Wechsel der Schichten erhalten Eine Checkbox im gleichen Rahmen w hlt aus ob nach der Markierung einer Region im Bild die Zur ckrechnung auf einen Bereich im A Scan siehe hierf r 6 4 2 ausgef hrt werden soll Zusammengefasst in einem Rahmen 7 finden sich alle Funktionen die sich mit dem Laden Anzeigen und Abspeichern der rekonstruierten Bilder besch fti gen Zwei identische Steuereinheiten repr sentieren die beiden Bildkan le ber die Load Image Schaltfl chen kann ein Bild in die Oberfl che geladen werden Die im Datensatz vorhandene
152. ungsfunktionen sind ebenfalls in einem Rahmen 8 zusam mengefasst Im obersten Drop Down Men kann die Art der Bildbearbeitung ausgewahlt werden Mit der rechts daneben angeordneten Bildlaufleiste wird die Bildbearbeitung schlie lich ausgef hrt Damit kann eine stufenlose Anpassung der Bildeigenschaften wie z B der Helligkeit erfolgen Zwei weitere eigenst ndige Drop Down Men s bieten dem Benutzer die M glichkeit die Colormap mit der das Bild dargestellt wird zu ver ndern sowie die Daten logarithmiert anzuzeigen Eine Schaltfl che Reset versetzt das geladene Bild in den Ausgangszustand Die Schnittstelle f r beliebige Funktionen auf den Bildern bzw Bildausschnit ten 9 benutzt ein Drop Down Men zur Auswahl der auszuf hrenden Operati on ber eine Checkbox kann gew hlt werden ob eventuell vorhandene zus tz liche Parameter vor dem Aufruf der Funktion ver ndert werden sollen Mit der Schaltfl che Apply wird die Funktion schlie lich aufgerufen 6 3 2 Funktionalit t F r das Konzept der beiden Bildkan le werden zentrale Variablen f r die Bild daten sowie die Informationen ber das Bild eingerichtet in denen entsprechend der Auswahl die Daten des aktuellen Bildes stehen Beim Wechseln zwischen den Bildern werden die Variablen neu gesetzt In den Callback Funktionen der Load Image Schaltfl chen wird zun chst ein ffnen Dialog angezeigt mit dem der Benutzer eine Datei mit den Daten eines rekonstruier
153. ur bisher weitgehend fehlenden Verdeutlichung der Position eines rekonstru ierten Bildes im USCT Zylinder werden Auswahlbereiche aus einem Bild in das 3D Modell eingezeichnet was eine wesentlich einfachere Zuordnung des rekon struierten Bildes zum vermessenen Objekt erm glicht W hrend das 3D Modell f r gro fl chige Auswahlen und zur Visualisierung sehr gut geeignet ist bietet ein zus tzliches 2D Modell die M glichkeit Sender Empf nger Kombinationen pr zise auszuw hlen Die aufwendige h ndische Erstellung von Parameterdateien f r die Datenaufnahme und Rekonstruktionssoftware ersetzt die erstellte Software mit Funktionen zur automatischen Generierung solcher Dateien anhand von zuvor in der Oberfl che markierter Sender und Empf nger Die Visualisierung der wichtigen Verbindung zwischen den Rohdaten und den rekonstruierten Bildern die vor Einf hrung der Software nicht vorhanden war wurde ber die Funktionen zur Berechnung von Rekonstruktionsellipsen Zu r ckrechnung von Bildpunkten auf A Scan Bereiche sowie die Berechnung der am meisten zu einem Bildpunkt beitragenden A Scans umgesetzt Sie erm glicht erstmals die genaue Analyse wie Teile eines rekonstruierten Bildes mit der ent sprechenden Teilmenge von A Scans zusammenh ngen Die Ausf hrung erfolgt nach einfachen Mausklicks zum Setzen von Regionen im Bild bzw in A Scans Die Erweiterbarkeit der Software wird durch die erstellten Schnittstel len gew hrleistet ber die
154. wird ein neuer Layer ausgew hlt und das entsprechende Schichtbild angezeigt Somit ist es m glich das komplette Volumen zu durchlaufen Orientierung ndern ber die Buttons xy Layer 54 xz Layer 55 und yz Layer 56 kann die Orientierung des Durchlaufens ver ndert werden Ein gedr ckter Tooglebutton xy Layer beispielsweise erzeugt Schichtbil der aus der xy Ebene d h aus der Sicht von oben auf den USCT Zylinder xz Layer und yz Layer ndern dies entsprechend in Schichtbilder aus der Frontalansicht bzw Seitenansicht 108 A BENUTZERHANDBUCH Ee Abbildung A 6 Schichtbilder bei einem Volumen A 5 3 Bildvereinigungen Aus zwei geladenen Bildern k nnen Vereinigungen wie z B das Differenzbild eine Summation der beiden Bilder usw gebildet werden Hierf r kann eine Vereini gungsfunktion im Drop Down Men 63 ausgew hlt und anschlie end mit dem Klicken des Calculate Buttons 64 ausgef hrt werden Zur Veranschaulichung welches Bild angezeigt wird erh lt der Button eine gr ne Farbe A 5 4 Bildbearbeitungsfunktionen Im Bereich Image Editing bietet sich die M glichkeit das Bild mit einigen Funk tionen zu bearbeiten Intensit t ver ndern Es kann ber das Drop Down Feld 69 die nderung der Helligkeit ausgew hlt werden Mit der Bildlaufleiste 72 rechts daneben kann dann der Helligkeitswert angepasst werden Colormap ver ndern Da die geladenen Rekonstruktionen von MA
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 - Copal Electronics Polk Audio 265-RT Mounting Templates 入札説明書 7610-011-70-65C_whirl wizard io Istruzioni d’uso Procesos distribuidos en la generación y transporte de escorrentía y SES-2000 medium Operators Quick Start Manual Samsung 9 Series NP-RV413I Operating Instructions/ Bedienungsanleitung Mode d'emploi Copyright © All rights reserved.
Failed to retrieve file