DE69921696T2 - Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum - Google Patents

Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum Download PDF

Info

Publication number
DE69921696T2
DE69921696T2 DE69921696T DE69921696T DE69921696T2 DE 69921696 T2 DE69921696 T2 DE 69921696T2 DE 69921696 T DE69921696 T DE 69921696T DE 69921696 T DE69921696 T DE 69921696T DE 69921696 T2 DE69921696 T2 DE 69921696T2
Authority
DE
Germany
Prior art keywords
value
voxel
point
ray
visualization
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.)
Expired - Lifetime
Application number
DE69921696T
Other languages
English (en)
Other versions
DE69921696D1 (de
Inventor
Shmuel Akerman
Gad Miller
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.)
Algotec Systems Ltd
Original Assignee
Algotec Systems Ltd
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 Algotec Systems Ltd filed Critical Algotec Systems Ltd
Application granted granted Critical
Publication of DE69921696D1 publication Critical patent/DE69921696D1/de
Publication of DE69921696T2 publication Critical patent/DE69921696T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein Verfahren zum Bilden eines perspektivischen Rendering von einem Raum von Volumenelementen (Voxeln). Spezieller betrifft diese Erfindung eine Familie von algorithmischen Optimierungen, die bei dem Bilden eines perspektivischen Rendering von einem Voxelraum nützlich sind.
  • HINTERGRUND DER ERFINDUNG
  • Viele quantitative Disziplinen sammeln oder erzeugen mehrdimensionale Daten. Diese Disziplinen umfassen medizinische Abbildungsanwendungen, wie z.B. CT oder MRI; geophysikalische Modellierung, Wettervorhersage, wissenschaftliche Simulationen, Animationsmodelle und dergleichen. Diese mehrdimensionalen Daten werden häufig in der Form von Voxeln gespeichert und manipuliert. Voxels sind Volumenelemente in drei (oder mehr) Dimensionen; und sind analog zu Bildpunkten (zweidimensionalen Bildelementen).
  • Fachleute finden es häufig nützlich, einige Aspekte von Voxeldaten visualisieren zu können. Die Visualisierung erfordert ein Transformieren der Voxeldaten, so dass ein Querschnitt, eine Projektion oder eine andere Form von Visualisierung auf einem zweidimensionalen Anzeigegerät verwirklicht werden kann. Zahlreiche Visualisierungstechniken sind untersucht worden, und die meisten sind zur Anwendung nicht praktikabel; wegen rechnerischer Komplexitäten, die damit verbunden sind. Nichtsdestoweniger gibt es gewisse grundsätzliche wünschenswerte Aspekte von Visualisierungsstandards für akzeptierte Renderings (Darstellungen).
  • Der Fachmann erwartet, dass die Visualisierung höhere Einsichten ermöglicht und ein gesteigertes Verstehen der Daten wachruft. Dies wird häufig bewerkstelligt, indem (auf einem Rendering der Daten) subjektive Kriterien, wie z.B. Tiefe, Schattierung, Perspektive, Beleuchtung oder Schattenbildung aufgebracht werden; die nicht notwendigerweise für die Daten, die gerendert werden, generisch sind. Z.B. sind Tiefe oder Schatten keine natürlichen Merkmale von geophysikalischen Querschnitten; sie können aber für den Fachmann hilfreich sein, der nach Wegen sucht, um eine solche komplexe Datenmenge zu verstehen. Alternativ kann der Fachmann erwarten, dass die Visualisierung naturgetreu ist (von realistischer Erscheinung).
  • Das Ergebnis der Renderingserwartungen der Fachleute und die rechnerische Komplexität, sie zu bewerkstelligen, hat ein wirres Durcheinander von Renderingstechniken erzeugt. Einige Techniken sind entwickelt worden, die zum Rendern gewisser Datenmengen spezifisch sind, während andere Techniken anscheinend allgemeiner im Umfang sind.
  • Die Beschaffenheit des Standes der Technik (vom Rendering eines Voxelraums) kann besser aus einem Studium der US 5201035 , US 5499323 , US 5594844 , US-A-5 555 352, FR-A-2662524 und aus den Stand-der-Technik-Bezugsstellen, die darin zitiert sind, gewürdigt werden. Weiter wird die Größenordnung von Komplexität dadurch eingesehen, die zur erfolgreichen algorithmischen Optimierung beim Bilden eines perspektivischen Rendering von einem Voxelraum erforderlich ist.
  • Der Stand der Technik ist problematisch und in erster Linie anwendungsspezifisch. Viele überlappende Kombinationen von fundamentaleren Grafikalgorithmen werden bei einem Versuch verwendet, um gleichzeitig ein angemessenes Rendering innerhalb algorithmischer Schranken bereitzustellen, die ökonomisch und technisch brauchbar sind. Viele Beispiele von Stand-der-Technik-Verfahren sind visuell realistisch aber algorithmisch schwer, und viele andere Beispiele des Standes der Technik sind visuell stark vereinfachend, obgleich algorithmisch praktikabel. Folglich gibt es im Stand der Technik einen Bedarf an Renderingverfahren, die gleichzeitig visuell realistisch und algorithmisch brauchbar sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren zum Bilden eines hochraumauflösenden perspektivischen Rendering von einem niedrigraumauflösenden Voxelraum gemäß Anspruch 1.
  • Die vorliegende Erfindung liefert ein praktikables Verfahren, sowohl visuell als auch algorithmisch, um ein perspektivisches Volumenrendering mit hochraumauflösendem Bild von einem niedrigraumauflösenden Voxelraum zu bilden. Die Daten, die in eine Visualisierung zu rendern sind, werden in einem dreidimensionalen Array von Volumenelementen (Voxeln) dargestellt. Da die in den Voxeln gespeicherten Daten nicht notwendigerweise von einem Format, Größe oder Verteilung sind, das zur Darstellung (z.B. auf einem Anzeigegerät, wie z.B. einem TV-Schirm, einem Plotter oder dergleichen) nützlich ist, ist ein Transformationsschritt erforderlich, um die Daten mit einer Form in Übereinstimmung zu bringen, die auf einem Anzeigegerät dargestellt werden kann. Diese Klassen werden verwendet, um einen oder mehrere Bereiche von Voxelwerten zu Dubletten eines Transparenzwerts und eines Darstellungswerts (z.B. RGB für Farbe oder Graustufe oder dergleichen) zu transformieren. Man erinnere sich, dass Transparenzwert und Opazitätswert inverse Quantifizierungen desselben Visualisierungsaspekts sind, so dass es nur gemäß Konzeptualisierungszweckmäßigkeit ist, dass die vorliegende Erfindung entsprechend Transparenzwerten oder Opazitäts werten beschrieben wird.
  • Gemäß der vorliegenden Erfindung werden einige Interpolationen vor Voxelwert-zu-Visualisierungswert-Transformationen durchgeführt, während andere Interpolationen nach diesen Transformationen durchgeführt werden. Interpolation ist eines der Schlüsselwerkzeuge, die verwendet werden, um ein hochauflösendes Bild von einer niedrigerauflösenden Darstellung zu rendern. Es gibt viele Funktionen, die sich zur Ausführung von Interpolationen als nützlich erwiesen haben. Eine Interpolation löst rechnerisch nach einem Wert an einer ausgewählten Position von zwei oder mehr Nachbarpositionen auf. Interpolationsfunktionen können selbst alle bekannten Stellen mit Datenwerten erwägen, um nach einer einzigen Stelle aufzulösen, deren Datenwert gesucht wird. Im Allgemeinen können Interpolationsfunktionen geordnet werden; entweder in demselben Sinn wie Polynome oder entsprechend einem Maß an algorithmisch-rechnerischer Komplexität.
  • Der Kompromiss zwischen Interpolationen niedriger Ordnung (z.B. linear), Interpolationen dazwischenliegender Ordnung (z.B. kubisch oder Spline) und Interpolationen höherer Ordnung beeinflusst direkt die visuelle Glattheit einer Erscheinung für Bilder, wobei Interpolationen verwendet worden sind, um Werte für Stellen synthetisch zu erzeugen, wo keine solchen Werte in den ursprünglichen Daten existierten. Selbst für Interpolationen dazwischenliegender Ordnung gibt es einen großen algorithmischen Aufwand.
  • Deshalb werden bei Visualisierungsanwendungen normalerweise Interpolationen niedriger Ordnung zum Lösen an allen Interpolations-erfordernden Positionen verwendet, abgesehen von einer äußerst kritischen Untermenge von Positionen, wie z.B. Positionen, die nahe genug am Auge sind (z.B. Vordergrundobjekte und keine Hintergründe). Weiter ist Wechseln zwischen Interpolationen unterschiedlicher Ordnung bemerkenswert und erfordert einen gewissen sekundären Ausgleichsmechanismus – insbesondere, wenn das Kriterium Nähe zum Auge ist. Diese speziellen Erwägungen zum Bewahren einer Erscheinung von Glattheit sind besonders wichtig, weil – oft ein Ziel der Visualisierung darin besteht, die klare Auflösung von eindeutigen Klassengrenzen aufrechtzuerhalten (in der Form von kontinuierlichen Iso-Oberflächen von Voxelwerten – wie unten erklärt).
  • Im Kontext der vorliegenden Erfindung:
    • (i) Eine "Iso-Oberfläche" ist eine Mannigfaltigkeit im Raum, in der die Interpolationsfunktion der Voxelwerte konstant ist.
    • (ii) Eine "Klasse" ist ein Gebiet im Raum, in dem die Interpolationsfunktion Werte annimmt, die zu einem vordefinierten Intervall gehören.
  • Deshalb folgt durch die Stetigkeit der Interpolationsfunktion, dass eine Klasse durch die Iso-Oberfläche(n) begrenzt wird (werden), die dem Rand (den Rändern) des Klassen-Intervalls entspricht (entsprechen). Es sollte ersichtlich sein, dass im Kontext der vorliegenden Erfindung die Iso-Oberflächen, die in Bezug zur Verarbeitung "interessant" sind, die Klassen-begrenzenden Iso-Oberflächen sind.
  • Ein anderer signifikanter Aspekt beim Rendern einer Visualisierung von Daten betrifft Beleuchtung. Es gibt zwei grundsätzliche Typen von Beleuchtung: Oberflächenbeleuchtung und Volumenbeleuchtung. Oberflächenbeleuchtung tritt auf (ist erwünscht), wenn eine äußere Lichtquelle die Oberflächen der Klassen beleuchtet. Im Kontext der bevorzugten Ausführungsform der vorliegenden Erfindung entsteht Oberflächenbeleuchtung von demselbem vorbestimmten Ausgangspunkt wie das "Auge des Beobachters". Im Gegensatz dazu stammt Volumenbeleuchtung von (ist erwünscht wenn) ein oder mehrere Voxels im "Voxelraum" selbst Quellen von Beleuchtung (strahlend) sind. Im Kontext von mehreren Ausführungsformen der vorliegenden Erfindung wird entweder ausschließlich Oberflächenbeleuchtung verwendet, oder es wird Volumenbeleuchtung verwendet, um eine Oberflächenbeleuchtung zu ergänzen. Gemäß einer Ausführungsform der vorliegenden Erfindung wird ausschließlich Volumenbeleuchtung verwendet.
  • Qualitativ sind Oberflächenbeleuchtungswerte proportional zum Cosinus des Winkels, der zwischen einem Vektor, der das Auge und einen Punkt auf einer Iso-Oberfläche verbindet, und einer Normalen auf die Iso-Oberfläche an diesem Punkt gebildet ist; gemäß der Ausführungsform, wo die Lichtquelle angrenzend an das Auge ist.
  • Qualitativ ist Volumenbeleuchtung proportional zur Luminanz (Radianz), die einem oder mehreren Punkten im Voxelraum zugeordnet ist, dem Abstand zwischen dem lumineszierenden Punkt und dem Ausgangspunkt (dem Auge) sowie der Opazität (oder äquivalent aber invers – der Transparenz) von relevanten Voxeln zwischen dem lumineszierenden Punkt und dem Ausgangspunkt (dem Auge).
  • Qualitativ akkumuliert Opazität (zwischen jedem Voxel und dem Auge) entsprechend dem Beleuchtungsmodell unterschiedlich: Oberfläche, Volumen oder Kombination. Im Allgemeinen stellt kumulative Opazität den "Bruchteil von Licht" ("FoL") (auch als "CT"-kumulative Transparenz bezeichnet) dar, der das Auge von einem Punkt im Voxelraum erreicht; aufgrund der Lichtabsorptionsbeschaffenheit des Mediums zwischen den beiden (dem Auge und dem Punkt). Weiter sollte es angemerkt werden, dass die räumliche Genauigkeit, die zum erfolgreichen Rendering von Oberflächenbeleuchtung notwendig ist, signifikant höher ist als diejenige, die zum erfolgreichen Volumenbeleuchten erforderlich ist.
  • Entsprechend dem Volumenbeleuchtungsmodell ist die Lumineszenz (Radianz) des Punktes durch FoL zu dem Zeitpunkt, zu dem sie das Auge erreicht, skaliert (abgeschwächt). Entsprechend dem Oberflächenbeleuchtungsmodell ist die Lumineszenz (Radianz) des Auges durch FoL·FoL zu dem Zeitpunkt, zu dem sie den Pfad vom Auge zum Punkt und zurück zum Auge beendet, skaliert (abgeschwächt). Weiter wird die Oberflächennormalenrichtung, die in der Oberflächenbeleuchtungsberechnung für Iso-Oberflächen verwendet wird, bestimmt, indem irgendeine von vielen wohlbekannten analytischen Veranschlagungen für einen Gradienten (der interpolierten Iso-Oberfläche) verwendet wird.
  • Akkumulieren eines Transparenzwerts in einem Bildpunkt erfolgt durch Aktualisieren des gegenwärtigen Transparenzwerts für den Bildpunkt:
    CT* = Taugenblickliche Schrittgröße (siehe 5); der gegenwärtige Transparenzwert für die Position auf dem Vektor, potenziert mit dem Abstand auf dem Vektor von der gegenwärtigen Position zur letzten Position, akkumuliert im Bildpunkt; und der gegenwärtige Transparenzwert für die Position auf dem Vektor ist ein einheitsnormierter Transparenzwert.
  • Ein weiterer signifikanter Aspekt bei "dem Prozess von Volumenrendering einer Visualisierung von Daten" betrifft eine wohlbekannte allgemeine Technik, die "Ray-Casting" genannt wird. Ray-Casting simuliert im Wesentlichen eine Mehrzahl von optischen Informationsvektoren die am Brennpunkt des Auges konvergieren. Äquivalent simuliert Ray-Casting einen algorithmischen Prozess, bei dem eine Akkumulation von optischer Information in Bezug zu einer Mehrzahl von angrenzenden Vektoren eingerichtet wird; vom Auge auswärts ausgehend. Dieser algorithmische Prozess ermöglicht ein Abschneiden des Vektors (des geworfenen Strahls), wenn die kumulative Transparenz des durchquerten Pfads vernachlässigbar wird.
  • Gemäß der vorliegenden Erfindung werden Positionen entlang dem Vektor zum Akkumulieren von Transparenzwerten ausgewählt, und die Schrittgröße zwischen einer gegenwärtigen Position und einer nächsten Position wird so ausgewählt, dass sie von der Opazität bei der gegenwärtigen Position abhängt; obwohl eine minimale und maximale Schrittgröße die Schranken dieser Proportionalität begrenzen. Weiter wird eine Klassenänderung detektiert, indem eine Änderung in Opazität zwischen zwei aufeinanderfolgenden Schritten auf einem Vektor bemerkt wird. Weiter ist gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung in einem durch den Vektor durchquerten Gebiet mit einer hohen Transparenz die Schrittgröße groß, und in einem durch den Vektor durchquerten Gebiet mit einer niedrigen Transparenz ist die Schrittgröße klein.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung werden Volumenbeleuchtungsbeiträge überall erzeugt, wohingegen Oberflächenbeleuchtungsbeiträge nur erzeugt werden, wenn von einer Klasse von niedrigerer Opazität zu einer Klasse von höherer Opazität übergegangen wird. Dieses Übergehen erfolgt an einer Oberfläche, die dem Auge zugekehrt ist (einer Vorderseitenoberfläche), während ein Übergehen von höheren zu niedrigeren Klassen von Opazität eine "verborgene" Oberfläche (eine Hinterseitenoberfläche) ist. Z.B. in einem medizinischen Datenkontext, wenn ein Vektor einen Muscus durchquert und auf ein Gewebe trifft, dann handelt es sich bei diesem Auftreffen um eine Vorderseitenoberfläche; während die Fortsetzung des Vektors wieder in einen Muscus eintreten mag, und dieses "zweite Hindurchtreten" ist eine Hinterseitenoberfläche.
  • Entsprechend den Kriterien (zur Interpolation) zum Bewahren einer Erscheinung von Glattheit beim Rendern von kontinuierlichen Iso-Oberflächen ist ein hoher Grad an räumlicher Genauigkeit notwendig, jedesmal wenn ein Oberflächenbeleuchtungsbeitrag einer Vorderseitenoberfläche (zur kumulativen Opazität des Ray-Casting-Vektors) zu berechnen ist. Deshalb wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung, jedesmal wenn eine Vorderseitenoberfläche zwischen zwei aufeinanderfolgenden Schritten detektiert wird – eine Suche kleinerer Schrittgröße zwischen den zwei "aufeinanderfolgenden Schritten" ausgeführt. Diese Suche dient dazu, einen höheren Grad an räumlicher Positionierung für einen Punkt auf der Vorderseitenoberfläche, die sich mit dem Vektor schneidet, und auch für die Normale an diesen Punkt auf die Iso-Oberfläche zu erzielen.
  • Die spezielle Signifikanz von diesen Vorderseitenoberflächen für den Renderingsprozess vorausgesetzt, wird eine zusätzliche Verarbeitungsschicht eingeführt. Diese Verarbeitung soll im Wesentlichen verhindern, dass eine Situation auftritt, bei der zwei aufeinanderfolgende Schritte eine Vorderseitenoberfläche überspringen, ohne sie zu detektieren. Unter Fortsetzung des Beispiels von medizinischem Kontext nehme man an, dass es eine Membran (oder Dünnfilm von Gewebe oder ein Knochenfragment usw.) im Muscus gibt, die tangential zum Vektor ist. Weil die Membran von einer transparenten Substanz umgeben ist, riskiert die Schrittgröße ein "Überspringen" der Membran, ohne die Existenz der Membran zu detektieren.
  • Deshalb wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ein Opazitätsstörungsvorgang ("Opazifizierung") ausgeführt. Dieser Opazifizierungsprozess soll ein Überspringen von Vorderseitenoberflächen, ohne dass ihre Gegenwart detektiert wird, verhindern. Im Opazifizierungsprozess wird eine Tabelle (oder Gleichung) hergerichtet, von der jedem Voxelwert ein Opazitätswert zugewiesen werden kann. Entsprechend dieser Tabelle (oder Gleichung) wird eine Opazität für jeden Voxelwert als der maximale Wert einer vorbestimmten Nachbarschaft in Bezug zum ursprünglichen Voxelwert angenommen. Weiter ist eine Schrittgröße auf dem Vektor entsprechend dieser Tabelle. Weil diese Tabelle wirkungsvoll Gebiete kennzeichnet, in denen es eine Vorderseitenoberfläche geben kann, wird die Schrittgröße auf dem Vektor immer verringert, jedesmal wenn der Vektor in das Gebiet einer Vorderseitenoberfläche eintritt; selbst wenn es keinen tatsächlichen Schnittpunkt zwischen ihnen gibt. Die gestörten Werte von der Tabelle (oder Gleichung) werden NICHT bei der Akkumulation einer kumulativen Opazität verwendet; und werden nur als eine konservative Strategie zum zweckmäßigen Optimieren (besseres Wählen von geeigneten) Schrittgrößen verwendet, um ein visuell akzeptables Rendering zu erzielen.
  • Gemäß der vorliegenden Erfindung betrifft ein anderer Aspekt beim Prozess von Volumenrendering selektives Ray-Casting. Wie aus den vorhergehenden Aspekten von Prozessen, die beim Volumenrendering beteiligt sind, ersichtlich ist, bewirkt jeder tatsächliche Vektor, der (vom Auge) geworfen wird, und vermöge dessen Opazitätsdaten akkumuliert werden, ein Maß an algorithmischer Komplexität, das den Kosten eines Volumenrendering hinzuzufügen ist. Weiter sollte es ersichtlich sein, dass ein Ziel der vorliegenden Erfindung darin besteht, ein hochraumauflösendes perspektivisches Rendering von einem niedrigraumauflösenden Voxelraum zu erzeugen.
  • Man erinnere sich, dass der zentrale Kompromiss beim Volumenrendering darin besteht, ein praktikables Verfahren (sowohl visuell als auch algorithmisch) bereitzustellen. Die bevorzugte Ausführungsform der vorliegenden Erfindung ist darauf gerichtet, das Ausmaß zu minimieren, bis zu dem ein tatsächliches Ray-Casting ausgeführt wird. Gemäß einer ersten Approximation dieses Minimierens von Ray-Casting wird eine vorbestimmte Mehrzahl von Strahlen geworfen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist diese vorbestimmte Mehrzahl in einer symmetrischen gleichmäßigen Verteilung verteilt, so dass Werte für alle dazwischenliegenden Strahlen ohne jegliches zusätzliches Ray-Casting von den geworfenen Strahlen interpoliert werden können.
  • Gemäß einer anderen Ausführungsform der vorliegenden Erfindung werden dazwischenliegende Strahlen geworfen, jedesmal wenn die akkumulierten Werte von den bisher geworfenen Strahlen nicht statistisch homogen sind, oder sie werden anders interpoliert.
  • Gemäß einer Variationsausführungsform der vorliegenden Erfindung wird eine erste Mehrzahl von gleichmäßig verteilten Strahlen geworfen; und in jedem Gebiet zwischen diesen gleichmäßig geworfenen Strahlen wird eine statistische Homogenitätsmetrik berechnet. Von diesen geworfenen Strahlen – werden ENTWEDER Werte im Gebiet von Werten benachbarter geworfener Strahlen interpoliert, ODER es wird eine nächste Mehrzahl von gleichmäßig verteilten Strahlen in dem Gebiet geworfen, und es wird eine nächste Auflösungsmetrik berechnet. Dieses Entweder-Oder-Verarbeiten wird wiederholt, BIS Werte für alle Strahlen in einer gewünschten räumlichen Auflösung von Strahlen zugeordnete Werte aufweisen. Diese Variationsausführungsform ist ein iterativer Zoom-Wertauffüllungsprozess, der wie geeignet die vorherigen Ausführungsformen der vorliegenden Erfindung verwendet.
  • Im Allgemeinen kann die vorliegende Erfindung als "Ein Verfahren zum Bilden eines hochraumauflösenden perspektivischen Rendering von einem niedrigraumauflösenden Voxelraum" definiert werden. Dieses Verfahren umfasst die vier Schritte ("a" bis "d") von:
    • (a) Initialisieren eines virtuellen Fensters von Bildpunkten vorbestimmter Auflösung, und Platzieren des virtuellen Fensters in dem oder in der Nähe des Voxelraums;
    • (b) von einem vorbestimmten Ausgangspunkt: spärliches Ray-Casting einer Mehrzahl von Vektoren durch das virtuelle Fenster in den Voxelraum;
    • (c) (i) für jeden Ray-Casting-Vektor, der bisher keinen zugeordneten Visualisierungswert aufweist, (ii) und darin, für jede Position in einer schrittabhängigen Reihe von Positionen auf dem Vektor, (iii) und darin, bei einer Positionsanordnung von vom Ausgangspunkt bis zum Bildpunkt, (iv) und darin, bis ein akkumulierter Transparenzwert-Schwellenwert erreicht ist oder bis ein zuletzt verfügbares Voxel, das sich mit dem Vektor schneidet, erreicht ist – was auch immer eher ist; Berechnen eines Visualisierungswerts und Speichern dieses Visualisierungswerts in dem entsprechenden Bildpunkt des Vektors; durch: ERSTENS: Interpolieren von Werten von nahegelegenen Voxeln in einen interpolierten Voxelwert für die Position; ZWEITENS: Transformieren des interpolierten Voxelwerts in einen abgeleiteten Visualisierungswert und Transparenzwert; und DRITTENS: Verwenden einer vorbestimmten Auswahlregel, Akkumulieren des abgeleiteten Visualisierungswerts mit dem Wert, der gegenwärtig in dem entsprechenden Bildpunkt ist; und
    • (d) bis jeder Bildpunkt einen zugeordneten Visualisierungswert aufweist: Auswählen eines Bildpunkts (P) mit der Initialisierung von Schritt (a), und WENN im Wesentlichen nächste Bildpunkte zu dem ausgewählten Bildpunkt (P) berechnete Visualisierungswerte aufweisen, die statistisch homogen sind, DANN Interpolieren eines Visualisierungswerts von diesen im Wesentlichen nächsten Bildpunkten, und Zuweisen des interpolierten Visualisierungswerts zum ausgewählten Bildpunkt (P), SONST: Ray-Casting eines Vektors durch den ausgewählten Bildpunkt (P), und Zuweisen eines Visualisierungswerts zum ausgewählten Bildpunkt (P) unter Verwendung von Schritt (c).
  • In Bezug zu diesen vier Schritten ("a" bis "d" – oben) und zu den Bedingungen und Subschritten darin, ist es wert, einige zusammenfassende Beobachtungen anzumerken.
  • In Schritt (a): gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ist die räumliche Auflösung der Bildpunkte höher als diejenige eines Querschnitts von Voxeln im Voxelraum.
  • In Schritt (b): wenn sich der Ausgangspunkt weit vom virtuellen Fenster befindet, dann sind die Strahlen, die durch das virtuelle Fenster geworfen sind, effektiv parallel zueinander. Alternativ, wenn sich der Ausgangspunkt in der Nähe zum virtuellen Fenster befindet, dann approximieren die geworfenen Strahlen effektiv eine divergente Perspektive; wie durch den Winkel begrenzt, der durch das virtuelle Fenster definiert ist.
  • In Schritt (c): alle vier Bedingungen müssen erfüllt sein, damit der "Berechnungs- und Speicherungs-"Vorgang ausgeführt wird.
  • In Schritt (c) Bedingung (i): man beachte, dass Vektoren in Schritt (b) geworfen werden und auch in Schritt (d) (am "SONST" Subschritt).
  • In Schritt (c) Bedingung (ii): das "Berechnen und Speichern" werden unabhängig für jede Position auf dem Vektor durchgeführt.
  • In Schritt (c) Bedingung (iii): es gibt zwei mögliche Anordnungen beim Ray-Casting. Diese Anordnungen hängen davon ab, ob sich das virtuelle Fenster zwischen dem Voxelraum und dem Ausgangspunkt befindet (wie es für die vorliegende Beschreibung der Fall ist); oder äquivalent, ob sich der Voxelraum zwischen dem Ausgangspunkt und dem virtuellen Fenster befindet. Der Ausdruck von "vom Ausgangspunkt bis zum Bildpunkt" ist eine bequeme Wahl einer Nomen klatur, die keinerlei äquivalente logisch konsistente Anordnung ausschließen soll. Z.B., wenn das virtuelle Fenster in der Mitte des Voxelraums zu platzieren wäre, oder wenn der Ausgangspunkt in der Mitte des Voxelraums zu platzieren wäre, dann würde es fakultative Anordnungen geben, wie z.B.:
    • • Vom Ausgangspunkt zum virtuellen Fenster.
    • • Vom Ausgangspunkt durch das virtuelle Fenster.
    • • Vom virtuellen Fenster weg vom Ausgangspunkt.
    • • Vom virtuellen Fenster zum (oder durch den) Ausgangspunkt.
    • • Vom Ende des Voxelraums zum virtuellen Fenster.
    • • Vom Ende des Voxelraums zum virtuellen Fenster; und danach zum (oder durch den) Ausgangspunkt.
  • In Schritt (c) Bedingung (iv): "was auch immer eher ist" bezieht sich auf ein Akkumulieren von Transparenz, bis eine weitere Akkumulation die Visualisierung nicht beeinträchtigt, oder bis es keine weiteren Daten gibt, um die Visualisierung zu beeinträchtigen. Weiter ist "Transparenzschwellenwert" eine untere Schranke (oder wenn äquivalent angegeben – bis zu einem Opazitätsschwellenwert, der eine obere Schranke ist).
  • In Schritt (c) "ERSTENS": es gibt zahlreiche Verfahren zum Bewerkstelligen der Interpolation.
  • In Schritt (c) "ZWEITENS": das Transformieren ist gemäß der Darstellung, die auf einem Anzeigegerät gewünscht wird. Sollte das Transformieren zum Schnittstellenbilden mit weiterer Bildverarbeitung erfolgen, dann ist das Transformieren entsprechend den Werten, die für dieses Verarbeiten geeignet sind.
  • In Schritt (c) "DRITTENS": das Akkumulieren ist entsprechend einem Beleuchtungsmodell, wie z.B. dem Oberflächenbeleuchtungsmodell, dem Volumenbeleuchtungsmodell, einer Kombination von diesen beiden Beleuchtungsmodellen, einem Beleuchtungsmodell, bei dem die Beleuchtungsquelle nicht angrenzend an das Auge ist, oder dergleichen.
  • In Schritt (d): es sollte ersichtlich sein, dass, wenn das spärliche Ray-Casting von Schritt (b) ausreichend ist (wie es in dem Fall sein mag, wenn unter Verwendung von Parallelverarbeitung in der Größenordnung eines Prozessors pro geworfenem Strahl ausgeführt), dann kann das ergänzende Ray-Casting des "SONST"-Subschritts niemals auftreten. Dies ist nicht besonders problematisch, wenn man die visuellen und algorithmischen Erwägungen voraussetzt, die das Verfahren der vorliegenden Erfindung motivieren.
  • Es sollte auch ersichtlich sein, dass, wenn es eine gleichmäßige Verteilung von geworfenen Strahlen durch das virtuelle Fenster (in Schritt (d) oder selbst, wenn direkt von Schritt (b) vorgenommen) gibt und wenn diese Verteilung eine räumliche Auflösung im virtuellen Fenster beschreibt, die höher ist als die räumliche Auflösung eines Querschnitts des Voxelraums, dann erwartet wird, dass sich Schritt (d) auf "Auswählen" und "Interpolieren" im Wesentlichen ohne jegliches weiteres "Ray-Casting" reduziert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Um die Erfindung zu verstehen und um zu sehen, wie sie in der Praxis durchgeführt werden kann, wird nun eine bevorzugte Ausführungsform anhand nur eines nichtbeschränkenden Beispiels mit Bezug auf die angefügten Zeichnungen beschrieben.
  • 1 ist ein schematisches Diagramm einer Ray-Casting-Geometrie;
  • 2 ist eine schematische Abbildung einer Ray-Casting-Anordnung auf einem virtuellen Fenster;
  • 3 ist ein schematisches Diagramm einer Suche auf einem Strahl nach einer Iso-Oberfläche;
  • 4 ist ein schematisches Diagramm eines Strahls, der in der Nähe einer opazifizierten Iso-Oberfläche geworfen ist;
  • 5 ist ein Flussdiagramm, das den grundsätzlichen logischen Prozess des vorliegenden Verfahrens zusammenfasst; und
  • 6 ist ein schematisches Diagramm eines Computersystems zum Bilden eines perspektivischen Rendering von einem Voxelraum.
  • AUSFÜHRLICHE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung betrifft ein Verfahren zum Bilden eines hochraumauflösenden perspektivischen Rendering von einem niedrigraumauflösenden Voxelraum. (Man wende sich 1 zu, die ein schematisches Diagramm einer Ray-Casting-Geometrie ist. Diese Geometrie ist eine typische Geometrie, die in vielen Ausführungsformen der vorliegenden Erfindung verwendet wird.) Das Verfahren umfasst die vier Schritte:
    • (a) Initialisieren eines virtuellen Fensters (1) von Bildpunkten vorbestimmter Auflösung (2) (3), und Platzieren des virtuellen Fensters in dem oder in der Nähe des Voxelraums (4). Diese Bildpunkte sind logische Speicherelemente, die Koordinaten oder Gebieten des virtuellen Fensters entsprechen. Normalerweise gibt es eine einfache und direkte Transformation von der Geometrie der Bildpunkte des virtuellen Fensters zu einem Anzeigegerät (z.B. CRT, LCD, Plotter usw.).
    • (b) Von einem vorbestimmten Ausgangspunkt (5): spärliches Ray-Casting einer Mehrzahl von Vektoren (6) (7) durch das virtuelle Fenster in den Voxelraum. (Man wende sich 2 zu, die eine schematische Abbildung einer Ray-Casting-Anordnung auf einem virtuellen Fenster ist. Z.B. werden zuerst Strahlen durch die mit "X" gekennzeichneten Bildpunkte geworfen, dann werden Strahlen durch die mit "0" gekennzeichneten Bildpunkte geworfen, und schließlich werden Strahlen für die ungekennzeichneten Bildpunkte geworfen oder interpoliert – wie in Schritt (d) unten.)
    • (c) (Man wende sich nun 3 zu, die ein schematisches Diagramm einer Suche auf einem Strahl für eine Iso-Oberfläche ist) Für jeden Ray-Casting-Vektor, der bisher keinen zugeordneten Visualisierungswert aufweist, und darin, für jede Position in einer schrittabhängigen Reihe von Positionen auf dem Vektor (z.B. (8) (9) (10)), und darin, in einer Positionsanordnung von vom Ausgangspunkt bis zum Bildpunkt, und darin, bis ein akkumulierter Transparenzwertschwellenwert erreicht ist, oder bis ein zuletzt verfügbares Voxel, das sich mit dem Vektor schneidet, erreicht ist, – ganz gleich was eher ist, Berechnen eines Visualisierungswerts und Speichern dieses Visualisierungswerts in dem entsprechenden Bildpunkt des Vektors; durch: ERSTENS: Interpolieren von Werten von nahegelegenen Voxeln in einem interpolierten Voxelwert für die Position (z.B. von Voxeln in der Nachbarschaft von Position (10) auf dem Vektor); ZWEITENS: Transformieren des interpolierten Voxelwerts in einen abgeleiteten Visualisierungswert und Transparenzwert; und DRITTENS: Verwenden einer vorbestimmten Auswahlregel, Akkumulieren des abgeleiteten Visualisierungswerts mit dem Wert, der gegenwärtig in dem entsprechenden Bildpunkt ist.
    • (d) Bis jeder Bildpunkt einen zugeordneten Visualisierungswert aufweist: Auswählen eines Bildpunkts (P) mit der Initialisierung von Schritt (a), und WENN im Wesentlichen nächste Bildpunkte zu dem ausgewählten Bildpunkt (P) berechnete Visualisierungswerte aufweisen, die statistisch homogen sind, DANN Interpolieren eines Visualisierungswerts von diesen im wesentlichsten nächsten Bildpunkten, und Zuweisen des interpolierten Visualisierungswerts zum ausgewählten Bildpunkt (P), SONST Ray-Casting eines Vektors durch den ausgewählten Bildpunkt (P), und Zuweisen eines Visualisierungswerts zu dem ausgewählten Bildpunkt (P) unter Verwendung von Schritt (c). Entsprechend vielen Voxelraum-Renderinganwendungen wird eine statistische Homogenität in Bezug zu berechneten Werten, die in Bildpunkten gespeichert sind, oder in Bezug zu Tiefenfaktoren, die damit verbunden sind, gemessen. (In diesem Kontext beziehen sich "Tiefenfaktoren" auf den Abstand vom Auge zur Position auf dem Strahl, bei der das Ray-Casting aufgrund eines Erreichens des Transparenzwertschwellenwerts oder Erreichens des Endes des Voxelraums beendet wurde.)
  • Gemäß der bevorzugten Ausführungsform des Verfahrens der vorliegenden Erfindung wird eine nächste Position in Schritt (c) in der (transformierten – siehe Schritt (c) "ZWEITENS") schrittabhängigen Reihe von Positionen entlang dem Vektor unter Verwendung einer variablen Schrittgröße von einer gegenwärtigen Position ausgewählt; und die variable Schrittgröße hängt von einer zugeordneten Transparenz für den Transparenzwert der gegenwärtigen Position ab. Für die meisten Anwendungen erhöht sich die Schrittgröße mit der Transparenz. Nichtsdestoweniger kann es Anwendungen geben, bei denen die Visualisierung der transparenten Teile des transformierten Voxelraums der wichtige Aspekt des Rendering ist.
  • Gemäß den meisten Ausführungsformen der vorliegenden Erfindung ist die Schrittgröße von der gegenwärtigen Position zur nächsten Position niemals größer als ein Voxelquerschnitt für den Voxelraum. Dies bewahrt, dass die endgültige visuelle Qualität des Bildes (das in den Bildpunkten des virtuellen Fensters zur etwaigen Anzeige auf einem Anzeigegerät von Medien eingefangen ist) nicht geringer ist, als die räumliche Auflösung des Voxelraums.
  • Gemäß einer anderen Ausführungsform der vorliegenden Erfindung ist eine erste gegenwärtige Position (der transformierten schrittabhängigen Reihe von Positionen) entlang dem Vektor an dem Bildpunkt, der dem Vektor entspricht. Dies ist äquivalent dazu, dass jeglicher Teil des Voxelraums verworfen wird, der sich zwischen dem Ausgangspunkt und dem virtuellen Fenster befindet. Gemäß der bevorzugten Ausführungsform ist die erste gegenwärtige Position am Auge (Ausgangspunkt).
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung wird jede nächste Position (der transformierten schrittabhängigen Reihe von Positionen) überprüft, so dass, WENN eine (interpolierte) Voxelwert-Klassen-Iso-Oberfläche (wie bisher definiert) entlang dem Vektor zwischen der nächsten Position und der gegenwärtigen Position vermöge der Anzeige, dass der Transparenzwert der nächsten Position kleiner ist als derjenige der gegenwärtigen Position, entdeckt worden ist, DANN mindestens eine Position zwischen der gegenwärtigen und nächsten Position untersucht wird, um eine höhere Raumauf lösungspositionierung für die Iso-Oberfläche zu liefern. Z.B. befinden sich in der Reihe von Positionen auf dem geworfenen Strahl in 3 die Positionen (11) und (12) auf entgegengesetzten Seiten einer Iso-Oberfläche (13). Wenn der berechnete Visualisierungswert für die Position (12) größer ist als derjenige, der an der Position (11) berechnet ist, dann ist der der Vorderseite gegenüberliegende Teil der Iso-Oberfläche durch den geworfenen Strahl durchquert worden. Dies bildet die Detektion einer Klassen-Iso-Oberfläche.
  • Ein Fortfahren (z.B. mit einer Suche) zurück, um eine Position (14) zu überprüfen, und vorwärts zu einer Position (15), erhöht die Genauigkeit des Beitrags durch die Iso-Oberfläche zum Visualisierungswert. Formeller angegeben, zwischen erstens der mindestens einen Position und zweitens entweder der gegenwärtigen oder nächsten Position wird eine weitere mindestens eine Position untersucht, um ein höherraumauflösendes Positionieren für die Iso-Oberfläche zu liefern. Weiter werden weitere Untersuchungen von Positionen ausgeführt, bis eine vorbestimmte Genauigkeit beim Lokalisieren der detektierten Iso-Oberfläche erzielt wird.
  • Gemäß einer alternativen Ausführungsform der vorliegenden Erfindung wird jede nächste Position (der transformierten schrittabhängigen Reihe von Positionen) überprüft, so dass, WENN eine Klassen-Iso-Oberfläche entlang dem Vektor zwischen der nächsten Position und der gegenwärtigen Position vermöge der Anzeige, dass der Transparenzwert der nächsten Position kleiner ist als derjenige der gegenwärtigen Position, detektiert worden ist, DANN eine Position zwischen der gegenwärtigen und nächsten Position als die Stelle für die detektierte Iso-Oberfläche zugewiesen wird.
  • Eine andere fakultative Verbesserung, die auf Ausführungsformen angewandt wird, in denen Iso-Oberflächen detektiert werden, bezieht sich auf einen Visualisierungswert für die detektierte Iso-Oberfläche, wobei sie auf den zugeordneten Bildpunkt des Vektors angewandt wird (durch Auffinden einer Normalen (25) auf die Iso-Oberfläche (26) am Vektorschnittpunkt oder auf äquivalente Weise), wobei ein angrenzender Gradient zur Vektor-Iso-Oberfläche-Schnittpunktstelle oder von nahegelegenen Elementen des Schnittpunkts verwendet wird. Dies wird angewandt durch: Berechnen eines augenblicklichen Oberflächenbeleuchtungsbeitrags zum kumulativen Visualisierungswert, und Akkumulieren dieses Oberflächenbeleuchtungsvisualisierungswerts im Bildpunkt. Der Oberflächenbeleuchtungsbeitrag ist der Visualisierungswert an der Schnittpunktposition, multipliziert mit dem Cosinus des Winkels (27), der durch den Vektor und die Normale auf die Iso-Oberfläche an dieser Stelle (28) gebildet wird; und Multiplizieren von diesem mit der kumulativen Transparenz (akkumuliert in dem zugeordneten Bildpunkt) im Quadrat.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung wird ein interpolierter Voxelwert für eine Position entlang den Vektorfront-nahegelegenen Voxeln berechnet: unter Verwendung einer kubischen Interpolation für eine Position in der Nähe zum Ausgangspunkt oder unter Verwendung einer linearen Interpolation für eine Position weit vom Ausgangspunkt oder unter Verwendung einer abstandsabhängigen abgestuften Mischung von kubischer und linearer Interpolation für eine Position eines vorbestimmten Zwischenabstands vom Ausgangspunkt. Dies ist die bevorzugte Ausführungsform, da die Berechnungen einfach sind, die Ergebnisse glatt und visuell kontinuierlich sind und die Gewichtung von algorithmischen Mühen eine hohe Genauigkeit für nahe Positionen zum Auge ist, mit einer glatten Abnahme von Genauigkeit, wenn die Position entfernter vom Auge ist. Äquivalent, jegliche Interpolationsfunktion ist akzeptabel, die von einer Genauigkeit hoher Ordnung für nahe Positionen zu einer Genauigkeit niedriger Ordnung für eine entferntere Position glatt verläuft.
  • Es sollte ersichtlich sein, dass Transparenzwerte einheitsnormiert sind ("spezifische Transparenz"). Mit anderen Worten bezeichnen die Transparenzwerte an jeder Stelle die Transparenz entsprechend einer "Platte" einer Dickeneinheit. Normalerweise ist die Schrittgröße nicht von einer Längeneinheit. Deshalb wird, um die Transparenz für das Volumen, das durch diesen Schritt (Intervall) durchquert wird, zu berechnen, der einheitsnormierte Transparenzwert mit der tatsächlichen Schrittgröße potenziert. Akkumulieren eines Transparenzwerts in einem Bildpunkt erfolgt durch: Multiplizieren des Transparenzwerts des Bildpunkts mit dem Transparenzwert für das Intervall.
  • Gemäß der vorliegenden Erfindung umfasst die vorbestimmte Auswahlregel eines Akkumulierens in Schritt (c) eine Vorderseitenoberflächendetektion und eine Oberflächenbeleuchtung. Weiter wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ein Auswählen einer nächsten Position in der schrittabhängigen Reihe von Positionen mit einem Opazifizierungsprozess koordiniert.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung sind Klassen-Iso-Oberflächen opazifiziert, um eine höhere Detektionswahrscheinlichkeit zu ermöglichen. (Man wende sich 4 zu, die ein schematisches Diagramm eines in der Nähe einer opazifizierten Iso-Oberfläche geworfenen Strahls ist.) Diese Opazifizierung wird durch Strecken der Intervalle, die die Klassen definieren, ausgeführt, wobei die opakeren Klassen Vorrang einnehmen. Dies weist die Wirkung auf, dass die Iso-Oberflächen von ihrer tatsächlichen Stelle auswärts (um wenigeropake Gebiete einzuschließen) verschoben (aufgebläht) werden. Die Iso-Oberflächen (16) sind in expandierte Oberflächen-"Puffer", die durch die Iso-Oberfläche (17) begrenzt sind, opazifiziert worden. Auf dem geworfenen Strahl (6) erscheinen die Schritte (20), (21) und (22) bei gleichmäßigen Intervallen entlang dem Strahl. An der Position (22) wird wegen der Opazifizierung eine Opazitätszunahme detektiert. Deshalb wird die Schrittgröße zu (23) verringert, und es ist wahrscheinlicher, dass die tatsächliche Klassen-Iso-Oberfläche (16) detektiert wird. Wenn die Opazifizierung nicht ausgeführt würde, dann würde der Schritt nach (22) an der Position (23A) sein. Da sich die Position (23A) in einem Gebiet von Transparenz wie demjenigen der Position (21) befindet, würde die Iso-Oberfläche ohne die Opazifizierung nicht entdeckt worden sein.
  • Gemäß einer anderen Ausführungsform der vorliegenden Erfindung umfasst die vorbestimmte Auswahlregel eines Akkumulierens in Schritt (c) eine Volumenbeleuchtung (siehe 5).
  • Gemäß weiteren Ausführungsformen der vorliegenden Erfindung wird eine Ausführung des Verfahrens parallel bewerkstelligt. Gemäß einer Ausführungsform wird der Schritt (c) durch Verarbeiten für den "jeweiligen Ray-Casting-Vektor von noch weiteren als von einem von Ray-Casting-Vektoren, der das Verarbeiten von Schritt (c) erfordert, parallel ausgeführt. Dies kann zu einem Zuteilen eines Prozessors (zum Bewerkstelligen des Algorithmus von Schritt (c)) zu jedem geworfenen Strahl führen. Gemäß einer anderen Ausführungsform wird der Schritt (d) parallel ausgeführt; durch Verarbeiten für den jeweiligen Ray-Casting-Vektor von noch weiteren als von einem von Ray-Casting-Vektoren, der das Verarbeiten von Schritt (d) erfordert. Desgleichen kann dies zu einem Zuteilen eines Prozessors (zum Bewerkstelligen des Algorithmus von Schritt (d)) zu jedem geworfenen Strahl führen.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung wird in Schritt (d) ein "Auswählen" von Bildpunkten geordnet, um geschachtelte Niveaus von Auflösung an dem virtuellen Fenster fortschreitend zu erzeugen. Dieses Auswählen kann wie in 2 beschrieben sein oder in Viererbaumweise oder durch simulierten Zoom (oder Panoramieren) oder dergleichen erfolgen.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ist jeder Transparenzwert einem Visualisierungswert zur Darstellung auf einem Grafikanzeigegerät zugeordnet. Weiter erfolgt die Darstellung für zugeordnete Farbe oder Graustufen.
  • Im Allgemeinen ist die vorliegende Erfindung zur Anpassung an zahlreiche geometrische Vertauschungen zugänglich. Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ist ein mittleres Oberflächengebiet des virtuellen Fensters senkrecht zu einem Orientierungsvektor vom Ausgangspunkt platziert; und der Orientierungsvektor ist ein Mittelwert der Mehrzahl von Vektoren. Weiter ist das virtuelle Fenster plan. Alternativ ist das virtuelle Fenster gekrümmt oder krumm. Desgleichen sind die Bildpunkte vorzugsweise im virtuellen Fenster als ein gleichmäßig beabstandetes rechteckiges Gitter angeordnet. Jedoch sind alternativ die Bildpunkte im virtuellen Fenster unter Verwendung von kreisförmigen Koordinaten, elliptischen Koordinaten oder einer anderen Kegelprojektion von Koordinaten angeordnet.
  • Das Verfahren der vorliegenden Erfindung gemäß den bevorzugten und den grundsätzlichen Ausführungsformen ist auf Rendering des Voxelraums gerichtet, der Daten enthält, die von einem Computertomographie(CT)scan, Spinresonanzbild (MRI), einem Ultraschallscan, einem Kernspinresonanz(NMR)scan, einer geophysikalischen Vermessung, einer meteorologischen Vermessung, einer wissenschaftlichen Simulation, einer Animation von einem Modell mit mehr als zwei Dimensionen oder einer Menge von simultanen Gleichungen abgeleitet sind.
  • Demgemäß wird in der bevorzugten Ausführungsform der vorliegenden Erfindung das virtuelle Fenster; das berechnete, interpolierte oder akkumulierte Visualisierungswerte in den Bildpunkten desselben gespeichert aufweist; auf einem Anzeigegerät gerendert.
  • (Man wende sich nun 5 zu, die ein Flussdiagramm ist, das den grundsätzlichen logischen Prozess des vorliegenden Verfahrens zusammenfasst.) Die folgenden Anmerkungen sind zum weiteren Verstehen der detaillierten Ausführung der vorliegenden Erfindung hilfreich:
    • • "Durchgang" bezeichnet die Iterations-"Phase", wie von spärlich geworfenen Strahlen zu höherauflösendem Ray-Casting gemessen (oder eine Interpolation im virtuellen Fenster), um ein Auffüllen des virtuellen Fensters zu vervollständigen (wie in Schritt (d)) – (siehe auch 2).
    • • "Bildpunkt" bezeichnet einen oder mehrere Datenspeicher-"Werte", entsprechend einer Stelle oder einem Gebiet des virtuellen Fensters.
    • • "CT" bezeichnet eine kumulative Transparenz.
    • • "(R, G, B)" bezeichnet die rote, grüne und blaue Komponente des Visualisierungswerts.
    • • "T" bezeichnet einen Transparenzwert.
    • • "X+ = Y": bezeichnet X wird durch X + Y ersetzt.
    • • "X* = Y": bezeichnet X wird durch X*Y ersetzt.
  • Das Verfahren der vorliegenden Erfindung ist mit einem gewissen Grad an Besonderheit im Hinblick auf eine Anordnung von Schritten, Subschritten, Bedingungen, Äquivalenten und dergleichen beschrieben worden. Dieser Grad an Besonderheit soll den Bereich oder den Geist der vorliegenden Erfindung nicht beschränken und wird nur dargeboten, um an Fachleute solche Information zu über mitteln, wie sie notwendig ist, um die vorliegende Erfindung und bereitgestellte Ausführungsformen derselben richtig zu würdigen.
  • Die vorliegende Erfindung betrifft auch ein Computersystem, um ein perspektivisches Rendering von einem Voxelraum zu bilden. (Man wende sich nun 6 zu, die ein schematisches Diagramm eines Computersystems zum Bilden eines perspektivischen Rendering von einem Voxelraum ist.) Dieses System umfasst:
    • • ein erstes Speichermedium (61), in dem ein Voxelraum gespeichert oder dargestellt ist;
    • • einen Computerprozessor (62) mit einer Datenkommunikation mit dem ersten Speichermedium und mit einem zweiten Speichermedium, und wobei der Prozessor ein virtuelles Fenster von Visualisierungsbildpunkten von einem Ray-Casting in den Voxelraum bildet, wobei das Bilden gemäß dem Verfahren zum Bilden eines hochraumauflösenden perspektivischen Rendering von einem niedrigraumauflösenden Voxelraum erfolgt, im Wesentlichen wie vorstehend hierin definiert und veranschaulicht; und
    • • das zweite Speichermedium (63), in dem das virtuelle Fenster von Visualisierungsbildpunkten gespeichert oder dargestellt ist.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung betrifft auch ein Erzeugen einer Indexabbildung der Homogenität des Voxelraums und ein Konsultieren dieser Indexabbildung, um zu entscheiden, ob eine Interpolationsberechnung erforderlich ist – als Teil des Prozesses zum Interpolieren von Werten von nahegelegenen Voxeln (Schritt "c" ERSTENS). Z.B. wird, um den Prozess von Ray-Casting (ohne Nachteil an Bildqualität) weiter zu beschleunigen, ein zusätzlicher Datentyp verwendet, der als ein BIT-VOLUMEN bezeichnet wird. In diesem Datentyp gibt es ein einziges Bit, das jedem Voxel entspricht. Es gibt zwei Variationen, bei denen ein Bit-Volumen verwendet werden kann, um ein Ray-Casting zu ermöglichen:
    1te Variation – Pro Klassendefinition wird das Bit-Volumen (einmal) hergerichtet, so dass ein Wert von 1 zu einem Bit die Tatsache anzeigt, dass der eine 4x4x4-Kubus von Voxeln (der mit dem Voxel entsprechend diesem Bit beginnt und sich zu den positiven Seiten der x-, y- und z-Achse erstreckt) zu einer einzigen Klasse gehört.
  • Während eines Ray-Casting, wenn eine neue Position entlang dem Strahl erreicht wird, werden die Koordinaten des 4x4x4-Kubus von Voxeln, die für die kubische Interpolation dieser Position benötigt werden, berechnet. Dann wird der Wert des Bit im Bit-Volumen, das diesem Kubus entspricht (mit x bezeichnet), abgefragt.
    • a wenn x = 0, dann schreitet die Interpolation (kubisch oder linear, abhängig vom Abstand vom Auge, wie oben ausführlich behandelt) wie gewöhnlich fort.
    • b Sonst (wenn x = 1), dann i. Wenn die vorherige Position (deren interpolierter Wert gesucht wurde) auch x = 1 aufwies, dann wird der vorherig gefundene interpolierte Wert auch als der augenblickliche interpolierte Wert genommen. ii. Sonst (wenn die vorherige Position x = 0 aufwies) wird der Wert der Interpolation als ein EINZIGES Voxel im 4x4x4-Kubus von Voxeln genommen.
  • Man beachte, dass der interpolierte Wert falsch ist. Um zu sehen, warum diese Prozedur richtig arbeitet, beachte man, dass es, damit der Algorithmus richtig arbeitet (wenn ein Visualisierungswert pro Klasse konstant ist), für den verwendeten interpolierten Wert ausreichend ist, um zur korrekten KLASSE zu gehören. Sein genauer Wert ist belanglos.
  • Eine hinreichende Bedingung, die leicht erfüllt wird, für die diese korrekte-Klasse-Eigenschaft in der oben beschriebenen Prozedur erfüllt ist, ist, dass der interpolierte Wert immer zwischen dem kleinsten und größten Wert liegt, die als Eingabe für die Interpolation verwendet werden. Da eine Klasse durch ein Intervall definiert ist und wenn sämtliche Eingaben zur Interpolation zu dem Intervall gehören, dann muss ein interpolierter Wert, der zwischen der kleinsten und größten Eingabe liegt, auch zu dem Intervall gehören und folglich zur selben Klasse gehören.
  • 2te Variation – ähnelt im Konzept der 1en Variation – Pro Klassendefinition wird das Bit-Volumen initialisiert, so dass alle Bits 0 sind. Auf eine ähnliche Weise zur ersten Variation zeigt ein Wert von 1 zu einem Bit an, dass bekannt ist, dass der 4x4x4-Kubus von Voxeln, der diesem Bit entspricht, zu einer einzigen Klasse gehört. Ein Wert von 0 zeigt an, dass die Klassensituation im 4x4x4-Kubus unbekannt ist, oder dass sie nicht zu einer einzigen Klasse gehören. Da am Anfang nichts bekannt ist, wird das Bit-Volumen zu einer Konstanten 0 initialisiert.
  • Während eines Ray-Casting werden, wenn eine neue Position entlang dem Strahl erreicht wird, die Koordinaten des 4x4x4-Kubus von Voxeln, die für die kubische Interpolation dieser Position benötigt werden, berechnet. Dann wird der Wert des Bit im Bit-Volumen, das diesem Kubus entspricht (mit x bezeichnet), abgefragt.
    • a. Wenn x = 0, dann schreitet die Interpolation (kubisch oder linear, abhängig vom Abstand vom Auge, wie oben ausführlich behandelt) wie gewöhnlich fort. Wenn eine kubische Interpolation ausgeführt wird, dann wird der geeignete 4x4x4-Kubus von Voxeln, der für die Interpolation verwendet wird, kontrolliert, und wenn man findet, dass er zu einer einzigen Klasse gehört, wird das entsprechende Bit im Bit-Volumen auf 1 gesetzt. Man beachte, dass, da diese Voxels in der Interpolation sowieso verwendet werden, diese Kontrolle keinen großen Overhead mit sich bringt.
    • b. Wenn x = 1, dann schreitet der Algorithmus genau wie in Weise 1 fort.

Claims (49)

  1. Verfahren zum Bilden eines hochraumauflösenden perspektivischen Rendering von einer niedrigraumauflösenden Voxeldatenmenge, umfassend: (a) Ray-Casting mindestens eines Strahls von einer vorbestimmten Stelle in dem Voxelraum, indem entlang den Strahlen in einem durch die Voxeldatenmenge definierten Raum Punkte probegenommen werden; (b) Akkumulieren des Effekts von Opazität entlang dem Strahlenweg unter Verwendung von Opazitätswerten an den Probenentnahmepunkten in einem Strahlenspeicherwert; (c) Wiederholen von mindestens (a), (b) für eine Mehrzahl von geworfenen Strahlen; und (d) Bilden eines hochraumauflösenden perspektivischen Rendering von dem Bestimmen von Strahlenspeicherwerten; bei dem das Akkumulieren weiter umfasst: (I) Zuordnen von Punkten entlang einem geworfenen Strahl zu Materialklassen, wobei jede Materialklasse einer Mehrzahl von möglichen Materialklassen einer Menge von Opazitätswerten zugeordnet wird; (II) Bestimmen, wenn ein Strahl von einem Punkt in einer ersten Materialklasse zu einem Punkt in einer zweiten Materialklasse übergeht, wobei die Opazitätswerte der Punkte verwendet werden; (III) Zuordnen von respektiven Visualisierungswerten zu Grenzen zwischen zwei unterschiedlichen Materialklassen; (IV) wenn bestimmt ist, dass ein Strahl zwischen Materialklassen übergeht: Akkumulieren eines Visualisierungswerts, der der Grenze zwischen den zwei Materialklassen zugeordnet ist, in dem Strahlenspeicherwert.
  2. Verfahren nach Anspruch 1, umfassend: Bestimmen der Stelle der Grenze in (IV) während des Ray-Casting.
  3. Verfahren nach Anspruch 2, bei dem die Grenze so festgesetzt wird, dass sie an einer Position zwischen den zwei Punkten von unterschiedlichen Klassen ist.
  4. Verfahren nach Anspruch 2, bei dem die Grenze bestimmt wird, indem mindestens ein Ergänzungsprobenentnahmepunkt zwischen den zwei Punkten von unterschiedlichen Klassen untersucht wird.
  5. Verfahren nach Anspruch 4, umfassend: Wiederholen eines Untersuchens von Probenentnahmepunkten zwischen Punkten von unterschiedlichen Klassen bis eine gewünschte Grenzbestimmungsgenauigkeit erzielt ist.
  6. Verfahren nach einem der Ansprüche 1–5, umfassend: Berechnen des der Grenze zugeordneten Visualisierungswerts während des Ray-Casting.
  7. Verfahren nach Anspruch 6, bei dem ein Bestimmen eines Visualisierungswerts umfasst: Bestimmen einer Senkrechten zu der Grenze an dem Punkt.
  8. Verfahren nach einem der Ansprüche 1–6, umfassend: Bereitstellen eines Indexarray, das für mindestens einige von den Voxels anzeigt, wenn eine Klassengrenze nicht in der Nähe des Voxels vorbeiläuft.
  9. Verfahren nach Anspruch 8, umfassend: Vermeiden des Bestimmens in (II), wenn ein probegenommener Punkt eine negative Anzeige in dem Indexarray aufweist.
  10. Verfahren nach Anspruch 8, umfassend: Wiederverwenden eines Opazitätswerts von einem zuvor probegenommenen Punkt, wenn ein probegenommener Punkt eine negative Anzeige in dem Indexarray aufweist.
  11. Verfahren nach Anspruch 8, bei dem das Indexarray durch Festsetzen eines Werts erzeugt wird, der ein Fehlen einer Grenze für alle Voxels anzeigt, die durch Voxels in einer selben Klasse umgeben werden.
  12. Verfahren nach einem der Ansprüche 1–11, bei dem der zugeordnete Visualisierungswert eine Oberflächenbeleuchtungsberechnung der Grenze umfasst.
  13. Verfahren nach einem der Ansprüche 1–12, umfassend: Stoppen des Ray-Casting, wenn die akkumulierte Opazität über einem Schwellenwert liegt.
  14. Verfahren nach einem der Ansprüche 1–13, bei dem die Probenentnahmepunkte um eine Schrittgröße separiert werden und bei dem die Schrittgröße von dem Opazitätswert an den Probenentnahmepunkten abhängt.
  15. Verfahren nach Anspruch 14, bei dem die Schrittgröße immer kleiner als ein Voxelquerschnitt entlang dem Weg des geworfenen Strahls ist.
  16. Verfahren nach Anspruch 14, bei dem die Schrittgröße von einer Opazität an einem im Augenblick probegenommenen Punkt abhängt.
  17. Verfahren nach Anspruch 14, bei dem die Schrittgröße von den Opazitäten von Nachbarvoxeln zu dem im Augenblick probegenommenen Punkt abhängt.
  18. Verfahren nach einem der Ansprüche 1–17, umfassend: Bereitstellen einer Definition von Voxelwertintervallen für jede Klasse vor dem Ray-Casting.
  19. Verfahren nach einem der Ansprüche 1–18, umfassend: Interpolieren zwischen Voxels in der Nähe des Punkts; und Transformieren des interpolierten Voxelwerts in einen Opazitätswert für den Punkt.
  20. Verfahren nach Anspruch 19, bei dem die Interpolation von einem Abstand zwischen dem probegenommenen Punkt und dem Ausgangspunkt abhängt.
  21. Verfahren nach Anspruch 20, bei dem die Interpolation zwischen einer kubischen Interpolation für in der Nähe gelegene Punkte und einer linearen Interpolation für entfernt gelegene Punkte variiert.
  22. Verfahren nach einem der Ansprüche 1–21, bei dem die vorbestimmte Stelle im Voxelraum liegt.
  23. Verfahren nach einem der Ansprüche 1–22, bei dem die Voxeldatenmenge eine medizinische Abbildungsdatenmenge umfasst.
  24. Verfahren nach einem der Ansprüche 1–23, bei dem (c) umfasst: sparsames Werfen von Strahlen; und Bestimmen, wenn mindestens ein zusätzlicher Strahl zwischen geworfenen Strahlen zu werfen ist.
  25. Verfahren nach Anspruch 24, bei dem ein Bestimmen, wenn der mindestens eine zusätzliche Strahl zu werfen ist, umfasst: Bestimmen, wenn die Nachbarstrahlen zu dem zusätzlichen Strahl statistisch homogene Strahlenspeicherwerte aufweisen.
  26. Verfahren nach Anspruch 25, bei dem eine statistische Homogenität in Bezug zu den Strahlenspeicherwerten bestimmt wird.
  27. Verfahren nach Anspruch 25 oder Anspruch 26, bei dem eine statistische Homogenität in Bezug zu dem Strahl zugeordneten Tiefenfaktoren bestimmt wird.
  28. Verfahren nach einem der Ansprüche 1–27, bei dem (d) umfasst: Interpolieren zwischen gespeicherten Werten von geworfenen Strahlen.
  29. Verfahren nach einem der Ansprüche 1–27, bei dem (c) umfasst: fortschreitendes Erhöhen der Dichte von Ray-Casting.
  30. Verfahren nach Anspruch 29, bei dem die fortschreitend geworfenen Strahlen parallel geworfen werden.
  31. Verfahren nach Anspruch 29, bei dem zusätzliche geworfene Strahlen geworfen werden, um fortschreitend geschachtelte Auflösungsgrade in dem gebildeten Bild zu erzeugen.
  32. Verfahren nach einem der Ansprüche 1–31, umfassend: Rendering des gebildeten perspektivischen Rendering auf einer Anzeige.
  33. Verfahren nach einem der Ansprüche 1–32, umfassend: Definieren eines Fensters in dem oder in der Nähe des Voxelraums, durch das die Strahlen zu werfen sind.
  34. Verfahren nach Anspruch 33, bei dem das Fenster senkrecht zu einem vorgesehenen Orientierungsvektor ist.
  35. Verfahren nach Anspruch 33 oder Anspruch 34, bei dem das Fenster eben und rechteckig ist.
  36. Verfahren nach Anspruch 33 oder Anspruch 34, bei dem das Fenster gekrümmt ist.
  37. Verfahren nach Anspruch 33–36, bei dem das Fenster durch Bildpunkte in einem gleichförmig beabstandeten rechteckigen Gitter definiert ist.
  38. Verfahren nach Anspruch 33–36, bei dem das Fenster unter Verwendung von Koordinaten, die eines von kreisförmigen Koordinaten, elliptischen Koordinaten und einer anderen Kegelprojektion von Koordinaten sind, durch Bildpunkte definiert wird.
  39. Verfahren nach einem der Ansprüche 1–38, bei dem die Akkumulation von Opazität umfasst: Aktualisieren eines Speicherwerts CT wie folgt: CT = CT·T^step_size, wobei T ein Transparenzwert ist, der dem Opazitätswert entspricht.
  40. Verfahren nach einem der Ansprüche 1–39, bei dem die Strahlen parallel geworfen werden.
  41. Verfahren nach einem der Ansprüche 1–40, bei dem die Voxeldatenmenge durch eines von CT (Computertomographie), MRI (Spinresonanzabbilden), Ultraschall, einer geophysikalischen Vermessung, einer meteorologischen Erhebung, einer wissenschaftlichen Simulation, einem Animationsmodell mit mehr als zwei Dimensionen und einem Satz von simultanen Gleichungen erzeugt wird.
  42. Verfahren nach einem der Ansprüche 1–41, bei dem jedem Voxel ein visueller Repräsentationswert zugeordnet ist und umfassend: Bestimmen eines einem probegenommenen Punkt von den Voxel-zugeordneten visuellen Repräsentationswerten zugeordneten Visualisierungswerts; und Akkumulieren des Punkt-zugeordneten Visualisierungswerts in dem gespeicherten Wert.
  43. Verfahren nach Anspruch 42, bei dem der visuelle Repräsentationswert ein Graustufenwert ist.
  44. Verfahren nach Anspruch 42, bei dem der visuelle Repräsentationswert ein Farbwert ist.
  45. Verfahren nach einem der Ansprüche 42–44, bei dem ein Akkumulieren der Punkt-zugeordneten Visualisierungswerte umfasst: selektives Akkumulierten von Werten auf Grundlage einer Vorderseitenoberflächendetektion.
  46. Verfahren nach einem der Ansprüche 42–45, bei dem der Punkt-zugeordnete Visualisierungswert einen Volumenbeleuchtungswert umfasst.
  47. Verfahren nach einem der Ansprüche 42–46, bei dem der Punkt-zugeordnete Visualisierungswert einen Oberflächenbeleuchtungswert umfasst.
  48. Verfahren nach einem der Ansprüche 1–47, bei dem ein Fortschreiten entlang einem Strahl mit einem Opazifizierungsprozess koordiniert wird.
  49. Vorrichtung zum Bilden eines perspektivischen Rendering von einem Voxelraum, umfassend: (a) einen Speicher zum Speichern einer Voxeldatenmenge; (b) einen Computerprozessor zum Anwenden des Verfahrens von einem der Ansprüche 1–48 auf die gespeicherte Datenmenge, um das perspektivische Rendering zu bilden; und (c) einen zweiten Speicher zum Speichern des gebildeten perspektivischen Rendering.
DE69921696T 1998-11-27 1999-11-26 Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum Expired - Lifetime DE69921696T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IL12731498A IL127314A0 (en) 1998-11-27 1998-11-27 A method for forming a perspective rendering from a voxel space
IL12731498 1998-11-27
PCT/IL1999/000639 WO2000033257A1 (en) 1998-11-27 1999-11-26 A method for forming a perspective rendering from a voxel space

Publications (2)

Publication Number Publication Date
DE69921696D1 DE69921696D1 (de) 2004-12-09
DE69921696T2 true DE69921696T2 (de) 2005-10-27

Family

ID=11072195

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69921696T Expired - Lifetime DE69921696T2 (de) 1998-11-27 1999-11-26 Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum

Country Status (9)

Country Link
US (1) US6999078B1 (de)
EP (1) EP1183653B1 (de)
JP (1) JP2002531905A (de)
AT (1) ATE281676T1 (de)
AU (1) AU763382B2 (de)
CA (1) CA2352580A1 (de)
DE (1) DE69921696T2 (de)
IL (1) IL127314A0 (de)
WO (1) WO2000033257A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209629A1 (de) * 2000-11-28 2002-05-29 TeraRecon, Inc., A Delaware Corporation Strahl-Frühendpunkt für ein paralleles Pipeline-Volumendarstellungssystem
JP4245353B2 (ja) * 2001-05-23 2009-03-25 バイタル イメージズ,インコーポレイティド オブジェクトオーダーボリュームレンダリングのオクルージョンカリング
US7262770B2 (en) 2002-03-21 2007-08-28 Microsoft Corporation Graphics image rendering with radiance self-transfer for low-frequency lighting environments
DE602004016993D1 (de) 2003-06-05 2008-11-20 Philips Intellectual Property Adaptive bildinterpolation für volumendarstellung
US7339586B2 (en) * 2004-04-23 2008-03-04 Siemens Medical Solutions Usa, Inc. Method and system for mesh-to-image registration using raycasting
CN101010701A (zh) * 2004-08-31 2007-08-01 皇家飞利浦电子股份有限公司 使用明暗处理的直接体绘制
US7755625B2 (en) * 2005-05-04 2010-07-13 Medison Co., Ltd. Apparatus and method for rendering volume data
US7692651B2 (en) * 2005-09-22 2010-04-06 Siemens Medical Solutions Usa, Inc. Method and apparatus for providing efficient space leaping using a neighbor guided emptiness map in octree traversal for a fast ray casting algorithm
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
KR101653203B1 (ko) * 2010-02-01 2016-09-02 삼성전자주식회사 영상 처리 장치 및 방법
US8379955B2 (en) 2010-11-27 2013-02-19 Intrinsic Medical Imaging, LLC Visualizing a 3D volume dataset of an image at any position or orientation from within or outside
KR102111626B1 (ko) 2013-09-10 2020-05-15 삼성전자주식회사 영상 처리 장치 및 영상 처리 방법
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
GB2528655B (en) 2014-07-24 2020-10-07 Advanced Risc Mach Ltd Graphics Processing Systems
WO2016135498A1 (en) 2015-02-27 2016-09-01 Arm Limited Graphics processing systems
US9754413B1 (en) 2015-03-26 2017-09-05 Google Inc. Method and system for navigating in panoramic images using voxel maps
US9852537B2 (en) * 2015-05-01 2017-12-26 Otoy Inc. Rendering via ray-depth field intersection
US9754405B1 (en) 2015-08-10 2017-09-05 Ngrain (Canada) Corporation System, method and computer-readable medium for organizing and rendering 3D voxel models in a tree structure
GB2541928B (en) * 2015-09-04 2018-01-31 Advanced Risc Mach Ltd Graphics processing systems
GB2543766B (en) 2015-10-26 2018-02-14 Advanced Risc Mach Ltd Graphics processing systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2190570B (en) 1986-04-14 1991-01-23 Pixar Method and apparatus for imaging volume data
US5091960A (en) * 1988-09-26 1992-02-25 Visual Information Technologies, Inc. High-speed image rendering method using look-ahead images
US5138699A (en) * 1990-02-13 1992-08-11 International Business Machines Corporation Hardware utilization of color interpolation capability in a color imaging system
FR2662524A1 (fr) * 1990-05-25 1991-11-29 Dillenseger Jean Louis Procede de visualisation tridimensionnelle par lancer de rayons avec interpolation locale.
US5201035A (en) 1990-07-09 1993-04-06 The United States Of America As Represented By The Secretary Of The Air Force Dynamic algorithm selection for volume rendering, isocontour and body extraction within a multiple-instruction, multiple-data multiprocessor
US5557711A (en) 1990-10-17 1996-09-17 Hewlett-Packard Company Apparatus and method for volume rendering
US5555352A (en) 1991-04-23 1996-09-10 International Business Machines Corporation Object-based irregular-grid volume rendering
WO1993002713A1 (en) * 1991-08-05 1993-02-18 Mallinckrodt Medical, Inc. Heavy metal clusters for use as imaging agents
JPH06223198A (ja) 1993-01-26 1994-08-12 Hitachi Ltd 光線追跡による画像生成装置及び方法
JPH06290276A (ja) * 1993-02-15 1994-10-18 Philips Electron Nv 3次元場面の映像化用配置及び方法
JP2627607B2 (ja) 1993-06-16 1997-07-09 日本アイ・ビー・エム株式会社 ボリュームレンダリング方法
US5694530A (en) 1994-01-18 1997-12-02 Hitachi Medical Corporation Method of constructing three-dimensional image according to central projection method and apparatus for same
NO943696D0 (no) * 1994-10-04 1994-10-04 Vingmed Sound As Fremgangsmåte ved ultralydavbildning
US5986662A (en) * 1996-10-16 1999-11-16 Vital Images, Inc. Advanced diagnostic viewer employing automated protocol selection for volume-rendered imaging
EP0992023A4 (de) * 1997-04-15 2001-04-18 Res Foundation Of Gerät und verfahren zur parallelen und perspektivischen echtzeit-volumen-visualisierung
US6313841B1 (en) * 1998-04-13 2001-11-06 Terarecon, Inc. Parallel volume rendering system with a resampling module for parallel and perspective projections
US6297799B1 (en) * 1998-11-12 2001-10-02 James Knittel Three-dimensional cursor for a real-time volume rendering system

Also Published As

Publication number Publication date
EP1183653B1 (de) 2004-11-03
US6999078B1 (en) 2006-02-14
IL127314A0 (en) 1999-09-22
DE69921696D1 (de) 2004-12-09
CA2352580A1 (en) 2000-06-08
JP2002531905A (ja) 2002-09-24
WO2000033257A1 (en) 2000-06-08
EP1183653A1 (de) 2002-03-06
AU763382B2 (en) 2003-07-24
ATE281676T1 (de) 2004-11-15
AU1406500A (en) 2000-06-19

Similar Documents

Publication Publication Date Title
DE69921696T2 (de) Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum
DE102005035012B4 (de) Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen
DE60008520T2 (de) Darstellung von durchsichtigen schichten
DE69919497T2 (de) Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern
DE69916646T3 (de) Schattierung von 3-dimensionalen rechnererzeugten Bildern
DE69908966T3 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE60026197T2 (de) Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung
DE69819557T2 (de) Volumendarstellungsleuchten mit punktkodemethodologie
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69907415T2 (de) Bestimmung sichtbarer objekte für interaktive visualisation
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE60033250T2 (de) System und Verfahren zur Darstellung mit Strahlverfolgung
DE102018129600A1 (de) Verfahren und System zur virtuellen Anprobe einer Brille
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE112005002076T5 (de) Unterteilung von Geometriebildern in Grafikhardware
DE3022454A1 (de) Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke
DE102005023964A1 (de) Volumenvisualisierung mittels Texturverschiebung
DE69916808T2 (de) Verfahren und system zur strahlverfolgung
DE102019118838A1 (de) Virtuelle photogrammetrie
DE102009042328A1 (de) Effiziente Bestimmung von Lichteffekten beim Volume Rendering
DE602004003111T2 (de) Tiefen-basiertes Antialiasing
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE102008050049B4 (de) Verfahren zur Bestimmung einer die Objektgrenze eines Objekts in einem digitalen 3D-Datensatz annähernden 3D-Oberfläche
EP2528042B1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition