DE19807013A1 - Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet - Google Patents
Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistetInfo
- Publication number
- DE19807013A1 DE19807013A1 DE19807013A DE19807013A DE19807013A1 DE 19807013 A1 DE19807013 A1 DE 19807013A1 DE 19807013 A DE19807013 A DE 19807013A DE 19807013 A DE19807013 A DE 19807013A DE 19807013 A1 DE19807013 A1 DE 19807013A1
- Authority
- DE
- Germany
- Prior art keywords
- index
- data set
- volume data
- beams
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Description
Diese Erfindung bezieht sich auf Computersysteme und insbe
sondere auf eine Graphikanzeige von diskreten Objekten in
Computersystemen. Noch spezieller bezieht sich die Erfindung
auf eine Volumenaufbereitung für eine graphische Anzeige un
ter Verwendung eines Vorabschneidungsverfahrens, das nur Ab
tastpunkte in dem Volumendatensatz zur Aufbereitung erzeugt,
die auf Strahlen liegen, die sich innerhalb des Volumens be
finden.
Die Volumenaufbereitung ist ein wichtiger Zweig von Compu
tergraphiken, der hinter der Entwicklung der geometrischen
Aufbereitung und der Pixelaufbereitung folgt. Volumenaufbe
reitung bezieht sich auf die direkte Aufbereitung eines Vo
lumendatensatzes, der auch als ein "Volumen" bezeichnet
wird, um die Charakteristika des Inneren eines körperlichen
Objekts zu zeigen, wenn dasselbe auf einer zweidimensionalen
Graphikvorrichtung angezeigt wird. Ein Volumendatensatz ist
ein dreidimensionales Array von Voxeln. Diese Voxel sind
typischerweise auf einem Gitter mit regelmäßigen Abständen
organisiert. Voxel wurden als Abtastpunkte definiert, die
durch einen finiten Abstand getrennt sind. Jedes Voxel be
sitzt eine Position und einen Wert. Die Voxel-Position ist
ein Drei-Tupel, das eine x-, y- und z-Position in dem drei
dimensionalen Voxelarray (3D-Voxelarray) spezifiziert. Der
Voxelwert hängt von seinem Format ab. Beispielsweise kann
ein Voxel ein Intensitätselement und ein Indexelement auf
weisen. Diese Elemente werden bei dem Volumenaufbereitungs
prozeß üblicherweise unterschiedlich behandelt. Die Sammlung
der Werte für alle Punkte in dem Volumen wird als Skalarfeld
des Volumens bezeichnet.
Volumendatensätze können durch zahlreiche Einrichtungen er
zeugt werden, jedoch am üblichsten durch bestimmte Verfahren
einer dreidimensionalen Abtastung oder Stichprobenentnahme
und durch eine numerische Modellierung. Beispielsweise kann
ein Volumendatensatz durch eine Magnetresonanzbilderzeugung
(Magnetic Resonance Imaging), oder MRI, erzeugt werden, bei
der die Dichte von menschlichem oder tierischem Gewebe an
jedem Punkt eines dreidimensionalen Gitters berechnet wird.
Eine Anzeige dieser Informationen könnte die Grenzen der
verschiedenen Gewebetypen, wie sie durch Dichteänderungen
angezeigt sind, anzeigen. Die Volumenaufbereitung ist das
Verfahren des Anzeigens dieser Daten auf einer zweidimensio
nalen Graphikvorrichtung.
Das Koordinatensystem des Volumens wird als der Quellenraum
bezeichnet. Das allererste Voxel in einem Volumendatensatz
in dem Quellenraum besitzt die Koordinaten (x0,y0,z0), wobei
x0, y0 und z0 den untersten Wert aller x-, y- und z-Po
sitionen in dem Volumendatensatz darstellen, wobei diese Ko
ordinaten als der Ursprung des Volumendatensatzes betrachtet
werden. Normalerweise sind die Koordinaten für dieses Ur
sprung-Voxel auf (0,0,0) eingestellt. Die drei Koordinaten
entsprechen der Reihe nach der Spalte, der Zeile und dem
Schnitt des Bilds in dem Volumendatensatz. Das letzte Voxel
in einem Volumendatensatz befindet sich in der diagonalen
entgegengesetzten Ecke bezüglich des Ursprungsquellen-Voxels
des Volumendatensatzes. Die Koordinaten desselben sind mit
(xu,yu,zu) bezeichnet, wobei xu, yu und zu die obersten Wer
te aller x-, y- und z-Positionen in dem Volumendatensatz
darstellen.
Volumendatensätze können ziemlich groß sein und können folg
lich die Betriebsmittel des Computersystems belasten. Bei
spielsweise kann ein typischer Volumendatensatz von einer
MRI-Abtasteinrichtung 6,7 Millionen Voxel oder mehr enthal
ten, wohingegen Polygon-Datensätze für eine geometrische
Aufbereitung typischerweise weniger als eine halbe Million
Polygone enthalten. Folglich existiert ein viel größerer Be
darf nach einer Spezialzweckhardwarebeschleunigung, wenn Vo
lumen aufbereitet werden.
Bei der Volumenaufbereitung ist es häufig notwendig, in der
Lage zu sein, das aufbereitete Bild von verschiedenen Pro
jektionen zu betrachten. Das Koordinatensystem des Betrach
ters wird als der Betrachtungsraum oder Bildraum bezeichnet.
Dasselbe beschreibt, von welcher Richtung der Volumendaten
satz betrachtet und aufbereitet wird. Folglich ist ein
Schlüsselschritt bei dem Volumenaufbereitungsverfahren die
dreidimensionale räumliche Volumentransformation des ur
sprünglichen Volumendatensatzes von dem Quellenraum in den
Betrachtungsraum. Typische erforderliche Transformations
typen können ein Zoomen, ein Schwenken, eine Drehung und ein
gerader Schnitt des Eingangsvolumens für eine Projektion in
eine Ausgangsrastertyp-Anzeigevorrichtung sein. Sobald eine
Transformation durchgeführt wurde, müssen verschiedene Um
tasttechniken (Resampling Techniques) angewendet werden,
beispielsweise eine Interpolation des nächstliegenden Nach
barn oder eine trilineare Interpolation, zusätzlich zu ande
ren Schritten in der Volumenaufbereitungspipeline, um Pixel
werte zur Aufbereitung zu bestimmen.
Ein Strahl ist eine imaginäre Linie, die von einem Pixel auf
einer Bildebene ausgeht und durch das Volumen verläuft. Auf
diesem Strahl werden diskrete Schritte verwendet, wobei an
jedem Schritt Abtastpunkte entlang des Strahls interpoliert
werden. Abtastpunkte entlang des Strahls von der Bildebene
zu dem Volumen tragen nicht zu dem aufbereiteten Bild bei,
ebenso wie Abtastpunkte entlang des Strahls, nachdem der
Strahl das Volumen verlassen hat. Abhängig von der Ansicht,
die durch den Benutzer gewünscht ist, ist es möglich, daß
einige Strahlen überhaupt nicht durch das Volumen verlaufen
und somit nichts zu dem aufbereiteten Bild beitragen. Her
kömmliche Volumenaufbereitungsimplementierungen verarbeiten
typischerweise alle Abtastpunkte entlang eines Strahls unge
achtet dessen, ob der Strahl durch das Volumen verläuft oder
nicht, oder ungeachtet dessen, ob die Abtastpunkte entlang
des Strahls innerhalb des Volumens liegen oder nicht. Obwohl
eine alleinige Softwarelösung möglich wäre, erfordern diese
Implementierungen, um die Aufbereitungszeit zu verringern,
häufig spezielle Hardwarelösungen, um zu überprüfen und zu
verfolgen, wohin die Abtastpunkte fallen. Folglich wird eine
große Menge von Zeit- und System-Betriebsmitteln bei dem
Aufbereitungsverfahren durch die Überprüfung und Verfolgung
der Abtastpunkte, die zum Aufbereiten des Bilds nicht benö
tigt werden, verschwendet. Dies verlangsamt das Aufberei
tungsverfahren stark und erfordert kostspielige Aufwendungen
für die Hardware.
In der Technik existiert ein Bedarf nach einem verbesserten
Verfahren zur Volumenaufbereitung, das die Verarbeitung von
Strahlen, die nicht zu dem schließlich aufbereiteten Bild
beitragen, beseitigen kann. In der Technik existiert ferner
ein Bedarf nach einem Verfahren, das keine Hardwarelösungen
erfordert und folglich kostspieligen VLSI-Raum einsparen
kann. Es existiert ein weiterer Bedarf in der Technik nach
einem Volumenaufbereitungsverfahren, das nur die Abtastpunk
te auf einem Strahl verarbeitet, der tatsächlich durch den
Volumendatensatz verläuft und zu dem schließlich aufbereite
ten Bild beiträgt. Es ist somit offensichtlich, daß in der
Technik ein Bedarf nach einem verbesserten Verfahren zur Vo
lumenaufbereitung besteht, das diese Aufgaben löst. Die vor
liegende Erfindung erfüllt diese Bedürfnisse.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
bezüglich Geschwindigkeit und Betriebsmittelbedarf verbes
sertes Volumenaufbereitungsverfahren zu schaffen.
Diese Aufgabe wird durch Verfahren gemäß den Ansprüchen l
gelöst.
Ein Vorteil der vorliegenden Erfindung besteht darin, einen
Vorabschneidungslösungsansatz zur Volumenaufbereitung zu
verwenden, der nur die Strahlen mit Abtastpunkten verarbei
tet, die zu dem schließlichen aufbereiteten Bild beitragen.
Ein weiterer Vorteil der Erfindung besteht darin, die Pro
jektion des Volumens auf eine Bildebene zu berechnen.
Noch ein weiterer Vorteil der Erfindung besteht darin, nur
Strahlen zu verarbeiten, die von den Pixeln innerhalb der
Volumenprojektion auf eine Bildebene ausgehen, und die
Strahlen, die von Pixeln außerhalb der Volumenprojektion auf
eine Bildebene ausgehen, nicht zu verarbeiten.
Noch ein weiterer Vorteil der Erfindung besteht darin, die
Startposition und die Endposition jedes Strahls durch das
Volumen zu berechnen.
Ein weiterer Vorteil der Erfindung besteht darin, nur die
Abtastpunkte entlang eines Strahls durch ein Volumenaufbe
reitungssystem zu verarbeiten, die zwischen der Startposi
tion und der Endposition liegen.
Die obigen und weitere Vorteile der Erfindung werden durch
ein volumetrisches Vorabschneidungsverfahren erreicht, das
gewährleistet, daß nur die minimale Anzahl von Abtastpunkten
durch ein Volumen mittels eines Volumenaufbereitungssystems
für eine Anzeige auf einer zweidimensionalen Graphikvorrich
tung verarbeitet werden. Das Vorabschneidungsverfahren ver
wendet einen Zweischrittprozeß. Der erste Schritt berechnet
die Projektion, oder den Schatten, des Volumens auf die
Bildebene. Nur die Strahlen, die von den Pixeln innerhalb
dieser Projektion oder des Schattens geworfen sind, werden
durch das Volumen gehen und folglich zu dem endgültigen Bild
beitragen. Die Strahlen, die von Pixeln außerhalb dieser
Projektion oder des Schattens geworfen sind, werden abge
schnitten und müssen nicht berücksichtigt werden. Der zweite
Schritt berechnet die Anfangs- und die End-Position jedes
Strahls durch das Volumen. Nachdem dies erfolgt ist, bestim
men die Anfangs- und die End-Position exakt, welcher Teil
eines Strahls durch das Volumen verläuft. Folglich müssen
nur Abtastpunkte auf einem mittleren Teil eines Strahls zwi
schen der Anfangs- und der End-Position erzeugt und durch
das Volumenaufbereitungssystem verarbeitet werden. Der vor
dere Abschnitt und der hintere Abschnitt der Abtastpunkte
werden ignoriert.
Bei der Volumenaufbereitung beschreibt eine Transformations
matrix, wie ein Eingangsvolumen für eine Projektion in eine
Ausgangsrastertyp-Anzeigevorrichtung gezoomt, geschwenkt,
gedreht und gerade geschnitten wird. Bei der Berechnung der
Projektion des Volumens auf eine Bildebene wird jeder der
acht Grenzscheitelpunkte des Volumendatensatz es in homogene
Koordinaten umgewandelt und dann mit der Transformationsma
trix multipliziert. Diese Matrixmultiplikation transformiert
die acht Grenzscheitelpunkte des Volumendatensatzes von dem
Quellenraum in den Betrachtungsraum und in die Betrachtungs
position, von der aus der Benutzer den Volumendatensatz auf
bereiten will. Da die Bildebene zweidimensional ist, wird
die z-Koordinate jedes transformierten Scheitelpunkts igno
riert, was die Projektion des Volumendatensatzes auf die
Bildebene zur Folge hat. Da die acht Grenzscheitelpunkte ei
nes Volumendatensatzes die äußersten Elemente des Volumens
sind, wird die obige Prozedur exakt die Projektion des Volu
mens auf die Bildebene erzeugen.
Ein Strahl wird dann von jedem Pixel in der Projektion oder
dem Schatten des Volumens auf der Bildebene auf das Volumens
geworfen. Dieser Strahl wird das Volumen definitionsgemäß
schneiden. Das Berechnen der Strahlrichtung und der Schnitt
mit dem Volumen sind ein Dreischrittverfahren. Zuerst wird
der Betrachtungsvektor in dem Quellenraum erhalten. Als
nächstes werden die Pixel in dem Betrachtungsraum in den
Quellenraum transformiert. Schließlich werden die Schnitt
punkte der Strahlen, die von den Pixeln in der Volumenpro
jektion geworfen wurden, mit den x-, y- und z-Ebenen des Vo
lumens in dem Quellenraum berechnet. Der resultierende Ein
tritts- und Austritts-Punkt entlang jedes Strahls wird zur
Verarbeitung dem Volumenaufbereitungssystem zugeführt. Nur
die Abtastpunkte entlang von Strahlen, die vollständig in
nerhalb des Eintritts- und des Austritts-Punkts des Strahls
liegen, werden durch das Volumenaufbereitungssystem verar
beitet.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die bei liegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Computersystems, das ein
Volumenaufbereitungssystem aufweist, das die vor
liegende Erfindung verkörpert;
Fig. 2 ein Blockdiagramm des volumetrischen Vorabschnei
dungsverfahrens der vorliegenden Erfindung;
Fig. 3 einen Volumendatensatz in dem Quellenraum mit einer
Bildebene für eine orthographische Projektion;
Fig. 4 den Volumendatensatz von Fig. 3, der in den Be
trachtungsraum transformiert wurde, mit einer Bild
ebene für eine orthographische Projektion;
Fig. 5 einen Volumendatensatz in dem Quellenraum mit einer
Bildebene für eine perspektivische Projektion;
Fig. 6 den Volumendatensatz von Fig. 5, der in den Be
trachtungsraum transformiert wurde, mit einer Bild
ebene für eine perspektivische Projektion;
Fig. 7 eine zweidimensionale Darstellung eines Strahls,
der von einer Betrachtungsebene ausgeht, der einen
Volumendatensatz in dem Quellenraum betritt und
verläßt;
Fig. 8 eine zweidimensionale Darstellung eines Strahls,
der von einer Betrachtungsebene ausgeht, der einen
Volumendatensatz in dem Quellenraum betritt und
verläßt, wobei die Bildebene in den Volumendaten
satz fällt; und
Fig. 9 eine zweidimensionale Darstellung eines Strahls,
der von einer Betrachtungsebene ausgeht, der einen
Volumendatensatz in dem Quellenraum verfehlt.
Fig. 1 zeigt ein Blockdiagramm eines Computersystems, das
ein Volumenaufbereitungssystem enthält, das die vorliegende
Erfindung verkörpert. Bezugnehmend nun auf Fig. 1 enthält
ein Computersystem 100 ein Verarbeitungselement 102. Das
Verarbeitungselement 102 steht über einen Systembus 104 mit
anderen Elementen des Computersystems 100 in Verbindung. Ei
ne Tastatur 106 ermöglicht, daß ein Benutzer Informationen
in das Computersystem 100 eingibt, während eine Graphikan
zeige 110 ermöglicht, daß das Computersystem 100 Informatio
nen zu dem Benutzer ausgibt. Ferner ist eine Maus 108 ver
wendet, um Informationen einzugeben, während eine Speicher
vorrichtung 112 verwendet ist, um Daten und Programme in dem
Computersystem 100 zu speichern. Ein Speicher 116, der eben
falls mit dem Systembus 104 verbunden ist, enthält ein Be
triebssystem 118 und ein Volumenaufbereitungssystem 120 der
vorliegenden Erfindung.
Fig. 2 zeigt ein Blockdiagramm des volumetrischen Vorab
schneidungsverfahrens der vorliegenden Erfindung. Wie in
Fig. 2 gezeigt ist, bestimmt ein Block 202, ob eine ortho
graphische oder eine perspektivische Aufbereitung des Volu
mendatensatzes durch den Benutzer gewünscht ist. Wenn eine
orthographische Aufbereitung erwünscht ist, springt die
Steuerung zu einem Block 204. Der Block 204 transformiert
die acht Grenzscheitelpunkte des Volumendatensatzes in dem
Quellenraum in den Betrachtungsraum, indem jeder Grenzschei
telpunkt mit der orthographischen Transformationsmatrix mul
tipliziert wird, wie bei der Erläuterung von Fig. 3 ausführ
licher erklärt wird.
Ein Block 206 verwendet den Betrachtungsvektor für die ge
wünschte orthographische Betrachtung, um die acht transfor
mierten Scheitelpunkte des Volumendatensatzes auf die Bild
ebene in dem Betrachtungsraum zu projizieren. Dies legt den
Projektionsumriß des Volumendatensatzes auf die Bildebene
fest, wie ausführlicher bei der Erläuterung von Fig. 4 er
klärt wird. Durch das Ignorieren der z-Komponente jedes
Scheitelpunkts in dem Betrachtungsraum wird jeder Scheitel
punkt auf die Bildebene abgebildet, was den Projektionsumriß
festlegt.
In einem Block 208 werden Strahlen von jedem Pixel in dem
Projektionsumriß parallel zu dem Betrachtungsvektor gewor
fen, was bei der orthographischen Projektion senkrecht zu
der Bildebene erfolgt, wie ausführlicher bei der Erläuterung
von Fig. 4 erklärt wird. Per Definition werden alle derart
geworfenen Strahlen durch den Volumendatensatz verlaufen.
In einem Block 210 wird der Betrachtungsvektor in dem Be
trachtungsraum in den Quellenraum transformiert, indem der
Betrachtungsvektor mit der inversen orthographischen Trans
formationsmatrix multipliziert wird, wie ausführlicher bei
der Erläuterung von Fig. 3 erklärt wird. In gleicher Weise
werden in einem Block 212 die Pixelorte in dem Betrachtungs
raum in den Quellenraum transformiert, indem jeder Pixelort
mit der inversen orthographischen Transformationsmatrix mul
tipliziert wird, wie ausführlicher bei der Erläuterung von
Fig. 3 erklärt wird. Die Steuerung springt dann zu einem
Block 224.
Wenn der Benutzer in dem Block 202 eine perspektivische Auf
bereitung wünscht, springt die Steuerung zu einem Block 214.
Der Block 214 transformiert die acht Grenzscheitelpunkte des
Volumendatensatzes in dem Quellenraum in den Betrachtungs
raum, indem jeder Grenzscheitelpunkt mit der kombinierten
Matrix multipliziert wird, wie ausführlicher bei der Erläu
terung von Fig. 5 erklärt wird. Die kombinierte Matrix ist
eine Transformationsmatrix, die durch das Multiplizieren ei
ner orthographischen Modellbetrachtungsmatrix mit einer per
spektivischen Matrix hergeleitet wird.
Ein Block 216 verwendet Strahlen, die von dem Blickpunkt,
oder dem Mittelpunkt der Projektion, geworfen werden, für
die für die acht transformierten Scheitelpunkte gewünschte
perspektivische Ansicht, um die acht transformierten Schei
telpunkte des Volumendatensatz es auf die Bildebene in dem
Betrachtungsraum zu projizieren. Dies legt den Projektions
umriß des Volumendatensatzes auf die Bildebene fest, wie
ausführlicher bei der Erläuterung von Fig. 6 erklärt wird.
Durch das Ignorieren der z-Komponente jedes Scheitelpunkts
in dem Betrachtungsraum wird jeder Scheitelpunkt auf die
Bildebene abgebildet, was den Projektionsumriß festlegt.
In einem Block 218 werden Strahlen von jedem Pixel in dem
Projektionsumriß durch den Volumendatensatz geworfen, wie
ausführlicher bei der Erläuterung von Fig. 6 erklärt wird.
Die Strahlen gehen von dem Blickpunkt, oder dem Mittelpunkt
der Projektion, aus. Per Definition werden alle derart ge
worfenen Strahlen durch den Volumendatensatz verlaufen.
In einem Block 220 wird jeder geworfene Strahl in dem Be
trachtungsraum in den Quellenraum transformiert, indem jeder
Strahl mit der inversen kombinierten Matrix multipliziert
wird, wie ausführlicher bei der Erläuterung von Fig. 5 er
klärt wird. In gleicher Weise werden die Pixelorte in dem
Betrachtungsraum in den Quellenraum transformiert, indem je
der Pixelort mit der inversen kombinierten Matrix multipli
ziert wird, wie ausführlicher bei der Erläuterung von Fig. 3
erklärt wird. Die Steuerung springt dann zu dem Block 224.
Sowohl für eine orthographische als auch eine perspektivi
sche Aufbereitung berechnet der Block 224 den Schnittpunkt
jedes geworfenen Strahls mit der x-, der y- und der z-Ebene
des Volumendatensatzes in dem Quellenraum. Aus diesen Be
rechnungen können der Eintritts- und der Austritts-Punkt je
des Strahls in und aus dem Volumendatensatz bestimmt werden,
wie ausführlicher bei der Erläuterung der Fig. 7, 8 und 9
erklärt wird. Nach der Bestimmung des Eintritts- und des
Austritts-Punkts für jeden Strahl springt die Steuerung zu
dem Volumenaufbereitungssystem 120.
Fig. 3 zeigt eine orthographische Ansicht eines Volumenda
tensatzes in dem Quellenraum. Bezugnehmend auf Fig. 3 stellt
das Bezugszeichen 300 die i-, die j- und die k-Richtung in
dem Quellenraum dar. Der Volumendatensatz 320 ist in dieser
Ausrichtung in dem Speicher gespeichert und besitzt die
Grenzscheitelpunkte 302, 304, 306, 308, 310, 312, 314 und
318, die die acht äußersten Elemente des Volumendatensatzes
320 darstellen. Eine orthographische Transformationsmatrix
beschreibt, wie der Volumendatensatz 320 bezüglich einer
Bildebene in dem Betrachtungsraum für eine orthographische
Aufbereitung zu drehen, zu verschieben und zu skalieren ist.
Jeder der acht Grenzscheitelpunkte des Volumendatensatzes
320 wird mit der orthographischen Transformationsmatrix mul
tipliziert, um jeden Grenzscheitelpunkt in die Betrachtungs
position, aus der der Benutzer den Volumendatensatz 320 auf
bereiten will, in dem Betrachtungsraum zu transformieren,
wie folgt:
(V)i' und (V]i sind homogene Vier-Element-Spaltenvektoren
der Form (x, y, z, 1]T und [M] ist eine 4×4-Matrix. Jeder
Grenzscheitelpunkt 1 bis 8 wird durch eine Multiplikation
mit der orthographischen Transformationsmatrix [M] in den
Betrachtungsraum transformiert.
Fig. 4 zeigt eine orthographische Ansicht des Volumendaten
satzes von Fig. 3, der in den Betrachtungsraum transformiert
wurde, mit einer Bildebene für eine orthographische Projek
tion. Bezugnehmend nun auf Fig. 4 stellt das Bezugszeichen
400 die x-, die y- und die z-Richtung in dem Betrachtungs
raum dar. Die acht Grenzscheitelpunkte 302, 304, 306, 308,
310, 312, 314 und 318 des Volumendatensatzes 320 aus Fig. 3
wurden durch Multiplikation mit der orthographischen Trans
formationsmatrix, die ausführlicher bei der Erläuterung von
Fig. 3 beschrieben ist, in den Betrachtungsraum transfor
miert. Der Betrachtungsvektor 420 stellt die Betrachtungs
richtung, die durch den Benutzer gewünscht ist, dar. Der Be
trachtungsvektor 420 ist per Definition [0, 0, 1, 0]T in dem
Betrachtungsraum für eine orthographische Projektion. Bei
diesem Beispiel geht der Betrachtungsvektor 402 senkrecht
von einer Bildebene 422 an einem (x,y)-Pixelort 424 aus. Für
die Bildebene 422 gilt: z = 0. Der Betrachtungsvektor 420
betritt den Volumendatensatz 320 an einem Punkt 426, der
sich bei diesem Beispiel auf einer Kante 310-314 befindet
und mittig zwischen den Scheitelpunkten 310 und 314 angeord
net ist, und verläßt den Volumendatensatz 320 an einem Punkt
428, der sich auf einer Kante 304-308 befindet und mittig
zwischen den beiden Scheitelpunkten 304 und 308 angeordnet
ist. Die acht Grenzscheitelpunkte des Volumendatensatzes 320
werden mit Strahlen, die parallel zu dem Betrachtungsvektor
420 sind, auf die Bildebene 422 projiziert. Der Scheitel
punkt 306 projiziert auf den Punkt 406 auf der Bildebene
422. In gleicher Weise projizieren die Scheitelpunkte 318,
302 und 312 auf Punkte 418, 402 und 412 jeweils auf der
Bildebene 422. Die Scheitelpunkte 310 und 314 projizieren
auf Punkte 410 bzw. 414. Die Scheitelpunkte 304 und 308
projizieren ebenfalls auf Punkte 410 bzw. 414, jedoch sind
dieselben in der Bildebene nicht sichtbar, da sie aufgrund
der Ausrichtung des Betrachtungsvektors 420 bei diesem Bei
spiel direkt hinter die Punkte 414 und 410 fallen.
Nun wiederum bezugnehmend auf Fig. 3 wurde der Betrachtungs
vektor 420 in dem Betrachtungsraum (Fig. 4) in den Betrach
tungsvektor 420 in dem Quellenraum transformiert, indem der
Betrachtungsvektor 420 in dem Betrachtungsraum mit der In
versen der orthographischen Transformationsmatrix, auf die
oben verwiesen wurde, entsprechend der folgenden Gleichung
multipliziert wurde:
Der Betrachtungsvektor 420 in dem Quellenraum ist die dritte
Spalte der [M)-1-Matrix und berechnet sich wie folgt:
Auf eine gleichartige Art und Weise kann der (x,y)-Pixelort
424 (Fig. 4) von der Bildebene 422 (Fig. 4) in dem Betrach
tungsraum in die Bildebene 422 in dem Quellenraum transfor
miert werden, indem der (x,y)-Pixelort 424 in dem Betrach
tungsraum gemäß der folgenden Gleichung mit der Inversen der
Transformationsmatrix, auf die oben verwiesen wurde, multi
pliziert wird:
Der (x,y)-Pixelort 424 in dem Quellenraum berechnet sich zu
dem folgenden Ort:
Auf eine gleichartige Weise können alle Punkte, die auf die
Bildebene 422 (Fig. 4) projiziert wurden, ebenfalls in den
Quellenraum transformiert werden. Strahlen 332, 334, 336 und
338 projizieren von den vier äußersten Punkten der Bildebene
422 und verlaufen nicht durch den Volumendatensatz 320. Alle
Strahlen, die von Pixelorten außerhalb der Projektion des
Volumendatensatzes 320 und innerhalb des Umfangs der Bild
ebene 422 ausgehen, verlaufen nicht durch den Volumendaten
satz 320 und tragen daher nicht zu dem aufbereiteten Bild
bei. Diese Strahlen werden durch das Volumenaufbereitungs
system ignoriert.
Fig. 5 stellt eine perspektivische Ansicht eines Volumenda
tensatzes in dem Quellenraum dar. Bezugnehmend nun auf Fig.
5 stellt das Bezugszeichen 500 die i-, die j- und die k-
Richtung in dem Quellenraum dar. Der Volumendatensatz 520
ist in dieser Ausrichtung in dem Speicher gespeichert und
weist Grenzscheitelpunkte 502, 504, 506, 508, 510, 512, 514
und 518 auf, die die acht äußersten Elemente des Volumen
datensatzes 520 darstellen. Eine kombinierte Matrix, die
durch Multiplikation einer orthographischen Modellbetrach
tungsmatrix mit einer perspektivischen Matrix hergeleitet
wird, beschreibt, wie der Volumendatensatz 520 bezüglich
einer Bildebene und eines Blickpunkts, oder eines Mittel
punkts der Projektion, in dem Betrachtungsraum für eine per
spektivische Aufbereitung zu drehen, zu verschieben und zu
skalieren ist. Jeder der acht Grenzscheitelpunkte des Volu
mendatensatzes 520 wird gemäß der folgenden Gleichung mit
der kombinierten Matrix multipliziert, um jeden Grenzschei
telpunkt in die Betrachtungsposition in dem Betrachtungs
raum, von der der Benutzer den Volumendatensatz 520 aufbe
reiten will, zu transformieren:
[V]i' und [V]i sind homogene Vier-Element-Spaltenvektoren
der Form [x, y, z, 1]T und [C] ist eine 4×4-Matrix. Jeder
Grenzscheitelpunkt 1 bis 8 wird durch Multiplikation mit der
kombinierten Matrix [C] in den Betrachtungsraum transfor
miert.
Fig. 6 zeigt eine perspektivische Ansicht des Volumendaten
satzes von Fig. 5, der in den Betrachtungsraum transformiert
wurde, mit einer Bildebene und einem Blickpunkt, oder einem
Mittelpunkt der Projektion, für eine perspektivische Projek
tion. Bezugnehmend auf Fig. 6 stellt das Bezugszeichen 600
die x-, die y- und die z-Richtung in dem Betrachtungsraum
dar. Die acht Grenzscheitelpunkte 502, 504, 506, 508, 510,
512, 514 und 518 des Volumendatensatzes 520 von Fig. 5 wur
den bezüglich eines Blickpunkts 630 durch Multiplikation mit
der kombinierten Matrix, die bei der Erläuterung von Fig. 5
beschrieben ist, in den Betrachtungsraum transformiert. Bei
einer perspektivischen Aufbereitung existiert nur ein Strahl
mit einem Vektorwert von [0, 0, 1, 0]T. Alle anderen Strah
len weisen einen Vektorwert in der Form [x/d, y/d, 1, 0]T
auf, wobei "d" der Abstandswert von dem Blickpunkt, oder dem
Mittelpunkt der Projektion, zu der Bildebene ist. Bei diesem
Beispiel weist ein Strahl 620 den Vektorwert [0, 0, 1, 1]T
auf. Der Strahl 620 geht per Definition an einem (x,y)-Pi
xelort 624 von der Bildebene 622 aus. Der Strahl 620 betritt
den Volumendatensatz 520 an einem Punkt 626, der bei diesem
Beispiel äquidistant zwischen den Scheitelpunkten 510 und
514 angeordnet ist, und verläßt den Volumendatensatz 520 an
einem Punkt 628, der äquidistant zwischen den Scheitelpunk
ten 504 und 508 angeordnet ist. Die acht Grenzscheitelpunkte
des Volumendatensatzes 520 werden auf die Bildebene 622 pro
jiziert. Für die Bildebene 622 gilt: z = 0. Der Scheitel
punkt 506 projiziert auf einen Punkt 606 auf der Bildebene
622. In gleicher Weise projizieren die Scheitelpunkte 518,
502 und 512 auf Punkte 618, 602 und 612 jeweils auf der
Bildebene 622. Die Scheitelpunkte 510 und 514 projizieren
auf Punkte 610 bzw. 614. Die Scheitelpunkte 504 und 508 pro
jizieren auf Punkte 604 bzw. 608.
Wiederum bezugnehmend auf Fig. 5 wurde der Strahl 620 in dem
Betrachtungsraum (Fig. 6) in den Strahl 620 in dem Quellen
raum transformiert, indem der Strahl 620 in dem Betrach
tungsraum gemäß der folgenden Gleichung mit der Inversen der
kombinierten Matrix, auf die oben verwiesen wurde, multipli
ziert wurde:
Der Betrachtungsvektor 620 im Quellenraum berechnet sich wie
folgt:
Auf eine gleichartige Weise kann der (x,y)-Pixelort 624
(Fig. 6) von der Bildebene 622 (Fig. 6) in dem Betrachtungs
raum in die Bildebene 622 in dem Quellenraum transformiert
werden, indem der (x,y)-Pixelort 624 in dem Betrachtungsraum
wie folgt mit der Inversen der kombinierten Matrix, auf die
oben verwiesen wurde, multipliziert wird:
Der (x,y)-Pixelort 624 in dem Quellenraum berechnet sich zu
dem folgenden Ort:
Auf eine gleichartige Weise können auch alle Punkte, die auf
die Bildebene 622 (Fig. 6) projiziert werden, in den Quel
lenraum transformiert werden. Die Strahlen 532, 534, 536 und
538 projizieren von den vier äußersten Punkten der Bildebene
622 und verlaufen nicht durch den Volumendatensatz 520. Alle
Strahlen, die von Pixelorten außerhalb der Projektion des
Volumendatensatzes 520 und innerhalb des Umfangs der Bild
ebene 622 ausgehen, verlaufen nicht durch den Volumendaten
satz 520 und tragen daher nicht zu dem aufbereiteten Bild
bei. Diese Strahlen werden von dem Volumenaufbereitungssy
stem ignoriert.
Fig. 7 zeigt eine zweidimensionale Darstellung eines
Strahls, der von einer Betrachtungsebene ausgeht, der einen
Volumendatensatz in dem Quellenraum betritt und verläßt. Be
zugnehmend nun auf Fig. 7 stellt das Bezugszeichen 700 die
x-, die y- und die z-Richtung in dem Quellenraum dar, wobei
sich die z-Richtung senkrecht aus der Papierebene erstreckt.
Die Bildebene 702 erstreckt sich ebenfalls senkrecht aus der
Papierebene. Der Strahl 704 geht an einem (x,y)-Pixelort 706
senkrecht von der Bildebene 702 aus. Der (x,y)-Pixelort 706
besitzt die Form [P]s = [xi, yi, zi]T. Bei diesem Beispiel
ist zi gleich Null. Der Volumendatensatz 708 erstreckt sich
ebenfalls senkrecht aus der Papierebene. Ein Punkt 714
stellt (x0, y0, z0), die untere linke Ecke des Volumendaten
satzes 708, dar. Ein Punkt 716 stellt (xu, yu, zu), die obe
re rechte Ecke des Volumendatensatzes 708, dar. Der Strahl
704 besitzt die Form [V]s = [dx, dy, dz]T und schneidet den
Volumendatensatz 708, wobei derselbe an einem Eintrittspunkt
710 denselben betritt und an einem Austrittspunkt 712 ver
läßt. Bei diesem Beispiel gilt: dz = 0. Der Eintrittspunkt
710 und der Austrittspunkt 712 sind die Scheitelpunkte be
züglich [V]s, die den Eintritts- und den Austritts-Punkt des
Strahls 704 mit dem Volumendatensatz 708 definieren.
Die Bestimmung des Eintrittspunktwerts und des Austritts
punktwerts umfaßt das Berechnen des Schnittpunkts beider
Punkte mit der x-, y- und der z-Ebene, die den Umriß des Vo
lumendatensatzes 708 in dem Quellenraum definieren. Für je
den Punkt wird ein x-Index-, ein y-Index- und ein z-Index-
Wert festgelegt. Relativ zueinander werden die x-, y- und
z-Indexwerte für einen Punkt tiefer oder höher sein als die
entsprechenden x-, y- und z-Indexwerte für den anderen
Punkt. Der Wert des Eintrittspunkts wird aus der folgenden
Gleichung hergeleitet:
Eintrittspunkt = max (xtiefer_Index, ytiefer_Index,
ztiefer_Index).
In gleicher Weise wird der Wert des Austrittspunkts aus der
folgenden Gleichung hergeleitet:
Austrittspunkt = min (xhöher_Index, yhöher_Index,
zhöher_Index)
xtiefer_Index und xhöher_Index werden wie folgt hergeleitet:
xtiefer_Index = (x0 - xi)/dx
xhöher_Index = (xu - xi)/dx.
Bei diesem Beispiel ist der Delta-x-Wert, oder dx, größer
als Null, was bedeutet, daß die inkrementale Änderung des
Strahls 704 in der x-Richtung in der positiven x-Richtung
stattfindet. Daher müssen für diese zwei Werte keine Ein
stellungen durchgeführt werden. xtiefer_Index berechnet sich
zu dem Eintrittspunkt 710, während sich xhöher_Index zu dem
Punkt 718 berechnet.
ytiefer_Index und yhöher_Index werden wie folgt hergeleitet:
ytiefer_Index = (y0 - yi)/dy
yhöher_Index = (yu - yi)/dy.
Bei diesem Beispiel ist der Delta-y-Wert, oder dy, kleiner
als Null, was bedeutet, daß die inkrementale Änderung des
Strahls 704 in der y-Richtung in der negativen y-Richtung
erfolgt. In dieser Situation müssen die Werte von ytie
fer_Index und yhöher_Index vertauscht werden. ytiefer_Index
wird der Wert von yhöher_Index zugewiesen, während yhö
her_Index der Wert von ytiefer_Index zugewiesen wird. ytie
fer_Index berechnet sich zu dem Austrittspunkt 712, während
sich yhöher_Index zu dem Punkt 720 berechnet. Nach dem Ver
tauschen weist ytiefer_Index den Wert des Punkts 720 auf,
während yhöher_Index den Wert des Austrittspunkts 712 be
sitzt.
ztiefer_Index und zhöher_Index werden wie folgt berechnet:
ztiefer_Index = (z0 - zi)/dz
zhöher_Index = (zu - zi)/dz.
Bei diesem Beispiel ist der Delta-z-Wert, oder dz, gleich
Null, was bedeutet, daß die inkrementale Änderung des
Strahls 704 in der z-Richtung Null ist. In dieser Situation
müssen, da eine Division durch Null nicht erlaubt ist, die
Werte von ztiefer_Index und zhöher_Index auf solche Werte
eingestellt werden, daß die Eintritts- und Austritts-Punkt
berechnungen nicht beeinträchtigt werden. Wenn zi < z0, oder
wenn zi < zu, befindet sich der Strahl außerhalb des Volu
mendatensatzes und schneidet denselben nicht. In diesem Fall
wird zhöher_Index der Wert Null zugewiesen, während ztie
fer_Index der größte ganzzahlige Wert zugewiesen wird, der
für das spezielle Computersystem, auf dem das Volumenaufbe
reitungssystem durchgeführt wird, verfügbar ist. Die meisten
Computersysteme weisen ein Symbol auf, das für diesen höch
sten verfügbaren ganzzahligen Wert definiert ist, wobei die
ses Symbol/dieser Wert verwendet wird.
Wenn z0 ≦ zi ≦ zu befindet sich der Strahl möglicherweise
innerhalb des Volumendatensatzes. In diesem Fall wird ztie
fer_Index der Wert von Null zugewiesen, während zhöher_Index
der größte ganzzahlige Wert zugewiesen wird, der für das
spezielle Computersystem, auf dem das Volumenaufbereitungs
system durchgeführt wird, verfügbar ist. Bei diesem Beispiel
gilt z0 = zi = 0, so daß ztiefer_Index der Wert von Null zu
gewiesen wird, während zhöher_Index der größte ganzzahlige
Wert, der durch das System verfügbar ist, zugewiesen wird.
Bei diesem Beispiel berechnet sich der Eintrittspunkt wie
folgt:
Eintrittspunkt = max (xtiefer_Index, ytiefer_Index,
ztiefer_Index)
Eintrittspunkt = max (Eintrittspunkt 710, Punkt 720,
0) = Eintrittspunkt 710.
Bei diesem Beispiel berechnet sich der Austrittspunkt wie
folgt:
Austrittspunkt = min (xhöher_Index, yhöher_Index,
zhöher_Index)
Austrittspunkt = min (Punkt 718, Austrittspunkt
712, größte ganze Zahl) = Aus
trittspunkt 712.
Die Werte für den Eintrittspunkt und den Austrittspunkt müs
sen in (x,y,z)-Koordinaten in dem Quellenraum umgewandelt
werden. Dies wird wie folgt erreicht:
x-Koordinateneintrittspunkt = (Eintrittspunkt 710.dx) + xi
y-Koordinateneintrittspunkt = (Eintrittspunkt 710.dy) + yi
z-Koordinateneintrittspunkt = (Eintrittspunkt 710.dz) + zi
y-Koordinateneintrittspunkt = (Eintrittspunkt 710.dy) + yi
z-Koordinateneintrittspunkt = (Eintrittspunkt 710.dz) + zi
x-Koordinatenaustrittspunkt = (Austrittspunkt 712.dx) + xi
y-Koordinatenaustrittspunkt = (Austrittspunkt 712.dy) + yi
z-Koordinatenaustrittspunkt = (Austrittspunkt 712.dz) + zi.
y-Koordinatenaustrittspunkt = (Austrittspunkt 712.dy) + yi
z-Koordinatenaustrittspunkt = (Austrittspunkt 712.dz) + zi.
Die Eintrittspunkt- und die Austrittspunkt-Koordinaten wer
den dem Volumenaufbereitungssystem zugeführt. Nur Abtast
punkte entlang des Strahls zwischen diesen zwei Punkten wer
den durch das Volumenaufbereitungssystem verarbeitet.
Fig. 8 zeigt eine zweidimensionale Darstellung eines
Strahls, der von einer Betrachtungsebene ausgeht und in ei
nen Volumendatensatz in dem Quellenraum eintritt und densel
ben verläßt, wobei die Bildebene in den Volumendatensatz
fällt. Bezugnehmend nun auf Fig. 8 stellt ein Bezugszeichen
800 die x-, die y- und die z-Richtung in dem Quellenraum
dar, wobei die z-Richtung sich senkrecht aus der Papierebene
erstreckt. Die Bildebene 802 erstreckt sich ebenfalls senk
recht aus der Papierebene. Der Strahl 804 geht an einem
(x,y)-Pixelort 806 senkrecht von der Bildebene 802 aus. Der
(x,y)-Pixelort 806 weist die Form [P]s = [xi, yi, zi]T auf.
Bei diesem Beispiel ist zi gleich Null. Der Volumendatensatz
808 erstreckt sich ferner senkrecht aus der Papierebene. Ein
Punkt 814 stellt (x0, y0, z0) dar, die untere linke Ecke des
Volumendatensatzes 708. Ein Punkt 816 stellt (xu, yu, zu),
die obere rechte Ecke des Volumendatensatzes 808, dar. Der
Strahl 804 weist die Form [V]s = [dx, dy, dz]T auf und
schneidet den Volumendatensatz 808, wobei derselbe an einem
Eintrittspunkt 810, der hinter der Bildebene 802 liegt, ein
tritt und an einem Austrittspunkt 812 austritt. Bei diesem
Beispiel gilt: dz = 0. Der Eintrittspunkt 810 und der Aus
trittspunkt 812 sind die Indizes in den Ausdrücken von [V]s,
die den Eintritts- und den Austritts-Punkt des Strahls 804
bezüglich des Volumendatensatzes 808 definieren.
Die Bestimmung des Werts Eintrittspunkts und des Austritts
punkts umfaßt das Berechnen des Schnittpunkts beider Punkte
mit den x-, y- und z-Ebenen, die den Umriß des Volumendaten
satzes 808 in dem Quellenraum definieren. Für jeden Punkt
wird ein x-Index-, y-Index- und z-Index-Wert festgelegt. Re
lativ zueinander werden der x-, der y- und der z-Indexwert
für einen Punkt tiefer oder höher sein als der entsprechende
x-, der y- und der z-Indexwerte für den anderen Punkt. Der
Wert des Eintrittspunkts wird wie folgt hergeleitet:
Eintrittspunkt = max (xtiefer_Index, ytiefer_Index,
ztiefer_Index).
In gleicher Weise wird der Wert des Austrittspunkts wie folgt
hergeleitet:
Austrittspunkt = min (xhöher_Index, yhöher_Index,
zhöher_Index).
xtiefer_Index und xhöher_Index werden wie folgt hergeleitet:
xtiefer_Index = (x0 - xi)/dx
xhöher_Index = (xu - xi)/dx.
Bei diesem Beispiel ist dx < 0, was bedeutet, daß die inkre
mentale Änderung des Strahls 804 in der x-Richtung in der
positiven x-Richtung stattfindet. Daher müssen für diese
zwei Werte keine Einstellungen durchgeführt werden. xtie
fer_Index berechnet sich zu dem Eintrittspunkt 810, während
xhöher_Index sich zu einem Punkt 818 berechnet.
ytiefer_Index und yhöher_Index werden wie folgt hergeleitet:
ytiefer_Index = (y0 - yi)/dy
yhöher_Index = (yu - yi)/dy.
Bei diesem Beispiel ist dy < 0, was bedeutet, daß die inkre
mentale Änderung des Strahls 804 in der y-Richtung in der
negativen y-Richtung stattfindet. In dieser Situation müssen
die Werte von ytiefer_Index und yhöher_Index ausgetauscht
werden. ytiefer_Index wird der Wert von yhöher_Index zuge
wiesen, während yhöher_Index der Wert von ytiefer_Index zu
gewiesen wird. ytiefer_Index berechnet sich zu dem Aus
trittspunkt 812, während sich yhöher_Index zu einem Punkt
820 berechnet. Nach dem Vertauschen weist ytiefer_Index den
Wert des Punkts 820 auf, während yhöher_Index den Wert des
Austrittspunkts 812 aufweist.
ztiefer_Index und zhöher_Index werden wie folgt hergeleitet:
ztiefer_Index = (z0 - zi)/dz
zhöher_Index = (zu - zi)/dz.
Bei diesem Beispiel gilt dz = 0, was bedeutet, daß die in
krementale Änderung des Strahls 804 in der z-Richtung Null
ist. In dieser Situation müssen, da eine Division durch Null
nicht erlaubt ist, die Werte von ztiefer_Index und zhö
her_Index auf solche Werte eingestellt werden, daß die Ein
tritts- und Austritts-Punktberechnungen nicht beeinträchtigt
werden. Wenn zi < z0, oder wenn zi < zu gilt, befindet sich
der Strahl außerhalb des Volumendatensatzes und schneidet
denselben nicht. In diesem Fall wird zhöher_Index der Wert
von Null zugewiesen, während ztiefer_Index der größte ganz
zahlige Wert zugewiesen wird, der für das spezielle Compu
tersystem, auf dem das Volumenaufbereitungssystem durchge
führt wird, zugewiesen wird. Die meisten Computersysteme be
sitzen ein Symbol, das für diesen höchsten erlaubten ganz
zahligen Wert definiert ist, wobei dieses Symbol/dieser Wert
verwendet wird.
Wenn z0 ≦ zi ≦ zu gilt, befindet sich der Strahl möglicher
weise innerhalb des Volumendatensatzes. In diesem Fall wird
ztiefer_Index der Wert Null zugewiesen, während zhöher_Index
der größte ganzzahlige Wert zugewiesen wird, der für das
spezielle Computersystem, auf dem das Volumenaufbereitungs
system durchgeführt wird, verfügbar ist. In diesem Fall gilt
z0 = zi = 0, so daß ztiefer_Index der Wert von Null zugewie
sen wird, während zhöher_Index der größte ganzzahlige Wert,
der durch das System verfügbar ist, zugewiesen wird.
Bei diesem Beispiel weisen xtiefer_Index und ytiefer_Index
negative Werte auf, da dieselben hinter der Bildebene 802
liegen. Folglich berechnet sich der Eintrittspunkt wie
folgt:
Eintrittspunkt = max (xtiefer_Index, ytiefer_Index,
ztiefer_Index)
Eintrittspunkt = max (Eintrittspunkt 810, Punkt 820,
0) = 0.
Bei diesem Beispiel berechnet sich der Austrittspunkt wie
folgt:
Austrittspunkt = min (xhöher_Index, yhöher_Index,
zhöher_Index)
Austrittspunkt = min (Punkt 818, Austrittspunkt
812, größte ganze Zahl) = Aus
trittspunkt 812.
Die Werte für den Eintrittspunkt und den Austrittspunkt müs
sen in dem Quellenraum in (x,y,z)-Koordinaten umgewandelt
werden. Dies wird wie folgt erreicht:
x-Koordinateneintrittspunkt = (0.dx) + xi
y-Koordinateneintrittspunkt = (0.dy) + yi
z-Koordinateneintrittspunkt = (0.dz) + zi
y-Koordinateneintrittspunkt = (0.dy) + yi
z-Koordinateneintrittspunkt = (0.dz) + zi
x-Koordinatenaustrittspunkt = (Austrittspunkt 812.dx) + xi
y-Koordinatenaustrittspunkt = (Austrittspunkt 812.dy) + yi
z-Koordinatenaustrittspunkt = (Austrittspunkt 812.dz) + zi.
y-Koordinatenaustrittspunkt = (Austrittspunkt 812.dy) + yi
z-Koordinatenaustrittspunkt = (Austrittspunkt 812.dz) + zi.
Die Eintrittspunkt- und die Austrittspunkt-Koordinaten wer
den dem Volumenaufbereitungssystem zugeführt. Nur Abtast
punkte entlang des Strahls zwischen diesen zwei Punkten wer
den durch das Volumenaufbereitungssystem verarbeitet.
Fig. 9 stellt eine zweidimensionale Darstellung eines von
einer Betrachtungsebene ausgehenden Strahls, der einen Volu
mendatensatz in dem Quellenraum nicht schneidet, dar. Bezug
nehmend nun auf Fig. 9 stellt ein Bezugszeichen 900 die x-,
die y- und die z-Richtung in dem Quellenraum dar, wobei sich
die z-Richtung senkrecht aus der Papierebene erstreckt. Die
Bildebene 902 erstreckt sich ebenfalls senkrecht aus der Pa
pierebene. Der Strahl 904 geht an einem (x,y)-Pixelort 906
senkrecht von der Bildebene 902 aus. Der (x,y)-Pixelort 906
weist die Form [P]s = [xi, yi, zi]T auf. Bei diesem Beispiel
ist zi gleich Null. Der Volumendatensatz 908 erstreckt sich
ebenfalls senkrecht aus der Papierebene. Ein Punkt 914
stellt (x0, y0, z0) dar, die untere linke Ecke des Volumen
datensatzes 908. Ein Punkt 916 stellt (xu, yu, zu) dar, die
obere rechte Ecke des Volumendatensatzes 908. Der Strahl 904
besitzt die Form [V]s = [dx, dy, dz]T und schneidet den Vo
lumendatensatz 908 nicht. Bei diesem Beispiel gilt: dz = 0.
Die Bestimmung des Eintrittspunkt- und des Austritts
punkt-Werts umfaßt die Berechnung des Schnittpunkts beider
Punkte mit den x-, y- und z-Ebenen, die den Umriß des Vo
lumendatensatzes 908 in dem Quellenraum definieren. Für je
den Punkt wird ein x-Index-, ein y-Index- und ein z-Index-
Wert festgelegt. Relativ zueinander werden der x-, der y-
und der z-Indexwert für einen Punkt tiefer oder höher sein
als der entsprechende x-, y- und z-Indexwerte für den ande
ren Punkt. Wenn ein Strahl einen Volumendatensatz nicht
schneidet, wird der Eintrittspunktwert größer sein als der
Austrittspunktwert. Der Wert des Eintrittspunkts wird wie
folgt hergeleitet:
Eintrittspunkt = max (xtiefer_Index, ytiefer_Index,
ztiefer_Index).
In gleicher Weise wird der Wert des Austrittspunkts wie folgt
hergeleitet:
Austrittspunkt = min (xhöher_Index, yhöher_Index,
zhöher_Index).
xtiefer_Index und xhöher_Index werden wie folgt hergeleitet:
xtiefer_Index = (x0 - xi)/dx
xhöher_Index = (xu - xi)/dx.
Bei diesem Beispiel gilt dx < 0, was bedeutet, daß die in
krementale Änderung des Strahls 904 in der x-Richtung in der
negativen x-Richtung stattfindet. In dieser Situation müssen
die Werte von xtiefer_Index und xhöher_Index vertauscht wer
den. xtiefer_Index wird der Wert von xhöher_Index zugewie
sen, während xhöher_Index der Wert von xtiefer_Index zuge
wiesen wird. xtiefer_Index berechnet sich zu einem Punkt
910, während sich xhöher_Index zu einem Punkt 918 berechnet.
Nach dem Vertauschen besitzt xtiefer_Index den Wert des
Punkts 918, während xhöher_Index den Wert des Punkts 910 be
sitzt.
ytiefer_Index und yhöher_Index werden wie folgt hergeleitet:
ytiefer_Index = (y0 - yi)/dy
yhöher_Index = (yu - yi)/dy.
Bei diesem Beispiel gilt dy < 0, was bedeutet, daß die in
krementale Änderung des Strahls 904 in der y-Richtung in der
negativen y-Richtung stattfindet. In dieser Situation müssen
die Werte von ytiefer_Index und yhöher_Index vertauscht wer
den. ytiefer_Index wird der Wert von yhöher_Index zugewie
sen, während yhöher_Index der Wert von ytiefer_Index zuge
wiesen wird. ytiefer_Index berechnet sich zu einem Punkt
912, und yhöher_Index berechnet sich zu einem Punkt 920.
Nach dem Vertauschen weist ytiefer_Index den Wert des Punkts
920 auf, während yhöher_Index den Wert des Punkts 912 auf
weist.
ztiefer_Index und zhöher_Index werden wie folgt hergeleitet:
ztiefer_Index = (z0 - zi)/dz
zhöher_Index = (zu - zi)/dz.
Bei diesem Beispiel gilt dz = 0, was bedeutet, daß die in
krementale Änderung des Strahls 904 in der z-Richtung Null
ist. In dieser Situation müssen, da eine Division durch Null
nicht erlaubt ist, die Werte von ztiefer_Index und zhö
her_Index auf solche Werte eingestellt werden, daß die Ein
tritts- und Austritts-Punktberechnungen nicht beeinträchtigt
werden. Wenn zi < z0 gilt, oder wenn zi < zu gilt, befindet
sich der Strahl außerhalb des Volumendatensatzes und schnei
det denselben nicht. In diesem Fall wird zhöher_Index der
Wert Null zugewiesen, während ztiefer_Index der größte ganz
zahlige Wert zugewiesen wird, der für das spezielle Compu
tersystem, auf dem das Volumenaufbereitungssystem durchge
führt wird, erlaubt ist. Die meisten Computersysteme besit
zen ein Symbol, das für diesen höchsten erlaubten ganzzahli
gen Wert definiert ist, wobei dieses Symbol/dieser Wert ver
wendet wird.
Wenn z0 ≦ zi ≦ zu gilt, befindet sich der Strahl möglicher
weise innerhalb des Volumendatensatzes. In diesem Fall wird
ztiefer_Index der Wert Null zugewiesen, während zhöher_Index
der größte ganzzahlige Wert zugewiesen wird, der für das
spezielle Computersystem, auf dem das Volumenaufbereitungs
system durchgeführt wird, erlaubt ist. In diesem Fall gilt
z0 = zi = 0, so daß ztiefer_Index der Wert Null zugewiesen
wird, während zhöher_Index der größte ganzzahlige Wert, der
durch das System erlaubt ist, zugewiesen wird.
Bei diesem Beispiel berechnet sich der Eintrittspunkt wie
folgt:
Eintrittspunkt = max (xtiefer_Index, ytiefer_Index,
ztiefer_Index)
Eintrittspunkt = max (Punkt 918, Punkt 920, 0) =
Punkt 920.
Bei diesem Beispiel berechnet sich der Austrittspunkt wie
folgt:
Austrittspunkt = min (xhöher_Index, yhöher_Index,
zhöher_Index)
Austrittspunkt = min (Punkt 910, Punkt 912, größte
ganze Zahl) = Punkt 910.
Da der Punkt 920, der Eintrittspunkt, größer ist als der
Punkt 910, der Austrittspunkt, verläuft der Strahl 904 nicht
durch den Volumendatensatz 908 und wird durch das Volumen
aufbereitungssystem nicht weiter verarbeitet.
Claims (7)
1. Volumetrisches Vorabschneidungsverfahren zum Minimieren
von Abtastpunkten, die durch ein Volumenaufbereitungs
system (120) zum Aufbereiten eines Volumendatensatzes
(320; 520; 708; 808; 908) auf einer zweidimensionalen
Graphikanzeige (110) eines Computersystems (100) verar
beitet werden, mit folgenden Schritten:
- (a) Projizieren (206, 216) eines Volumendatensatzes (320; 520) auf eine Bildebene (422; 622), wobei die Bildebene eine Mehrzahl von Pixeln aufweist, um eine Projektion des Volumendatensatzes auf die Bildebene zu erzeugen;
- (b) Werfen eines Strahls von jedem der Mehrzahl von Pixeln, wobei jeder Strahl eine Mehrzahl von Ab tastpunkten aufweist, um eine Mehrzahl von Strah len zu erzeugen;
- (c) Abschneiden aller der Mehrzahl von Strahlen, die von Pixeln geworfen sind, die außerhalb der Pro jektion des Volumendatensatzes (320; 520) auf der Bildebene (422; 622) angeordnet sind; und
- (d) Verarbeiten, durch das Volumenaufbereitungssystem (120), der Mehrzahl von Abtastpunkten, die auf je dem Strahl angeordnet sind, der von Pixeln gewor fen ist, die innerhalb der Projektion des Volumen datensatzes (320; 520) auf der Bildebene (422; 622) angeordnet sind.
2. Verfahren gemäß Anspruch 1, bei dem der Schritt (a)
ferner folgende Schritte (a1) bis (a6) aufweist:
- (a1) Umwandeln von jedem der Grenzscheitelpunkte (302 bis 318) des Volumendatensatzes (320) in homogene Koordinaten;
- (a2) Transformieren (204) von jedem der Grenzscheitel punkte (302 bis 318) des Volumendatensatzes (320) von einem Quellenraum (Fig. 3), der den Volumen datensatz enthält, in einen Betrachtungsraum (Fig. 4), durch das Multiplizieren von jeder der homogenen Koordinaten von jedem der Grenzschei telpunkte mit einer orthographischen Transforma tionsmatrix, was transformierte Grenzscheitel punkte in dem Betrachtungsraum (Fig. 4) ergibt;
- (a3) Bestimmen eines Betrachtungsvektors (420) in dem Betrachtungsraum (Fig. 4);
- (a4) Projizieren (206) von jedem der transformierten Grenzscheitelpunkte auf eine Betrachtungsebene in dem Betrachtungsraum (Fig. 4) durch eine Mehrzahl von Strahlen parallel zu dem Betrachtungsvektor (420), wobei jeweils einer der Mehrzahl von Strahlen durch jeweils einen der transformierten Grenzscheitelpunkte verläuft, und wobei die Be trachtungsebene ferner eine Mehrzahl von Pixeln aufweist;
- (a5) Transformieren (210) des Betrachtungsvektors (420) von dem Betrachtungsraum (Fig. 4) in den Quellenraum (Fig. 3), durch das Multiplizieren des Betrachtungsvektors mit einer inversen ortho graphischen Transformationsmatrix, was einen transformierten Betrachtungsvektor in dem Quel lenraum ergibt; und
- (a6) Transformieren (212) der Mehrzahl von Pixeln auf der Betrachtungsebene in dem Betrachtungsraum (Fig. 4) in die Bildebene (422) in dem Quellen raum (Fig. 3), durch das Multiplizieren von jedem der Mehrzahl von Pixeln mit der inversen ortho graphischen Transformationsmatrix, was eine transformierte Mehrzahl von Pixeln in dem Quel lenraum ergibt, wodurch die Projektion des Volu mendatensatzes (320) auf die Bildebene erzeugt wird.
3. Verfahren gemäß Anspruch 1, bei dem der Schritt (a)
ferner folgende Schritte (a1) bis (a7) aufweist:
- (a1) Umwandeln von jedem der Grenzscheitelpunkte (502 bis 518) des Volumendatensatzes (520) in homogene Koordinaten;
- (a2) Bestimmen eines Abstandswerts von einem Blick punkt und der Bildebene (622);
- (a3) Multiplizieren einer orthographischen Matrix mit einer perspektivischen Matrix, um eine kombinier te Matrix zu erhalten;
- (a4) Transformieren (214) von jedem der Grenzscheitel punkte (502 bis 518) des Volumendatensatzes (520) von einem Quellenraum (Fig. 5), der den Volumen datensatz enthält, in einen Betrachtungsraum (Fig. 6), durch Multiplizieren von jeder der ho mogenen Koordinaten von jedem der Grenzscheitel punkte mit der kombinierten Matrix, was transfor mierte Grenzscheitelpunkte ergibt;
- (a5) Projizieren (216) der transformierten Grenzschei telpunkte auf eine Betrachtungsebene in dem Be trachtungsraum (Fig. 6) durch eine Mehrzahl von Strahlen, die von dem Blickpunkt ausgehen, wobei jeweils einer der Mehrzahl von Strahlen durch jeweils einen der transformierten Grenzscheitel punkte verläuft, und wobei ferner die Betrach tungsebene eine Mehrzahl von Pixeln aufweist;
- (a6) Transformieren (220) von jedem der Mehrzahl von Strahlen von dem Betrachtungsraum (Fig. 6) in den Quellenraum (Fig. 5), durch das Multiplizieren von jedem der Mehrzahl von Strahlen mit einer in versen kombinierten Matrix, was eine transfor mierte Mehrzahl von Strahlen in dem Quellenraum ergibt; und
- (a7) Transformieren (222) der Mehrzahl von Pixeln auf der Betrachtungsebene in dem Betrachtungsraum (Fig. 6) in die Bildebene (622) in dem Quellen raum (Fig. 5), durch das Multiplizieren von jedem der Mehrzahl von Pixeln mit der inversen kombi nierten Matrix, was eine transformierte Mehrzahl von Pixeln in dem Quellenraum ergibt, wodurch die Projektion des Volumendatensatzes (520) auf die Bildebene erzeugt wird.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem
die folgenden Schritte (d1) bis (d4) statt des Schritts
(d) durchgeführt werden:
- (d1) Berechnen eines Eintrittspunkts (426; 626; 710; 806; 910) und eines Austrittspunkts (428; 628; 712; 812; 910) auf jedem der Strahlen;
- (d2) Abschneiden eines vorderen Abschnitts der Mehr zahl von Abtastpunkten auf jedem der Strahlen, wobei der vordere Abschnitt der Mehrzahl von Ab tastpunkten auf jedem der Strahlen außerhalb des Volumendatensatzes (320; 520; 708; 808; 908) und zwischen der Bildebene (422; 622; 702; 802; 902) und dem Eintrittspunkt (426; 626; 710; 806; 910) liegt;
- (d3) Abschneiden eines hinteren Abschnitts der Mehr zahl von Abtastpunkten auf jedem der Strahlen, wobei der hintere Abschnitt der Mehrzahl von Ab tastpunkten auf jedem der Strahlen außerhalb des Volumendatensatzes (320; 520; 708; 808; 908) und jenseits des Austrittspunkts (428; 628; 712; 812; 910) auf jedem der Strahlen in einer Richtung von der Bildebene (422; 622; 702; 802; 902) weg liegt; und
- (d4) Verarbeiten, durch das Volumenaufbereitungssystem (120), eines mittleren Abschnitts der Mehrzahl von Abtastpunkten auf jedem der Strahlen, wobei der mittlere Abschnitt der Mehrzahl von Abtast punkten auf jedem der Strahlen innerhalb des Vo lumendatensatzes (320; 520; 708; 808; 908) und zwischen dem Eintrittspunkt (426; 626; 710; 806; 910) und dem Austrittspunkt (428; 628; 712; 812; 910) auf jedem der Strahlen liegt.
5. Verfahren gemäß Anspruch 4, bei dem der Schritt (d1)
ferner folgende Schritte (d1a) bis (d1e) aufweist:
- (d1a) Berechnen eines unteren x-Index, eines unteren y-Index, eines unteren z-Index, eines oberen x-Index, eines oberen y-Index und eines oberen z-Index für jeden der Strahlen;
- (d1b) Bestimmen eines Eintrittspunktwerts aus dem Ma ximum des unteren x-Index, des unteren y-Index, des unteren z-Index, und Null für jeden der Strahlen;
- (d1c) Bestimmen eines Austrittspunktwerts aus dem Mi nimum des oberen x-Index, des oberen y-Index, und des oberen z-Index für jeden der Strahlen;
- (d1d) Umwandeln des Eintrittspunktwerts und des Aus
trittspunktwerts für jeden der Strahlen in den
Eintrittspunkt (426; 626; 710; 806; 910) und den
Austrittspunkt (428; 628; 712; 812; 910) für je
den der Strahlen, wobei der Eintrittspunkt
(x,y,z)-Koordinaten in dem Quellenraum (Fig. 3;
Fig. 5) aufweist, und der Austrittspunkt
(x,y, z)-Koordinaten in dem Quellenraum aufweist;
und - (d1e) Zuführen der (x,y,z)-Koordinaten des Eintritts punkts (426; 626; 710; 806; 910) und der (x,y, z) -Koordinaten des Austrittspunkts (428; 628; 712; 812; 910) für jeden der Strahlen zu dem Volumenaufbereitungssystem (120).
6. Verfahren gemäß Anspruch 5, bei dem der Schritt (d1a)
ferner folgende Schritte (d1a1) bis (d1a10) aufweist:
- (d1a1) Bestimmen eines Delta-x-Werts, eines Delta-y- Werts und eines Delta-z-Werts für jeden der Strahlen;
- (d1a2) Vertauschen des unteren x-Index mit dem oberen x-Index für einen jeweiligen der Strahlen, wenn der Delta-x-Wert für den jeweiligen Strahl kleiner als Null ist;
- (d1a3) Vertauschen des unteren y-Index mit dem oberen y-Index für einen jeweiligen der Strahlen, wenn der Delta-y-Wert für den jeweiligen Strahl kleiner als Null ist;
- (d1a4) Vertauschen des unteren z-Index mit dem oberen z-Index für einen jeweiligen der Strahlen, wenn der Delta-z-Wert für den jeweiligen Strahl kleiner als Null ist;
- (d1a5) Zuweisen von Null zu dem unteren x-Index und Zuweisen einer großen ganzzahligen Zahl zu dem oberen x-Index für einen jeweiligen der Strah len, wenn der Delta-x-Wert für den jeweiligen Strahl gleich Null ist, und sich der Strahl möglicherweise innerhalb des Volumendatensat zes (320; 520, 708; 808; 908) befindet;
- (d1a6) Zuweisen von Null zu dem unteren y-Index und Zuweisen der großen ganzen Zahl zu dem oberen y-Index für einen jeweiligen der Strahlen, wenn der Delta-y-Wert für den jeweiligen Strahl gleich Null ist, und sich der Strahl möglicherweise innerhalb des Volumendatensat zes (320; 520, 708; 808; 908) befindet;
- (d1a7) Zuweisen von Null zu dem unteren z-Index und Zuweisen der großen ganzen Zahl zu dem oberen z-Index für einen jeweiligen der Strahlen, wenn der Delta-z-Wert für den jeweiligen Strahl gleich Null ist, und sich der Strahl möglicherweise innerhalb des Volumendatensat zes (320; 520, 708; 808; 908) befindet;
- (d1a8) Zuweisen der großen ganzen Zahl zu dem unteren x-Index und Zuweisen von Null zu dem oberen x-Index für einen jeweiligen der Strahlen, wenn der Delta-x-Wert für den jeweiligen Strahl gleich Null ist, und sich der Strahl außerhalb des Volumendatensatzes (320; 520, 708; 808; 908) befindet;
- (d1a9) Zuweisen der großen ganzen Zahl zu dem unteren y-Index und Zuweisen von Null zu dem oberen y-Index für einen jeweiligen der Strahlen, wenn der Delta-y-Wert für den jeweiligen Strahl gleich Null ist, und sich der Strahl außerhalb des Volumendatensatzes (320; 520, 708; 808; 908) befindet; und
- (d1a10) Zuweisen der großen ganzen Zahl zu dem unteren z-Index und Zuweisen von Null zu dem oberen z-Index für einen jeweiligen der Strahlen, wenn der Delta-z-Wert für den jeweiligen Strahl gleich Null ist, und sich der Strahl außerhalb des Volumendatensatzes (320; 520, 708; 808; 908) befindet.
7. Verfahren gemäß Anspruch 5 oder 6, bei dem der Schritt
(d1c) ferner folgenden Schritt (d1c1) aufweist:
- (d1c1) Abschneiden eines jeweiligen der Strahlen, wenn der Eintrittspunktwert für den jeweiligen Strahl größer ist als der Austrittspunktwert für den jeweiligen Strahl.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/866,584 US6072497A (en) | 1997-05-30 | 1997-05-30 | Volumetric pre-clipping method that guarantees minimal number of sample points through a volume |
US08/866,584 | 1997-05-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19807013A1 true DE19807013A1 (de) | 1998-12-03 |
DE19807013B4 DE19807013B4 (de) | 2005-08-18 |
Family
ID=25347935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19807013A Expired - Fee Related DE19807013B4 (de) | 1997-05-30 | 1998-02-19 | Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet |
Country Status (4)
Country | Link |
---|---|
US (1) | US6072497A (de) |
JP (1) | JP3415768B2 (de) |
DE (1) | DE19807013B4 (de) |
GB (1) | GB2325835B (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226008B1 (en) * | 1997-09-04 | 2001-05-01 | Kabushiki Kaisha Sega Enterprises | Image processing device |
GB2329810B (en) * | 1997-09-29 | 2002-02-27 | Science Res Foundation | Generation and use of compressed image data |
US6400841B1 (en) * | 1999-02-11 | 2002-06-04 | General Electric Company | Method for evaluating three-dimensional rendering systems |
US6687393B1 (en) * | 1999-07-16 | 2004-02-03 | General Electric Company | Efficient methods and apparatus for resampling three dimensional datasets |
JP2001109906A (ja) * | 1999-10-01 | 2001-04-20 | Mitsubishi Electric Inf Technol Center America Inc | ボリューム・データ・セットのレンダリング装置およびその方法 |
US20020190984A1 (en) * | 1999-10-01 | 2002-12-19 | Larry D. Seiler | Voxel and sample pruning in a parallel pipelined volume rendering system |
GB2372188B (en) * | 2001-02-08 | 2005-07-13 | Imagination Tech Ltd | Volume clipping in computer 3-D Graphics |
JP3855053B2 (ja) * | 2003-01-30 | 2006-12-06 | 国立大学法人 東京大学 | 画像処理装置、画像処理方法、及び画像処理プログラム |
EP1531322A3 (de) * | 2003-11-13 | 2007-09-05 | Matsushita Electric Industrial Co., Ltd. | Kartenanzeigegerät |
US9024949B2 (en) * | 2004-10-13 | 2015-05-05 | Sony Corporation | Object representation using distance functions |
JP4212564B2 (ja) * | 2005-02-28 | 2009-01-21 | ザイオソフト株式会社 | 画像処理方法および画像処理プログラム |
US7298370B1 (en) * | 2005-04-16 | 2007-11-20 | Apple Inc. | Depth ordering of planes and displaying interconnects having an appearance indicating data characteristics |
US8698844B1 (en) | 2005-04-16 | 2014-04-15 | Apple Inc. | Processing cursor movements in a graphical user interface of a multimedia application |
US7826684B2 (en) * | 2005-09-21 | 2010-11-02 | Siemens Medical Solutions Usa, Inc. | Optimization and view dependency reduction for processing slice-based volumes |
JP4902748B2 (ja) * | 2006-12-08 | 2012-03-21 | メンタル イメージズ ゲーエムベーハー | 階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム |
US20080232694A1 (en) * | 2007-03-21 | 2008-09-25 | Peter Sulatycke | Fast imaging data classification method and apparatus |
US9619917B2 (en) | 2008-10-03 | 2017-04-11 | Apple Inc. | Depth of field for a camera in a media-editing application |
JP2013050379A (ja) * | 2011-08-31 | 2013-03-14 | Mitsutoyo Corp | 硬さ試験機 |
US8935138B2 (en) * | 2012-03-28 | 2015-01-13 | Mitsubishi Electric Research Laboratories, Inc. | Analyzing volume removed during machining simulation |
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
US10169909B2 (en) * | 2014-08-07 | 2019-01-01 | Pixar | Generating a volumetric projection for an object |
US10121277B2 (en) * | 2016-06-20 | 2018-11-06 | Intel Corporation | Progressively refined volume ray tracing |
US11796617B2 (en) * | 2019-01-04 | 2023-10-24 | University Of Cincinnati | System and method for reconstruction of magnetic resonance images acquired with partial Fourier acquisition |
CN113178014B (zh) * | 2021-05-27 | 2023-06-13 | 网易(杭州)网络有限公司 | 场景模型渲染方法、装置、电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8517045D0 (en) * | 1985-07-05 | 1985-08-14 | Tector Ltd | Intersection computer |
JPS6476374A (en) * | 1987-09-18 | 1989-03-22 | Toshiba Corp | Depth map producing device |
US4958305A (en) * | 1987-11-04 | 1990-09-18 | General Electric Company | Polygon edge clipping |
GB2231759B (en) * | 1989-05-18 | 1993-12-08 | Sun Microsystems Inc | Method and apparatus for the rendering of geometric volumes |
FR2653919A1 (fr) * | 1989-10-30 | 1991-05-03 | Gen Electric | Procede et appareil pour la restitution de projections volumetriques utilisant la projection inverse de rayons. |
US5226113A (en) * | 1989-10-30 | 1993-07-06 | General Electric Company | Method and apparatus for volumetric projection rendering using reverse ray casting |
US5734384A (en) * | 1991-11-29 | 1998-03-31 | Picker International, Inc. | Cross-referenced sectioning and reprojection of diagnostic image volumes |
-
1997
- 1997-05-30 US US08/866,584 patent/US6072497A/en not_active Expired - Fee Related
-
1998
- 1998-02-19 DE DE19807013A patent/DE19807013B4/de not_active Expired - Fee Related
- 1998-05-12 GB GB9810150A patent/GB2325835B/en not_active Expired - Fee Related
- 1998-05-28 JP JP14740998A patent/JP3415768B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6072497A (en) | 2000-06-06 |
GB2325835A (en) | 1998-12-02 |
GB9810150D0 (en) | 1998-07-08 |
JP3415768B2 (ja) | 2003-06-09 |
GB2325835B (en) | 2002-01-09 |
DE19807013B4 (de) | 2005-08-18 |
JPH117545A (ja) | 1999-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19807013A1 (de) | Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet | |
DE69812732T2 (de) | Verfahren und Gerät zur schnellen Wiedergabe von durch Computer erzeugten Bildern von komplexen Strukturen | |
DE60032832T2 (de) | Darstellung einer gekrümmten Oberfläche in mehreren Auflösungen | |
DE69322575T2 (de) | Verfahren und Gerät zur Wiedergabe von abgeglichenen NURB Oberflächen | |
DE69408473T2 (de) | Direktes rendering von texturierten höhenfeldern | |
DE69224499T2 (de) | Dreidimensionale graphische Verarbeitung | |
DE19646194B4 (de) | Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung | |
DE3689654T2 (de) | Rechnergraphik, prozessor für parallele subdivision. | |
DE69524330T2 (de) | Anordnung von Knotenverbindungstruktur in einem Raum mit negativer Krümmung | |
DE3689271T2 (de) | Verfahren zur Bildanzeige. | |
DE69534331T2 (de) | Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur | |
DE69716877T2 (de) | System und Verfahren zur genauen Gradientberechnung für die Texturabbildung in einem Computergraphiksystem | |
DE69329341T2 (de) | Virtueller realitätsgenerator für finanznachrichten | |
DE69807479T2 (de) | Erzeugung eines Bildes eines dreidimensionalen Objekts | |
DE69830767T2 (de) | Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter | |
DE69032932T2 (de) | System und Verfahren zum unverfälschten Polygonenzeichnen | |
DE69624878T2 (de) | Verfahren und Vorrichtung zur Volumendarstellung | |
DE69129712T2 (de) | Arbeitsraumanzeigen | |
DE69428647T2 (de) | Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals | |
DE69624868T2 (de) | Computergraphiksystem mit leistungsfähiger Vorverarbeitung des Clippings von Primitiven | |
DE69900213T2 (de) | Verfahren und Gerät um Ansichten von hierarchisch zusammengefassten Daten herzustellen und anzuzeigen | |
DE60012917T2 (de) | Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten | |
DE102005050846A1 (de) | Perspektiveneditierwerkzeuge für 2-D Bilder | |
EP0829822B1 (de) | Verfahren zur Anzeige von geometrischen Objektoberflächen | |
DE69631718T2 (de) | Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20140902 |