-
Querverweis
auf parallele Anmeldungen
-
Diese
Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung 60/600,429 vom 09. August
2004, deren Offenbarung hierin mittels Bezugnahme beinhaltet ist.
-
Hintergrund
der Erfindung
-
1. Technischer
Bereich
-
Die
vorliegende Erfindung betrifft das Volumen-Rendering und spezieller
das Polygon-Glätten
beim texturbasierten Volumen-Rendering.
-
2. Diskussion
des Standes der Technik
-
Ein
dreidimensionales (3D) Volumen-Array von Daten, das typischerweise
beim Volumen-Rendering verwendet wird, wird unter Verwendung einer
Reihe von aufeinander folgenden "Schnitten" durch einen festen Körper, der
gescannt wird, zusammengesetzt, wobei jeder Schnitt ein zweidimensionales
(2D) Bild-Array von Datenpunkten ist. Jeder Rasterwert des 2D Bild-Arrays
wird ein Bildelement oder "Pixel" genannt, während jeder
Rasterwert eines 3D Volumen-Arrays ein Volumenelement oder "Voxel" genannt wird. Die
Ableitung eines 3D Volumen-Arrays ist im Stand der Technik bekannt
und auf einfache Weise unter Verwendung von Systemen wie bildgebenden
Systemen mit Magnetresonanz (MR), Computertomographie (CT)-Scanningsystemen,
Positronenemissionstomographie (PET) und Ultraschallabtastung zu
erzielen.
-
Verfahren
zum Erzeugen eines 2D Bilds aus volumetrischen Daten können in
indirekte und direkte Volumen-Rendering- Techniken eingestuft werden. Indirekte
Verfahren erzeugen eine Zwischendarstellung der Volumendaten und
geben diese wieder, während
die direkten Verfahren Voxeldaten anzeigen, indem ein optisches
Modell berechnet wird, das beschreibt, wie das Volumen Licht emittiert,
reflektiert, streut, absorbiert und verdeckt. Voxeldichten werden
auf physikalische Wertemengen abgebildet, die die Lichtwechselwirkung
bei entsprechenden Punkten in einem 3D Raum beschreiben. Während der
Bildsynthese wird der Lichtweg durch Integrieren von Lichtwechselwirkungseffekten
entlang der Betrachtungsstrahlen auf der Basis eines optischen Modells
berechnet. Das entsprechende Integral ist bekannt als das Volumen-Rendering-Integral.
-
Rendering-Algorithmen
zur Objekt-Reihenfolge-Rasterung, wie die, die bei Graphikhardware
für Verbraucher
implementiert sind, basieren typischerweise auf einer Scan-Umwandlung
von Grundelementen (z.B. Polygonen, Linien und Punkten). Die während der
Scan-Umwandlung erzeugten Datenwerte (z.B. Fragmente) werden in
einen Vollbildspeicher der Graphikhardware verschmolzen. Da Volumendaten
nicht aus solchen Grundelementen bestehen, wird die Stellvertretergeometrie
für jeden
individuellen Schnitt über
die Volumendaten definiert. Jeder Schnitt wird mit entsprechenden
Daten vom Volumen texturiert. Das Volumen wird durch Rasterung des
Schnittpolygons rekonstruiert, indem eine Faltung der Volumendaten
mit einem Filterkern angewendet wird. Das gesamte Volumen wird durch
einen Stapel solcher Schnitte repräsentiert.
-
Konventionelle
texturbasierte Volumen-Rendering-Techniken können abhängig von der Ausrichtung der
Stellvertretergeometrie unterteilt werden in Betrachter-ausgerichtete oder
Objekt-ausgerichtete Schnittverfahren. Für die Betrachter-ausgerichtete
Schnittbildung ist die Stellvertretergeometrie senkrecht zur Betrachtungsrichtung
einer virtuellen Kamera ausgerichtet. Die Volumendaten werden durch
einen Block von Voxeldaten (z.B. eine 3D Textur) repräsentiert.
Für die
Objekt-ausgerichtete Schnittbildung ist die Stellvertretergeometrie
senkrecht zu den drei Hauptachsen des Volumens gerichtet. Eine große Anzahl
von Betrachter-ausgeerichteten oder Objekt-ausgerichteten Schnitten
dieser Voxeldaten werden während
des Renderings unter Verwendung der Stellvertretergeometrie rekonstruiert,
deren Vertices Texturkoordinaten zugeteilt werden, die von der Graphikhardware
interpoliert werden, um an die Daten zu gelangen. Ein Beispiel von
konventionellem Volumen-Rendering unter Verwendung von 2D Texturen
ist in 1A dargestellt,
und ein konventionelles Rendering unter Verwendung einer 3D Textur
ist in 1B dargestellt.
-
Die
Schnittbildung, die durch die scheibenförmigen Polygone in 1A und 1B dargestellt ist, ist eine übliche Technik,
die beim durch Graphikhardware beschleunigten Volumen-Rendering verwendet
wird. Sie liefert gute Ergebnisse durch eine Auslastungsabstimmung
eines Volumen-Rendering-Algorithmus
zwischen einem Vertex- und einem Fragmentprozessor der Graphikhardware.
Prinzipiell entspricht die Schnittbildung eines Volumens unter Verwendung
von Betrachter-ausgerichteten Schnittpolygonen dem Entlangschreiten
entlang von geraden Strahlen, wobei die Strahlbildung in einem Vertexstadium
durchgeführt
wird. Im Gegensatz zu dem traditionellen Strahlbildungsalgorithmus,
der zu jedem Zeitpunkt nur entlang einzelner Strahlen voranschreitet,
schreitet die Schnittbildung gleichzeitig an allen Strahlen entlang.
Die Integration entlang der Strahlen wird im Fragmentstadium durchgeführt.
-
Einer
der Nachteile der Schnittbildung liegt darin, dass Schnittbildungsartefakte
an Schnittgrenzen auftreten, wie beispielsweise in 5A durch die Pfeile dargestellt ist.
Dies liegt daran, dass aneinandergrenzende Schnittpolygone eine
Grenzumrandung des Volumens mit einer geringen Verschiebung schneiden.
Mit anderen Worten wird ein Schnittpolygon einen Teil des Bildschirms
bedecken, das aufgrund der perspektivischen oder orthographischen
Projektion nicht durch ein angrenzendes Schnittpolygon bedeckt ist.
An der Grenze dieses Bereichs des Bildschirms mit dem Bereich, der
von beiden Polygonen bedeckt wird, führt die plötzliche Veränderung der Anzahl von Integrationsschritten
typischerweise zu einer Diskontinuität im Rendering-Ergebnis. Diese
Artefakte können
häufig
bei Bildern beobachtet werden, die mit einem konventionellen texturbasierten
Volumen-Rendering-Algorithmus erzeugt wurden.
-
Um
die Qualität
eines durch Volumen-Rendering erzeugten Bilds zu verbessern, werden
zusätzliche Schnittpolygone
berechnet, wodurch die Entfernung zwischen den Schnitten verringert
wird und die Abtastrate erhöht
wird. Wenn die Abtastrate erhöht
wird, nimmt jedoch die Leistung der Graphikhardware ab. Deshalb werden
beim Volumen-Rendering relativ geringe Abtastraten verwendet, um
hohe Vollbildraten zu erhalten. Diese Technik führt jedoch immer noch zu einem
durch Volumen-Rendering
erzeugten Bild, das Artefakte beinhaltet.
-
Dementsprechend
besteht eine Notwendigkeit für
eine Volumen-Rendering-Technik,
die die Auswirkungen von Artefakten in einem durch Volumen-Rendering
erzeugten Bild reduziert und die Leistung der Graphikhardware erhöht.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung überwindet
die oben erwähnten
und weitere Probleme, die bei den bekannten Lehren zum Bereitstellen
eines Systems und Verfahrens für
das Polygon-Glätten beim
texturbasierten Volumen-Rendering auftreten.
-
In
einer Ausführungsform
der vorliegenden Erfindung weist ein Verfahren zum Polygon-Glätten beim texturbasierten
Volumen-Rendering
auf: Verkleinern eines Schnittpolygons und Bestimmen der Grenzpolygone
um das verkleinerte Schnittpolygon herum unter Verwendung eines
Glättungsfaktors,
wobei das verkleinerte Schnittpolygon erste Vertices aufweist und
die Grenzpolygone zweite Vertices aufweisen; Erzeugen einer Abfallrampe
zwischen den ersten Vertices des verkleinerten Schnittpolygons und
den zweiten Vertices der Grenzpolygone; und Wiedergeben des verkleinerten
Schnittpolygons mit texturbasiertem Volumen-Rendering und der Grenzpolygone
mit texturbasiertem Volumen-Rendering und der Abfallrampe.
-
Das
Verfahren weist weiterhin den Schritt auf, ein dreidimensionales
(3D) Datenvolumen zu erhalten. Das 3D Datenvolumen wird mittels
Computertomographie (CT), Spiral-Computertomographie,
Röntgenstrahlung,
Positronenemissionstomographie (PET), fluoroskopischer, Ultraschall-
oder Magnetresonanz (MR) -Bildgebungstechniken erhalten. Das Verfahren
weist den Schritt auf, das 3D Datenvolumen scheibenförmig in
eines oder mehrere Schnittpolygone zu schneiden. Das Schnittpolygon
wird verkleinert, indem Koordinaten bestimmt werden, die zwischen
einem Mittelpunkt des Schnittpolygons und einer ursprünglichen
Vertexposition angeordnet sind.
-
Die
Grenzpolygone sind in einem Bereich zwischen den äußeren Kanten
des verkleinerten Schnittpolygons und den äußeren Kanten des Schnittpolygons
angeordnet. Der Glättungsfaktor
definiert eine Breite der Grenzpolygone, wobei die Breite der Grenzpolygone
eine Breite der Abfallrampe ist. Die Abfallrampe wird erzeugt, indem
ein erster Alpha-Wert den ersten Vertices des verkleinerten Schnittpolygons
zugeteilt wird, ein zweiter Alpha-Wert den zweiten Vertices der
Grenzpolygone zugeteilt wird und eine lineare Interpolation der ersten
und zweiten Alpha-Werte durchgeführt
wird.
-
Das
Verfahren weist weiterhin den Schritt auf, das Schnittpolygon unter
Verwendung von Abschneideebenen abzuschneiden. Der Schritt des Renderings
der Grenzpolygone mit texturbasiertem Volumen-Rendering und der
Abfallrampe weist den Schritt auf, einen Alpha-Wert, der während des
Renderings von dem verkleinerten Schnittpolygon erhalten wird, mit
einem Alpha-Wert zu multiplizieren, der mit der Abfallrampe bei den
Grenzpolygonen verknüpft
ist.
-
In
einer anderen Ausführungsform
der vorliegenden Erfindung weist ein System für das Polygon-Glätten beim
texturbasierten Volumen-Rendering auf: eine Speichervorrichtung
zum Speichern eines Programms; einen Prozessor, der mit der Speichervorrichtung
kommuniziert und mit dem Programm zusammenwirkt, um: ein Schnittpolygon
zu verkleinern und Grenzpolygone um das verkleinerte Schnittpolygon
herum unter Verwendung eines Glättungsfaktors
zu bestimmen, wobei das verkleinerte Schnittpolygon innere Vertices
des Schnittpolygons aufweist und die Grenzpolygone äußere Vertices
des Schnittpolygons aufweisen; eine Abfallrampe zwischen den inneren
Vertices des Schnittpolygons und den äußeren Vertices des Schnittpolygons
zu erzeugen; und das verkleinerte Schnittpolygon mit texturbasiertem
Volumen-Rendering
wiederzugeben und die Grenzpolygone mit texturbasiertem Volumen-Rendering
und der Abfallrampe wiederzugeben.
-
Der
Prozessor wirkt weiterhin mit dem Programmcode zusammen, um ein
3D Datenvolumen eines festen Körpers
zu erhalten. Das 3D Datenvolumen wird mittels CT, Spiral-CT, Röntgenstrahlen,
PET, fluoroskopischer, Ultraschall- oder MR-Bildgebungstechniken erhalten. Der Prozessor
wirkt weiterhin mit dem Programmcode zusammen, um das 3D Datenvolumen
in eines oder mehrere Schnittpolygone scheibenförmig zu unterteilen. Das Schnittpolygon
wird verkleinert, indem Koordinaten bestimmt werden, die zwischen
einem Mittelpunkt des Schnittpolygons und einer ursprünglichen
Vertexposition angeordnet sind.
-
Die
Grenzpolygone sind in einem Bereich zwischen Kanten des verkleinerten
Schnittpolygons und Kanten des Schnittpolygons angeordnet. Der Glättungsfaktor
definiert eine Breite der Grenzpolygone, wobei die Breite der Grenzpolygone
eine Breite der Abfallrampe ist. Die Abfallrampe wird erzeugt, indem
den inneren Vertices des Schnittpolygons ein erster Alpha-Wert zugeordnet
wird, den äußeren Vertices
des Schnittpolygons ein zweiter Alpha-Wert zugeordnet wird und eine
lineare Interpolation des ersten und zweiten Alpha-Werts durchgeführt wird.
-
Der
Prozessor wirkt weiterhin mit dem Programmcode zusammen, um das
Schnittpolygon unter Verwendung von Abschneideebenen abzuschneiden.
Der Schritt der Wiedergabe der Grenzpolygone mit texturbasiertem
Volumen-Rendering und der Abfallrampe weist den Schritt auf, einen
Alpha-Wert, der während
des Renderings vom verkleinerten Schnittpolygon erhalten wird, mit
einem Alpha-Wert zu multiplizieren, der mit der Abfallrampe bei
den Grenzpolygonen verknüpft
ist.
-
In
noch einer anderen Ausführungsform
der Erfindung weist ein Computerprogrammprodukt ein von einem Computer
verwendbares Medium mit einer darauf aufgezeichneten Computerprogrammlogik
zum Polygon-Glätten
beim texturbasierten Volumen-Rendering auf, wobei die Computerprogrammlogik
aufweist: einen Programmcode zum Verkleinern eines Schnittpolygons
und zum Bestimmen von Grenzpolygonen um das verkleinerte Schnittpolygon
herum unter Verwendung eines Glättungsfaktors,
wobei das verkleinerte Schnittpolygon erste Vertices aufweist und
die Grenzpolygone zweite Vertices aufweisen; einen Programmcode
zum Erzeugen einer Abfallrampe zwischen den ersten Vertices des
verkleinerten Schnittpolygons und den zweiten Vertices der Grenzpolygone;
und einen Programmcode zum Wiedergeben des verkleinerten Schnittpolygons mit
texturbasiertem Volumen-Rendering und zum Wiedergeben der Grenzpolygone
mit texturbasiertem Volumen-Rendering und der Abfallrampe.
-
In
einer weiteren Ausführungsform
der vorliegenden Erfindung weist ein System zum Polygon-Glätten beim
texturbasierten Volumen-Rendering auf: Mittel zum Verkleinern eines
Schnittpolygons und zum Bestimmen von Grenzpolygonen um das verkleinerte
Schnittpolygon herum unter Verwendung eines Glättungsfaktors, wobei das verkleinerte
Schnittpolygon erste Vertices aufweist und die Grenzpolygone zweite
Vertices aufweisen; Mittel zum Erzeugen einer Abfallrampe zwischen
den ersten Vertices des verkleinerten Schnittpolygons und den zweiten
Vertices der Grenzpolygone; und Mittel zum Wiedergeben des verkleinerten
Schnittpolygons mit texturbasiertem Volumen-Rendering und zum Wiedergeben
der Grenzpolygone mit texturbasiertem Volumen-Rendering und der
Abfallrampe.
-
In
noch einer weiteren Ausführungsform
der vorliegenden Erfindung weist ein Verfahren zum Entfernen von
Artefakten aus einem 3D Datenvolumen, die von einem festen Körper während des
Textur-Renderings erhalten werden, auf: Berechnen eines Schnittpolygons
unter Verwendung des 3D Datenvolumens und einer Schnittebene; Berechnen
eines verkleinerten Polygons und von Grenzpolygonen, die das verkleinerte
Polygon umgeben, unter Verwendung eines Glättungsfaktors, wobei das verkleinerte
Polygon innere Vertices des Schnittpolygons aufweist und die Grenzpolygone äußere Vertices
des Schnittpolygons aufweisen; Erzeugen einer linearen Alpha-Rampe zwischen den
inneren Vertices des Schnittpolygons und den äußeren Vertices des Schnittpolygons;
und Wiedergeben des verkleinerten Polygons mit Textur-Rendering
und Wiedergeben der Grenzpolygone mit Textur-Rendering und der linearen
Alpha-Rampe. Das Verfahren weist weiterhin den Schritt auf, das
Schnittpolygon unter Verwendung von Abschnneideebenen abzuschneiden
und die Schnittebene entlang einer Betrachtungsrichtung zu bewegen.
-
Die
vorangehenden Merkmale gehören
zu repräsentativen
Ausführungsformen
und werden offenbart, um das Verständnis der Erfindung zu erleichtern.
Es sollte klar sein, dass sie nicht als Einschränkungen der Erfindung aufzufassen
sind, die durch die Ansprüche
definiert ist, oder als Einschränkungen
bezüglich
der zu den Ansprüchen äquivalenten
Merkmale. Deshalb sollte diese Zusammenfassung von Merkmalen bei
der Bestimmung von äquivalenten
Merkmalen nicht als entscheidend angesehen werden. Weitere Merkmale
der Erfindung werden aus der nachfolgenden Beschreibung, den Zeichnungen
und den Ansprüchen
ersichtlich.
-
Kurze Beschreibung
der Zeichnungen
-
1A ist
eine Abfolge von Bildern, die eine konventionelle Volumen-Rendering-Technik
unter Verwendung von zweidimensionalen (2D) Texturen zeigt;
-
1B ist
eine Abfolge von Bildern, die eine konventionelle Volumen-Rendering-Technik
unter Verwendung einer dreidimensionalen (3D) Textur zeigt;
-
2 ist
ein Blockdiagramm eines Systems zum Polygon-Glätten
gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung;
-
3 ist
ein Ablaufdiagramm, das den Ablauf eines Verfahrens zum Polygon-Glätten gemäß einer beispielhaften
Ausführungsform
der vorliegenden Erfindung zeigt;
-
4 ist
eine Abfolge von Bildern, die ein Schnittpolygon zeigt, auf das
das Polygon-Glätten
gemäß der vorliegenden
Erfindung angewendet wird;
-
5A ist
ein Bild, das mit einer konventionellen Volumen-Rendering-Technik wiedergegeben wird;
-
5B ist
ein Bild, das mit einer Polygon-Glättungstechnik gemäß der vorliegenden
Erfindung wiedergegeben wird; und
-
6 ist
ein Ablaufdiagramm, das einen Ablauf eines Verfahrens zum Polygon-Glätten gemäß einer weiteren
beispielhaften Ausführungsform
der vorliegenden Erfindung zeigt.
-
Detaillierte
Beschreibung von beispielhaften Ausführungsformen
-
2 ist
ein Blockdiagramm eines Systems 200 zum Polygon-Glätten beim
texturbasierten Volumen-Rendering gemäß einer beispielhaften Ausführungsform
der vorliegenden Erfindung. Wie in 2 dargestellt
weist das System 200 u.a. eine Scan-Vorrichtung 205,
einen PC 210 und eine Bedienkonsole 215 auf, die
beispielsweise über
ein Ethernet-Netzwerk 220 verbunden sind. Die Scan-Vorrichtung 205 kann
eine Magnetresonanz (MR)-Bildgebungseinheit, eine Computertomographie
(CT)-Bildgebungseinheit, eine Spiral-CT-Vorrichtung, eine Positronenemissionstomographie
(PET)-Vorrichtung,
eine zweidimensionale (2D) oder dreidimensionale (3D) fluoroskopische
Bildgebungsvorrichtung, eine 2D, 3D oder vierdimensionale (4D) Ultraschallbildgebungsvorrichtung
etc. sein.
-
Der
PC 210, der ein tragbarer Computer oder Laptop, ein PDA
etc. sein kann, weist eine zentrale Prozessoreinheit (CPU) 225 und
einen Speicher 230 auf, die mit einer Eingabevorrichtung 250 und
einer Ausgabevorrichtung 255 verbunden sind. Die CPU 225 weist
ein Polygon-Glättungsmodul 245 auf,
das eines oder mehrere Verfahren zum Polygon-Glätten beim texturbasierten Volumen-Rendering
beinhaltet.
-
Der
Speicher 230 umfasst einen Schreib-Lese-Speicher (RAM) 235 und
einen Lesespeicher (ROM) 340. Der Speicher 230 kann
auch eine Datenbank, ein Diskettenlaufwerk, ein Kassettenlaufwerk
etc. oder eine Kombination davon aufweisen. Das RAM 235 dient
als Datenspeicher, das Daten, die während der Ausführung eines
Programms in der CPU 225 verwendet werden, speichert, und
wird als Arbeitsbereich verwendet. Das ROM 240 dient als
Programmspeicher zum Speichern eines Programms, das in der CPU 225 ausgeführt wird. Die
Eingabevorrichtung 250 wird durch eine Tastatur, Maus etc.
gebildet, und die Ausgabevorrichtung 255 wird durch ein
Flüssigkristalldisplay
(LCD), ein Kathodenstrahlröhren
(CRT)-Display, einen
Drucker etc. gebildet.
-
Der
Betrieb des Systems 200 wird von der Bedienkonsole 215 gesteuert,
die eine Steuerung 265, beispielsweise eine Tastatur, und
ein Display 260, beispielsweise ein CRT-Display, aufweist. Die Bedienkonsole 215 kommuniziert
mit dem PC 210 und der Scan-Vorrichtung 205, so
dass 2D Bilddaten, die von der Scan-Vorrichtung gesammelt werden,
vom PC 210 durch Rendering in 3D Daten umgewandelt werden
und auf dem Display 260 betrachtet werden können. Es
soll klar sein, dass der PC 210 so konfiguriert sein kann,
dass er arbeitet und von der Scan-Vorrichtung 205 gelieferte
Informationen anzeigt, auch wenn keine Bedienkonsole 215 vorliegt,
und zwar beispielsweise unter Verwendung der Eingabevorrichtung 250 und
Ausgabevorrichtung 255, um bestimmte Aufgaben auszuführen, die
von der Steuerung 265 und vom Display 260 ausgeführt werden.
-
Die
Bedienkonsole 215 weist des Weiteren ein beliebiges geeignetes
Bild-Rendering-System bzw. eine entsprechende Anwendung oder ein
Werkzeug auf, das digitale Bilddaten eines erlangten Bilddatensatzes
(oder eines Teils davon) verarbeiten kann, um 2D und/oder 3D Bilder
auf dem Display 260 unter Verwendung beispielsweise einer
3D Graphikkarte zu erzeugen und anzuzeigen. Spezieller kann das
Bild-Rendering-System
eine Anwendung sein, die 2D/3D Rendering und die Visualisierung
von Bilddaten liefert, und die auf einer Allzweck- oder einer speziellen
Computerarbeitsstation läuft.
-
Der
PC 210 kann auch ein Bild-Rendering-System bzw. ein Werkzeug
bzw. eine Anwendung zum Verarbeiten von digitalen Bilddaten eines
erhaltenen Bilddatensatzes aufweisen, um 2D und/oder 3D Bilder zu
erzeugen und anzuzeigen.
-
Wie
in 2 dargestellt wird das Polygon-Glättungsmodul 245 auch
vom PC 210 verwendet, um digitale Bilddaten zu empfangen
und zu verarbeiten, die, wie oben erwähnt wurde, in Form von Rohbilddaten,
rekonstruierten 2D Daten (z.B. axialen Schnitten) oder rekonstruierten
3D Daten wie volumetrischen Bilddaten oder multiplanaren Reformaten
oder einer Kombination solcher Formate vorliegen können. Die
Datenverarbeitungsergebnisse können
vom PC 210 über
das Netzwerk 220 an ein Bild-Rendering-System in der Bedienkonsole 215 ausgegeben
werden, um 2D und/oder 3D Renderings von Bilddaten gemäß den Datenverarbeitungsergebnissen
zu erzeugen, beispielsweise Segmentierung von Organen oder anatomischen
Strukturen, Farb- oder
Intensitätsveränderungen
usw.
-
3 ist
ein Ablaufdiagramm, das einen Ablauf eines Verfahrens für das Polygon-Glätten beim
texturbasierten Volumen-Rendering gemäß einer beispielhaften Ausführungsform
der vorliegenden Erfindung zeigt. Wie in 3 dargestellt
werden 3D Daten von einem festen Körper erhalten, der beispielsweise
ein anatomisches Körperteil
sein kann (Schritt 310). Dies wird unter Verwendung der
Scan-Vorrichtung 205, in diesem Beispiel ein CT-Scanner,
der an der Bedienkonsole 215 betätigt wird, zum Scannen des
festen Körpers
erreicht, wodurch eine Serie von 2D Bildern erzeugt wird, die mit
dem festen Körper
verknüpft
sind. Die 2D Bilder des festen Körpers
können
dann in ein durch Rendering erzeugtes 3D Bild umgewandelt oder transformiert
werden.
-
Ein
Schnittpolygon wird anschließend
unter Verwendung der 3D Daten und einer Schnittebene berechnet (Schritt 320).
Insbesondere wird das Schnittpolygon berechnet, indem eine Grenzumrahmung
eines Volumens der 3D Daten entweder mit Betrachter-ausgerichteten
oder Volumen-ausgerichteten Schnittebenen geschnitten wird. Nach
der Berechnung des Schnittpolygons wird das Schnittpolygon verkleinert
und Grenzpolygone werden mit einem Glättungsfaktor berechnet (Schritt 330).
Das ursprüngliche
Schnittpolygon wird verkleinert, indem z.B. ein Mittelpunkt des
Polygons gefunden wird und dieser Mittelpunkt als Ursprung eines Koordinatensystems
von Vertices verwendet wird, die mit dem Polygon verknüpft sind.
Die mit dem Polygon verknüpften
Vertices werden dann mit einer Skalierungsmatrix multipliziert und
die entstehenden Vertices werden die inneren Vertices des verkleinerten
Polygons.
-
Die
Grenzpolygone werden von den Vertices des Schnittpolygons und den
Vertices des verkleinerten Schnittpolygons berechnet. Der Glättungsfaktor
wird verwendet, um die Breite (z.B. die Dicke) der Grenzpolygone
und somit die Breite einer Abfallrampe zu bestimmen. Wenn beispielsweise
ein hoher Glättungsfaktor verwendet
wird, ist der Anteil von Grenzpolygonen, auf die die Abfallrampe
angewendet wird, groß,
während, wenn
der Glättungsfaktor
gering ist, ein Anteil der Grenzpolygone, auf die die Abfallrampe
angewendet wird, klein ist.
-
Der
Glättungsfaktor
kann im Bereich von 0 bis 1 liegen, wobei 0 keine Glättung angibt
und 1 angibt, dass die Abfallrampe auf das gesamte Schnittpolygon
angewendet wird. Im Ablauf kann der Glättungsfaktor auf einen Vorgabewert
von beispielsweise 0.05 eingestellt werden, was einen geringen Glättungsbetrag
bezeichnet. Wenn ein Nutzer eine zusätzliche Glättung an den Grenzen des verkleinerten
Schnittpolygons wünscht,
kann der Nutzer den Glättungsfaktor
an der Bedienkonsole 215 verändern, indem er beispielsweise einen
Schieberegler auf dem Display 260 verwendet.
-
Nach
der Berechnung des verkleinerten Schnittpolygons und der Grenzpolygone
wird die Abfallrampe erzeugt (Schritt 340). Dies geschieht
durch Zuordnen eines Alpha-Werts von 1 zu den inneren Vertices des verkleinerten
Schnittpolygons und eines Alpha-Werts von 0 zu den äußeren Vertices
des verkleinerten Schnittpolygons (oder den inneren Vertices der
Grenzpolygone). Eine lineare Interpolation wird anschließend mit
den Alpha-Werten durchgeführt,
die mit dem verkleinerten Schnittpolygon und den Grenzpolygonen
verknüpft
sind.
-
Das
verkleinerte Schnittpolygon wird anschließend dem Rendering mit der
Volumentextur unterzogen und die Grenzpolygone werden dem Rendering
mit der Volumentextur und der Abfallrampe unterzogen (Schritt 360).
Die Grenzpolygone werden dem Rendering mit der Volumentextur und
der Abfallrampe unterzogen, indem die Abfallrampe mit den Alpha-Werten, die aus der
Klassifizierung während
des Renderings des verkleinerten Schnittpolygons erhalten werden,
kombiniert wird. Dies geschieht beispielsweise durch Multiplizieren eines
Alpha-Werts von der Klassifizierung des verkleinerten Schnittpolygons
mit dem Alpha-Wert, der mit der Abfallrampe beim Grenzpolygon verknüpft ist.
An diesem Punkt können
zusätzliche
Scheiben bzw. Schnitte einem Rendering unterzogen werden (Schritt 370),
indem die Schnittebene entlang der Betrachtungsrichtung verschoben
wird (Schritt 380), ein neues Schnittpolygon berechnet
wird (Schritt 320) und die Schritte 330 bis 360 wiederholt
werden. Wenn keine zusätzlichen
Schnitte einem Rendering unterzogen werden (Schritt 370), kann
der Prozess enden.
-
Das
eben beschriebene Verfahren zum Polygon-Glätten beim texturbasierten Volumen-Rendering
ist konzeptionell durch eine Abfolge von Bildern in 4 dargestellt.
Insbesondere ist ein einzelnes Schnittpolygon 410 dargestellt,
das im Bild 420 einer Verkleinerung unterzogen wird. Grenzpolygone
sind anschließend im
Bild 430 um das verkleinerte Schnittpolygon herum dargestellt.
Bild 440 zeigt einen sanften Alpha-Abfall an der Grenze
des verkleinerten Schnittpolygons, nachdem eine lineare Interpolation
der Alpha-Werte des verkleinerten Schnittpolygons und der Grenzpolygone
durchgeführt
wurde. 5B ist ebenfalls beinhaltet,
um ein Bild zu zeigen, das mittels Rendering mit der Polygon-Glättungstechnik
der vorliegenden Erfindung erzeugt wurde. Wie in 5B dargestellt
ist, sind die in 5A durch Pfeile gekennzeichneten
Artefakte entfernt und/oder unterdrückt.
-
Der
folgende Pseudocode demonstriert, wie ein verkleinertes Schnittpolygon
und Grenzpolygone wie oben unter Bezugnahme auf 3 und 4 diskutiert
berechnet werden. Insbesondere findet der Pseudocode einen Mittelpunkt
eines Polygons durch Durchschnittsbildung der x, y und z Koordinaten
eines Schnittpolygons. Ein Array von inneren Vertices wird anschließend erzeugt,
indem ein innerer Vertex für
jeden Vertex des Polygons berechnet wird. Dies geschieht durch Berechnung
einer Position zwischen dem Mittelpunkt des Polygons und einer ausgewählten Vertexposition.
-
Ein
Glättungsfaktor
wird verwendet, um die Position des inneren Vertex auf einer geraden
Linie zwischen dem Mittelpunkt des Polygons und der ausgewählten Vertexposition
zu bestimmen. Ein Glättungsfaktor von
0 führt
dazu, dass der innere Vertex an derselben Position wie der Polygonvertex
angeordnet ist, und ein Glättungsfaktor
von 1 führt
dazu, dass der innere Vertex an derselben Position wie der Mittelpunkt
des Polygons angeordnet ist. Es sollte klar sein, dass ein beliebiger
Glättungsfaktor
zwischen 0 und 1 dazu führt,
dass der innere Vertex an einer Position zwischen dem Polygonmittelpunkt
und der ausgewählten
Vertexposition angeordnet ist.
-
-
-
Von
der Liste der inneren und äußeren Vertices
können
nun das verkleinerte Schnittpolygon und die Grenzpolygone wie durch
den folgenden Pseudocode gezeigt einem Rendering unterzogen werden.
Insbesondere wird das innere Polygon (d.h. das verkleinerte Schnittpolygon)
als ein Polygonbündel
mit einem konstanten Glättungsfaktor
(z.B. einem Interpolationsfaktor) von 1 einem Rendering unterzogen.
Somit wird auf das innere Polygon (wie in der ersten Schleife gezeigt)
keine Glättung
angewendet. Die Grenzpolygone werden als eine Reihe von quadrilateralen
Polygonen einem Rendering unterzogen (wie in der zweiten Schleife
dargestellt), wobei jedes quadrilaterale Polygon aus zwei Vertices
vom inneren Polygon und zwei Vertices vom äußeren Polygon (d.h. vom ursprünglichen
Schnittpolygon) besteht.
-
Für die inneren
Vertices wird ein Glättungsfaktor
von 1 festgesetzt, während.
für die äußeren Vertices ein
Glättungsfaktor
von 0 festgesetzt wird. Graphikhardware wie eine Graphikkarte, die
im PC 210 oder der Bedienkonsole 215 angeordnet
ist, wird den Glättungsfaktor
von innen nach außen über das
Grenzpolygon linear interpolieren, wodurch ein linearer Abfall und/oder
eine Alpha-Rampe erzeugt wird. Der Glättungsfaktor von der Abfallrampe
kann während
der Rasterung verwendet werden, um die Alpha-Werte, die aus der
Klassifizierung erhalten werden, zu modulieren. Das letzte Grenzpolygon
wird anschließend
außerhalb
der Grenzpolygon-Rendering-Schleife
einem Rendering unterzogen, da es aus dem ersten. und letzten Vertex
in der Liste der inneren und äußeren Vertices
besteht.
-
-
-
6 ist
ein Ablaufdiagramm, das einen Ablauf eines Verfahrens zum Polygon-Glätten beim
texturbasierten Volumen-Rendering
gemäß einer
weiteren beispielhaften Ausführungsform
der vorliegenden Erfindung zeigt. Insbesondere zeigt 6 eine
Polygon-Glättungstechnik
zum Glätten
der Grenzen von Abschneideebenen. Dies geschieht durch Hinzufügen eines Schritts
in das Ablaufdiagramm aus 3, der das
Abschneiden des Schnittpolygons unter Verwendung von Abschneideebenen
vorsieht (Schritt 630), und durch anschließendes Berechnen
eines verkleinerten Schnittpolygons und von Grenzpolygonen unter
Verwendung der Abschneideebenen anstelle der Schnittebenen (Schritt 640).
-
Der
Schritt des Abschneidens des Schnittpolygons unter Verwendung von
Abschneideebenen wird durch Graphiksoftware durchgeführt, die
im PC 210 oder der Bedienkonsole 215 vorhanden
ist. Um das Polygon-Glätten
an den Grenzen der Abschneideebenen zu ermöglichen, müssen die Schnittpolygone abgeschnitten
werden, bevor sie zur Graphikhardware gesendet werden. Eine Abschneideebene
kann in 3D unter Verwendung einer Flächengleichung Ax + By + Cz
+ D = 0 definiert sein, wobei A, B, C und D die Position und Ausrichtung
der Ebene in 3D definieren. Alle Punkte mit Koordinaten (x, y, z,
w), die dieser Ebenengleichung genügen, liegen im 3D Raum auf
der Ebene und alle Punkte seitlich von der Ebene, z.B. Punkte, die
Ax + By + Cz + D < 0
genügen,
werden unter Verwendung einer konventionellen Abschneidetechnik
wie dem Sutherland-Hodgman-Polygonabschneide-Algorithmus
abgeschnitten.
-
Es
soll klar sein, dass, da einige systembildende Komponenten und Verfahrensschritte,
die in den beigefügten
Zeichnungen dargestellt sind, in Software implementiert sein können, sich
die tatsächlichen
Verbindungen zwischen den Systemkomponenten (oder die Verfahrensschritte)
abhängig
von der Art und Weise, wie die vorliegende Erfindung programmiert
ist, unterscheiden können.
Mit der hier gelieferten Lehre der vorliegenden Erfindung wird ein
Fachmann in der Lage sein, diese und ähnliche Implementationen oder
Konfigurationen der vorliegenden Erfindung zu berücksichtigen.
-
Es
soll außerdem
klar sein, dass die vorliegende Erfindung in verschiedenen Formen
von Hardware, Software, Firmware, Spezialzweckprozessoren oder einer
Kombination hiervon implementiert sein kann. In einer Ausführungsform
kann die vorliegende Erfindung in Software als ein Anwendungsprogramm
implementiert sein, das auf einer Programmspeichervorrichtung (z.B.
einer magnetischen Diskette, RAM, CD ROM, DVD, ROM oder einem Flashspeicher)
verkörpert
ist. Das Anwendungsprogramm kann auf ein Gerät mit einer beliebigen geeigneten
Architektur geladen und von diesem ausgeführt werden.
-
Es
sollte auch klar sein, dass die obige Beschreibung lediglich beispielhafte
Ausführungsformen
erläutert.
Für eine
bessere Lesbarkeit konzentrierte sich die obige Beschreibung auf
eine repräsentative
Auswahl möglicher
Ausführungsformen,
die die Prinzipien der Erfindung aufzeigt. Die Beschreibung versucht
nicht, alle möglichen
Variationen erschöpfend
aufzuzählen.
Dass alternative Ausführungsformen
eines speziellen Teils der Erfindung nicht vorgebracht wurden, oder
dass weitere nicht beschriebene Alternativen für einen Teil möglich sein
können,
soll nicht als Aufgabe eines Anspruchs auf diese alternativen Ausführungsformen
gewertet werden. Andere Anwendungen und Ausführungsformen können unmittelbar
implementiert werden, ohne vom Gedanken und Schutzumfang der vorliegenden
Erfindung abzuweichen. Es ist daher beabsichtigt, dass die Erfindung
nicht auf die speziell beschriebenen Ausführungsformen beschränkt ist,
da zahlreiche Veränderungen und
Kombinationen des oben Genannten und Implementierungen, die nicht
erfinderische Substitutionen für
die oben erwähnten
Merkmale aufweisen, kreiert werden können, sondern die Erfindung
soll in Übereinstimmung mit
den nachfolgenden Ansprüchen
definiert sein. Es kann geschätzt
werden, dass viele dieser nicht beschriebenen Ausführungsformen
im unmittelbaren Schutzbereich der nachfolgenden Ansprüche liegen,
und andere im Äquivalenzbereich.