-
Die Erfindung betrifft ein Verfahren, eine Vorrichtung und ein Computerprogramm zur Erzeugung eines mit Pixel gebildeten Bildes aus ein Volumen repräsentierenden Volumendaten mit Hilfe von Volumenwidergabe mit Mehrfachauflösung.
-
Die Visualisierung von dreidimensionalen Daten bzw. Volumina erfolgt üblicherweise durch die Generierung eines Bildes zur Widergabe mittels Monitoren oder Displays. Dabei ist das Volumen in der Regel durch sogenannte Voxel und das Bild durch sogenannte Pixel (Bildpunkte) gegeben. Voxel weisen dabei Raumpunkten Werte einer Größe zu. Diese Größe stellt beispielsweise bei medizinischen Bildgebeverfahren ein Maß für die Dichte des Volumens an dem entsprechenden Bildpunkt dar. Die Pixel bilden dagegen eines zweidimensionalen Array bzw. eine zweidimensionalen Matrix, die das Volumen betreffende Informationen zur Darstellung auf einem Display beinhaltet.
-
Für die Darstellung werden (in drei Dimensionen definierte) Voxel auf (in zwei Dimensionen definierte) Pixel abgebildet. Diese Abbildung wird üblicherweise als Volume Rendering (Volumenwiedergabe) bezeichnet. Von der Durchführung der Volumenwiedergabe hängt es ab, wie in den Voxeln enthaltende Informationen mittels der Pixeln wiedergegeben wird, z.B. die Richtung und Auflösung der Darstellung.
-
Eines der meistbenutzten Verfahren zur Volumenwiedergabe ist das sog. Ray-Casting Verfahren bzw. die Simulation einer Lichteinstrahlung zur Darstellung bzw. Visualisierung des Körpers (vgl. Levoy „Display of Surfaces from Volume Data", IEEE Computer Graphics and Applications, Ausgabe 8, Nr. 3, Mai 1988, Seiten 29–37). Beim Ray-Casting werden simulierte Strahlen, die vom Auge eines imaginären Betrachters ausgehen, durch den untersuchten Körper bzw. das untersuchte Objekt gesendet. Entlang der Strahlen werden für Abtastpunkte RGBA-Werte aus den Voxeln bestimmt und zu Pixeln für ein zweidimensionales Bild mittels Alpha Compositing bzw. Alpha Blending vereinigt. Dabei stehen in dem Ausdruck RGBA die Buchstaben R, G und B für die Farbanteile rot, grün und blau, aus denen sich der Farbbeitrag des entsprechenden Abtastpunktes zusammensetzt. A steht für den ALPHA-Wert, der ein Maß für die Transparenz am Abtastpunkt darstellt. Die jeweilige Transparenz wird bei der Überlagerung von RGB-Werten an Abtastpunkten zu dem Pixel verwendet. Beleuchtungseffekte werden üblicherweise mittels eines Beleuchtungsmodells im Rahmen eines mit „Shading“ bezeichneten Verfahrens berücksichtigt.
-
Ein primäres technisches Hindernis bei der Implementierung eines Systems zur interaktiven Volumenwiedergabe ist das schnelle, effiziente und lokale Verarbeiten großer Datenmengen. Zudem sind die bei modernen medizinischen Bildgebungseinrichtungen erfassten Datenmengen sehr erheblich. Beispielsweise können bei dem Siemens Somatom Sensation 64 CT Scanner, der Schnitte von 0,33 mm Dicke erfassen kann, über fünftausend Schnitte für eine vollständige Körperabtastung (Körper-Scan) erforderlich sein. Beim industriellen Einsatz von Computertomographen sind die zu verarbeitenden Datenmengen in der Regel noch deutlich größer. Dies hat zum einen darauf zurückzuführen, dass die im medizinischen Einsatz erforderlichen Beschränkungen für die Strahlendosis wegfallen, und zum anderen auf die dort oft übliche Praxis der Kombination von mehreren Scans.
-
Ein Ansatz zur Lösung dieses Problems ist die Verwendung einer Client-Server Architektur in Verbindung mit Mehrfachauflösung (multi resolution). Hierbei wird ein leistungsfähiger Rechner mit erheblicher Speicher- und Verarbeitungsleistung als Server verwendet, das dann über ein Netzwerk an eine Client-Machine (in der Regel Client-PC) übertragen wird, um dort ein mittels Volume Rendering erzeugtes Bild anzuzeigen. Als Client-Maschine soll möglichst ein Rechner ohne besondere Verarbeitungsleistung, wie z.B. eine herkömmlicher PC oder Laptop verwendbar sein. Wegen erforderlicher Aktualisierungen bzw. Neuberechnungen bei Manipulationen des Bildes über die Client-Maschine ist es wünschenswert, den erforderlichen Rechenaufwand sowie die zu übertragenden Datenmengen beschränkt zu halten. Für diesen Zweck werden Verfahren mit Mehrfachauflösung eingesetzt. Aber auch als reine Client-seitige Lösung macht ein Mehrfachauflösungesverfahren Sinn. Die Daten sind dann auf einer Festplatte/SSD oder Netzlaufwerk gespeichert und werden in einen relativ kleine Haupt/GPU-Speicher gestreamt. Das erfindungsmäßige Konzept kann beispielsweise auch sehr gut auf Notebooks mit mittlerer Ausstattung eingesetzt werden.
-
Ein derartiges Verfahren ist beispielsweise in der Veröffentlichung „Interactive GigaVoxels" von Cyril Crassin, Fabrice Neyret und Sylvain Lefebvre, Technical Report, INRIA Technical Report, Juni 2008, beschrieben. Es wird dort eine Baumstruktur verwendet, deren Endknoten (Leaves bzw. Blätter) Teilvolumina (in der Veröffentlichung als „tiles“ bezeichnet) zugeordnet sind. Die Teilvolumina aller Endknoten spannen das gesamte Volumen auf. Den Endknoten sind jeweils ein Voxelblock („brick“) oder ein konstanter Wert zugeordnet. Der Voxelblock umfasst eine feste Anzahl von das Teilvolumen charakterisierenden Voxeln (z.B. M3 mit M = 16). Ein konstanter Wert wird dort dann vorgegeben, wenn das entsprechende Teilvolumen keinen Beitrag zur Pixelberechnung leistet (z.B. bei vollständiger Verdeckung des entsprechenden Volumens).
-
Verschiedene Auflösungsstufen werden dadurch erreicht, dass Voxelblöcke unabhängig von der Tiefe des zugehörigen Endknotens gleich viele Voxel umfassen. Bei Durchlaufen eines Endknotens, der nicht die nötige Auflösungsstufe (LOD – level of detail) erreicht, werden weitere von dem Knoten abgeleitete Knoten gebildet, die dann die Funktion von Endknoten vom ursprünglichen Endknoten übernehmen. Es werden anschließend die erforderlichen Daten geladen, um den neuen Endknoten die entsprechenden Voxelblöcke zuzuweisen. So werden z.B. für einen N3-Baum mit N = 2 bzw. für ein Octree acht abgeleitete Knoten (child nodes) gebildet. Statt der ursprünglichen M3 Voxel wurde die Auflösung nun zu 8·M3 Voxel (in 8 Subvolumina) verfeinert.
-
Mit Verfahren zu Mehrfachauflösung besteht die Möglichkeit, nach Maßgabe der vorhandenen Ressourcen das Bild mit entsprechend höherer oder geringerer Auflösung zu berechnen. Dabei ist die Datenauflösung gemeint, d.h. die Genauigkeit der Berechnung einzelner Pixel und nicht Bildauflösung, d.h. die Anzahl der für die Darstellung des Bildes verwendeten Pixel.
-
Die Erfindung hat zur Aufgabe, die Möglichkeiten der Bildinterpretation bzw. Bildanalyse bei einem mittels Volumenwidergabe mit Mehrfachauflösung Bildes zu verbessern.
-
Diese Aufgabe wird jeweils gelöst durch ein Verfahren, eine Vorrichtung und ein Computerprogramm gemäß den unabhängigen Ansprüchen.
-
Das erfindungsgemäße Vorgehen ermöglicht bei der Erzeugung eines mit Pixel gebildeten Bildes aus Voxel bzw. Volumendaten die Bereitstellung einer Information über die Auflösung, mit der Pixel des Bildes berechnet wurden. Die Volumendaten repräsentieren dabei ein darzustellendes Volumen oder Objekt. Die Volumendaten können z.B. durch Grauwerte an Raumpunkten innerhalb des Volumens gegeben sein. Diese Grauwerte entsprechen bei medizinischen Bildgebungsverfahren in der Regel Dichtewerten an den entsprechenden Orten, die aus Messdaten mittels Rekonstruktion erhalten wurden. Die Messdaten sind dann typischerweise mittels einer medizinischen Modalität (z.B. Kernspintomograph, Computertomograph, Röntgenapparatur, Ultraschallgerät, ...) aufgenommen worden. Alternative können die Messdaten auch von Material- bzw. Werkstückuntersuchungen stammen.
-
Erfindungsgemäß erfolgt eine Volumenwidergabe mit Mehrfachauflösung zur Berechnung von Bildpixeln. Dabei wird eine Information bestimmt, welche eine bei der Pixelberechnung verwendete Auflösung charakterisiert. Beispielsweise wird die Berechnung mit einer Anzahl von verschiedenen Auflösungen durchgeführt. Die Information identifiziert dann die verwendete Auflösung. Vorzugsweise wird mittels der Information nur unterschieden, ob die Berechung mit einer Zielauflösung (im Regelfall höchste Auflösung) oder einer anderen Auflösung durchgeführt wurde. Z.B. erfolgt genau dann eine Anpassung, wenn die Zielauflösung verwendet wurde. Erfindungsgemäß wird mindestens ein Pixel wird nach Maßgabe der Information angepasst (dabei kann die Anpassung noch von weiteren Parametern, z.B. der Auflösung, mit der andere Pixels eines gemeinsamen Blockes berechnet wurden abhängen). Die Anpassung umfasst z.B. eine Einfärbung (tinting), ein Shading, eine Auswahl eines Rendering Modus, einen Modulationsmodus oder eine Kombination davon. Durch die Anpassung wird das entsprechende Pixel anders dargestellt, d.h. der Benutzer bekommt ein der Anzeige des Bildes eine visuelle Information über die bei der Berechnung verwendete Auflösung. Die Anpassung kann sowohl im Zuge der Pixelberechnung als auch im Anschluss daran erfolgen.
-
Eine Volumenwiedergabe erfolgt z.B. mittels Ray-Casting bzw. simulierten Strahlen. Bei Ray-Casting werden Abtastwerte entlang des Strahls berechnet. Eine Anpassung kann dann pro Abtastwert, pro Strahl oder auch pro Strahlenblock erfolgen. Dabei ist zu berücksichtigen, dass auch eine Anpassung pro Abtastwert in der Regel zu einer Pixelanpassung führt, da das Pixel aus der Kombination (compositing) zugehöriger Pixelwerte ergibt. Es wird dann z.B. für jeden Abtastwert ermittelt, ob er mit der Zielauflösung berechnet wurde und ggfl. z.B. die Transferfunktion geändert. Eine Realisierung einer Anpassung pro Strahl könnte z.B. einen Flag verwenden, der gesetzt wird, wenn ein Abtastwert nicht mit der Zielauflösung berechnet wurde. Nach Maßgabe des Flags (als die verwendete Auflösung charakterisierende Information) erfolgt dann z.B. eine Farbänderung (tinting) des berechneten Pixels. Schließlich wäre auch denkbar, dass Blöcke von Strahlen zusammengefasst werden und eine Änderung dann erfolgt, wenn alle Pixel des Blockes mit einer Zielauflösung berechnet wurden. Eine Zusammenfassung in Blöcken könnte evtl. zu einem einheitlicheren und besser aufzunehmenden Bild. Je nach dem Vorgehen bei der Pixelberechnung ist es nicht auszuschließen, dass sich ein uneinheitliches, optisch nicht gut erfassbares Muster ergibt, was durch eine Behandlung pro Block vermieden werden kann.
-
Vorzugsweise werden nicht mit einer Zielauflösung berechnete Pixel erneut berechnet. Die Erfindung erlaubt dann dem Nutzer nachzuvollziehen, welche Teile des Bildes (welches z.B. im Zuge von Pixelneuberechnungen aktualisiert wird) bereits mit Zielauflösung vorliegen und welche nicht. Die Arbeitseffizienz bei der Bildauswertung und der Workflow werden verbessert, da sich der Nutzer zunächst auf die Teile des Bildes konzentrieren kann, die bereits Details mit einer hohen Auflösung darstellen.
-
Die Erfindung umfasst auch eine Vorrichtung und ein Computerprogramm zur Erzeugung eines mit Pixel gebildeten Bildes aus ein Volumen repräsentierenden Volumendaten mit Hilfe von Volumenwidergabe mit Mehrfachauflösung. Die erfindungsgemäße Vorrichtung umfasst eine Recheneinheit zur Durchführen einer Berechnung eines Pixels des Bildes. Sie ist dafür ausgestaltet, eine bei der Pixelberechnung verwendete Auflösung charakterisierenden Information zu bestimmen und das Pixel nach Maßgabe dieser Information anzupassen.
-
Die Erfindung wird im Folgenden im Rahmen eines Ausführungsbeispiels näher erläutert. Es zeigen
-
1: ein mehrere Zeilen von Detektorelementen aufweisendes Spiral-CT-Gerät in schematischer Darstellung in z-Richtung;
-
2: einen Längsschnitt entlang der z-Achse durch das Gerät gemäß 1;
-
3: ein schematisches Bild zum Ablauf eines Ray-Casting-Verfahrens;
-
4: ein Ablaufdiagramm für ein erfindungsgemäßes Rendering; und
-
5–8: ein erfindungsgemäß berechnetes, zunehmend verfeinertes Bild.
-
In den 1 und 2 ist ein Spiral-CT-Gerät mit einem Mehrzeilendetektor dargestellt. Die 1 zeigt schematisch das Gantry 1 mit einem Fokus 2 und einem ebenfalls rotierenden Detektor 5 (mit Breite B und Länge L) im Schnitt senkrecht zur z-Achse, während die 2 einen Längsschnitt in Richtung der z-Achse zeigt. Das Gantry 1 weist eine Röntgenstrahlenquelle mit ihrem schematisch dargestellten Fokus 2 und einer dem Fokus vorgelagerten quellennahen Strahlenblende 3 auf. Vom Fokus 2 aus verläuft, begrenzt durch die Strahlenblende 3, ein Strahlenbündel 4 zum gegenüberliegenden Detektor 5, welches den dazwischen liegenden Patienten P durchdringt. Die Abtastung erfolgt während der Rotation von Fokus 2 und Detektor 5 um die z-Achse, wobei gleichzeitig der Patient P in Richtung der z-Achse bewegt wird. Es entsteht auf diese Weise im Koordinatensystem des Patienten P eine Spiralbahn S für Fokus 2 und Detektor 5 mit einer Steigung oder Vorschub V, wie sie in der 3 räumlich und schematisch dargestellt ist.
-
Bei der Abtastung des Patienten P werden über die Daten-/Steuer-Leitung 6 die vom Detektor 5 erfassten dosisabhängigen Signale an die Recheneinheit 7 übertragen. Mit Hilfe bekannter Methoden, die in den dargestellten Programm-Modulen P1 bis Pn niedergelegt sind, wird anschließend aus den gemessenen Rohdaten die räumliche Struktur des abgetasteten Bereiches des Patienten P bezüglich seiner Absorptionswerte in bekannter Weise (z.B. FBP Verfahren, Feldkamp-Algorithmus, iteratives verfahren etc.) errechnet bzw. rekonstruiert. Die berechneten Absorptionswerte liegen dann in Form von Voxel vor. In der medizinischen Bildgebung sind diese Voxel durch sog. Grauwerte gegeben.
-
Die sonstige Bedienung und Steuerung des CT-Gerätes erfolgt ebenfalls mittels der Recheneinheit 7 und der Tastatur 9. Die Ausgabe der errechneten Daten kann über den Monitor 8 oder einen nicht dargestellten Drucker erfolgen. Für die Darstellung auf dem Monitor 8 oder für die Generierung von Bildern für die Archivierung (z.B. PACS) wird ein Bild aus den Grauwerten erzeugt. Dies entspricht einer Abbildung der Voxel auf Pixel, aus denen sich das Bild zusammensetzt. Entsprechende Verfahren werden als Volume Rendering bzw. Volumenwidergabe bezeichnet. Ein häufig verwendetes Verfahren zur Volumenwidergabe ist das Ray Casting bzw. die Pixelberechnung mittels simulierter Strahlen, welches im Folgenden anhand von 3 illustriert wird.
-
Wie in 3 gezeigt, werden beim Ray Casting Strahlen von einem virtuellen Auge 201 durch jedes Pixel einer virtuellen Bildebene 202 gesendet. Punkte dieser Strahlen werden innerhalb des Volumens bzw. des Objektes 204 an diskreten Positionen (erste Position 203) abgetastet. Eine Vielzahl der Abtastwerte wird dann zu einer endgültigen Pixelfarbe bzw. zu einem endgültigen Pixel kombiniert.
-
Eine erfindungsgemäße Vorgehensweise bei der Pixelberechnung mit Mehrfachauflösung ist in 4 skizziert. Für Abtastpunkte i = 1...n an Orten (xi, yi, zi) wird ein Abtastwert berechnet. Für den jeweiligen Ort (xi, yi, zi) wird mittels einer für die Mehrfachauflösung verwendeten Baumstruktur das den Ort (xi, yi, zi) umfassende Teilvolumen bzw. der zugehörige Blattknoten identifiziert (mittels Durchschreiten des Baumes). Dem Blattknoten ist oder wird bedarfsabhängig ein Voxelblock BRI-CKi zugeordnet. Dieser Voxelblock BRICKi beinhaltet Voxelwerte für das Teilvolumen, die einer für die Position des Blattknotens festgelegten Auflösung (LOD – Level of detail) korrespondieren. Mit Hilfe des Blattknotens bzw. des Voxelblocks wird die entsprechende Auflösung LODi ermittelt. Nach Maßgabe dieser Auflösung wird eine Transferfunktion TFi für die Berechnung des Abtastwertes festgelegt. Aus den Werten des Voxelblocks wird ein Grauwert GVi für den Abtastpunkt(xi, yi, zi) berechnet. Dieser wird mittels der Transferfunktion TFi auf einen RGBA-Wert RGBAi abgebildet. In der Regel werde Lichteffekte noch im Rahmen eines Beleuchtungsmodells berücksichtigt. Der RGBA-Wert wird dann mit den bisher berechneten RGBA-Werten im Zuge eines Alpha Compositing kombiniert, d.h. RGBAi wird mit Com(RGBA1, ...,RGBAi-1) zu Com(RGBA1, ...,RGBAi) vernüpft, wobei die Abbildung „Com“ die Überlagerung der als Argument aufgeführten RGBA-Werte bezeichnet. Die Pixelberechnung ist abgeschlossen, wenn i = n, d.h. alle Abtastpunkte des entsprechenden Strahls berücksichtigt wurden oder die Berechnung für einen Wert n1 < n abgebrochen wird, weil wegen Verdeckung weitere Abtastpunkte keinen Beitrag mehr liefern würden. Das Pixel ist dann im Wesentlichen durch Com(RGBA1, ...,RGBAn) bzw. Com(RGBA1, ...,RGBAn1) gegeben.
-
Vorzugsweise hat die Auswahl der Transferfunktion TFi keinen Einfluss auf den berechneten ALPHA-Wert bzw. den Transparenzwert. D.h. die entsprechende Auflösung LODi bestimmt die Einfärbung. In diesen Zusammenhang wird auch von „tinting“ gesprochen.
-
In den 5–8 ist ein mit zunehmend höherer Auflösung berechnetes Bild gezeigt. Das dort verwendete Verfahren berechnet zunächst ein Bild mit geringerer Datenauflösung bzw. Qualität und führt dann nach und nach für die noch nicht mit höchster Qualität vorliegenden Pixel eine Neuberechnung mit höchster Qualität durch. Das Bild wird dann laufend aktualisiert. Für ein derartiges Verfahren ist es sinnvoll, zwei verschiedene Farben bzw. zwei verschiednen Transferfunktionen TF, die verschiedene Fragen (z.B. grün und blau) ergeben, zu verwenden. Eine der Transferfunktionen kommt zum Einsatz, wenn die Auflösung nicht der höchsten Auflösung bzw. einer gewünschten Zielauflösung entspricht. Die andere wird bei der Zielauflösung eingesetzt. Wie in den Figuren zu sehen ist, kann der Anwender verfolgen, welcher Teil des Bildes zu welchem Zeitpunkt mit der Zielauflösung berechnet wurde. Der Anwender kann sich so bei der Bildinterpretation bzw. der Bildanalyse zunächst auf die Teile konzentrieren, die bereits die beste Auflösung haben. Ein fokussierteres und effizienteres Arbeiten wird somit ermöglicht.
-
Die Erfindung ist nicht auf das oben beschriebene Beispiel beschränkt. Insbesondere können andere Verfahren zur Volumenwidergabe zum Einsatz kommen. Eine andere optische Kennzeichnung der für die Berechnung von Pixel verwendeten Auflösung als eine Änderung der Einfärbung ist ebenfalls möglich. Eine Kombination verschiedener optischer Kennzeichnungsmerkmale (z.B. Einfärben und Shading) ist ebenfalls denkbar, um Auflösungsinformationen im Bild sichtbar zu machen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Levoy „Display of Surfaces from Volume Data“, IEEE Computer Graphics and Applications, Ausgabe 8, Nr. 3, Mai 1988, Seiten 29–37 [0004]
- „Interactive GigaVoxels“ von Cyril Crassin, Fabrice Neyret und Sylvain Lefebvre, Technical Report, INRIA Technical Report, Juni 2008 [0007]