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