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ährleistet

Info

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
Application number
DE19807013A
Other languages
English (en)
Other versions
DE19807013B4 (de
Inventor
Barthold Lichtenbelt
Hasan Shahzad Naqvi
Tom Malzbender
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE19807013A1 publication Critical patent/DE19807013A1/de
Application granted granted Critical
Publication of DE19807013B4 publication Critical patent/DE19807013B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

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
x-Koordinatenaustrittspunkt = (Austrittspunkt 712.dx) + xi
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
x-Koordinatenaustrittspunkt = (Austrittspunkt 812.dx) + xi
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.
DE19807013A 1997-05-30 1998-02-19 Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet Expired - Fee Related DE19807013B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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