-
Die
vorliegende Erfindung betrifft ein Abbildungsverfahren für einen
Volumendatensatz mit einer Vielzahl von Volumendatenelementen in
ein zweidimensionales Bild mit einer Vielzahl von Bildelementen,
- – wobei
jedem Volumendatenelement eine Position im Raum und ein Volumendatenwert
zugeordnet sind,
- – wobei
jedem Bildelement ein Bilddatenwert zugeordnet ist,
- – wobei
der Bilddatenwert eines Bildelements von den Volumendatenwerten
derjenigen Volumendatenelemente abhängt, die auf einem bildelementspezifisch
im Raum festgelegten Abbildungsstrahl mit einer Strahlrichtung liegen,
- – wobei
in Strahlrichtung unmittelbar benachbarte Volumendatenelemente um
einen Erstabstand, in einer Erstrichtung unmittelbar benachbarte
Volumendatenelemente um einen Zweitabstand und in einer Zweitrichtung
unmittelbar benachbarte Volumendatenelemente um einen Drittabstand
voneinander beabstandet sind,
- – wobei
die Erstrichtung und die Zweitrichtung miteinander und mit der Strahlrichtung
je einen Winkel bilden.
-
Derartige
Abbildungsverfahren sind allgemein bekannt. Sie werden insbesondere
zur Darstellung medizinischer Bilder, z. B. in der Röntgenangiographie
oder der Computertomographie eingesetzt. Sie werden dort allgemein
als sogenanntes Ray-Casting
bezeichnet.
-
So
ist beispielsweise aus dem Zeitschriftenartikel „Interactive Display and Analysis
of 3-D Medical Images" von
R. A. Robb et al, IEEE Transactions on Medical Imaging, Vol. 8,
No. 3, Sept. 1989, Seiten 217 bis 226, ist ein derartiges Abbildungsverfahren für einen
Volumendatensatz bekannt, bei dem Volumendatenwerte bestimmte Datenbedingungen
erfüllen
und zur Ermittlung der Bilddatenwerte die ausgewählten Volumendatenelemente
und ihre unmittelbar benachbarten Volumendatenelemente herangezogen
werden.
-
In
der
EP 0 612 025 A2 ist
ein Optimierungsverfahren zur Maximum-Intensitätsprojektion einer 3D-Szene
auf ein zweidimensionales Display beschrieben, bei dem eine Interpolation
nur dann erfolgt, wenn ein geschätzter
Maximalwert eines Bildpunktes den geschätzten Minimalwert des Strahles übersteigt.
-
Aus
der
EP 0 915 434 A2 ist
ein System zur Darstellung von Oberflächen aufgrund volumetrischer
Entfernungsdaten bekannt, bei dem Mittel zur Bestimmung der Richtung
der Größe der Flächennormalen
in Abhängigkeit
von den Entfernungen vorgesehen sind.
-
Diese
sogenannten Ray-Casting-Verfahren orientieren sich an der realen
Welt. Von einem Blickpunkt aus werden "Sehstrahlen" durch das Volumen gelegt, die Volumendatenelemente
entlang der Sehstrahlen in Abtastpunkten interpoliert und so die
Bilddatenwerte der Bildelemente berechnet. Den Abstand der Strahlen
voneinander wählt
man derart, daß die
Strahlen durch die einzelnen Bildelemente treffen. Mit Hilfe von
Transformations matrizen kann das Volumen beliebig gedreht, verschoben
und skaliert werden. So kann man das Volumen von allen Seiten betrachten
und das in die Bildebene projizierte Bild auch beliebig skalieren.
Mit Hilfe einer Transferfunktion kann man den Datenwerten der Volumendatenelemente
definierte Transparenzen zuordnen, z. B. bei einer Röntgenaufnahme
Weichteile völlig transparent
zu machen, das Skelett hingegen klar und deutlich darzustellen.
-
Beim
Ray Casting muß auf
alle Volumendatenelemente des Volumendatensatzes zugegriffen werden
können.
Ferner ist das Verfahren sehr rechenintensiv. Beim sogenannten Gradient
Shading, also der Nachbildung einer künstlichen Lichtquelle, muß beispielsweise
bei jedem interessierenden Volumenelement auf acht benachbarte Volumendatenelemente
zugegriffen werden. Ein Volumendatensatz besteht beispielsweise
aus 2563 Volumendatenelementen. Die Vielzahl
der Volumendatenelemente in Verbindung mit dem erheblichen Rechenumfang führt in der
Praxis dazu, daß für die Berechnung
eines Bildes mindestens mehrere Sekunden, im Extremfall auch mehrere
Minuten, benötigt
werden. In der medizinischen Anwendung hingegen werden interaktive
Bildwiederholraten benötigt,
also mehrere Bilder pro Sekunde.
-
Beim
Ray Casting gibt es verschieden Möglichkeiten zur Optimierung
des Rechenaufwands. Beispielhaft seien die sogenannte Early Ray
Termination und Space Leaping genannt. Mit diesen Verfahren lassen
sich auf einem modernen PC nahezu interaktive Bildwiederholraten
erreichen.
-
Bei
der Volumenvisualisierung von medizinischen Datensätzen stellen
die interessierenden Bereiche aus dem Volumendatensatz meist nur
einen geringen Prozentsatz des gesamten Volumens dar. Beim Space
Leaping wird deshalb ein zweiter Volumendatensatz berechnet. In
diesem sind nicht die Werte der Volumendatenelemente selbst, sondern die
Abstände
zum nächsten
relevanten Volumendatenelement im dreidimensionalen Raum abgespeichert.
Wenn nun von einem Volumendatenelement aus das nächstgelegene relevante Volumendatenelement
gesucht wird, wird zunächst
der Abstandswert aus dem zweiten Volumendatensatz gelesen und dieser
Abstand entlang des Sehstrahls übersprungen.
In der Praxis wird mit diesem Verfahren eine Beschleunigung um einen
Faktor von ca. 10 in der Rechenzeit erreicht.
-
Solange
die Transferfunktion unverändert bleibt,
ist dadurch das Volumen interaktiv auf dem Bildschirm darstellbar.
Bei einer Änderung
der Transferfunktion, also einer Änderung der relevanten Volumendatenelemente,
muß jedoch
der gesamte zweite Volumendatensatz mit den Abstandswerten neu berechnet
werden. Dies dauert in der Praxis mindestens einige Sekunden. Eine
interaktive Einstellung der Transferfunktion ist daher beim Space
Leaping Verfahren nicht möglich.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein Abbildungsverfahren
für einen
Volumendatensatz zu schaffen, das auch bei einer Änderung
der Transferfunktion interaktive Bildwiederholraten ermöglicht.
-
Die
Aufgabe wird dadurch gelöst,
- – daß die Volumendatenelemente
in mindestens einer der Richtungen mit einem Rastermaß abgetastet
werden, das größer als
der Abstand unmittelbar benachbarter Volumendatenelemente in der
jeweiligen Richtung ist,
- – daß diejenigen
der abgetasteten Volumendatenelemente ausgewählt werden, deren Volumendatenwerte
eine Datenbedingung erfüllen,
und
- – daß zur Ermittlung
der Bilddatenwerte der Bildelemente nur diejenigen der Volumendatenelemente
herangezogen werden, die von den ausgewählten Volumendatenelementen
maximal um das Rastermaß beabstandet
sind.
-
Vorzugsweise
erfolgt dabei das Ermitteln der Bilddatenwerte der Bildelemente
erst nach dem vollständigen
Abtasten und Auswählen
der Volumendatenelemente. Es wird also sozusagen das Volumen zunächst nur
grob abgetastet und die dabei aufgefundenen „Treffer" markiert. Um diese „Treffer" herum wird dann in einem zweiten Durchgang
nochmals genau abgetastet.
-
Je
nach Rastermaß können, insbesondere wenn
die Volumendatenelemente in allen drei Richtungen mit einem Rastermaß abgetastet
werden, das größer als
der Abstand unmittelbar benachbarter Volumendatenelemente in der
jeweiligen Richtung ist, erhebliche Verbesserungen der benötigten Rechenzeit
erzielt werden. Theoretisch besteht zwar die Gefahr, daß mit dem
erfindungsgemäßen Verfahren
feine Strukturen übersehen
werden, in der Praxis ist dieser Effekt jedoch vernachlässigbar,
wenn das Rastermaß nicht
zu groß ist.
-
Wenn
das Rastermaß interaktiv
einstellbar ist, kann die erforderliche Abtastgenauigkeit für den ersten
Durchlauf vom Anwender vorgegeben werden. Insbesondere kann das
Rastermaß derart
vorgegeben werden, daß beim
ersten Durchlauf mit Sicherheit alle relevanten Volumendatenelemente
aufgefunden werden.
-
Alternativ
kann das Rastermaß fest
vorgegeben sein. Insbesondere in diesem Fall ist das Rastermaß – unabhängig von
der Richtung – vorzugsweise gleich
dem zwei- bis zehnfachen des Abstands unmittelbar benachbarter Volumendatenelemente.
-
Unmittelbar
benachbarte Abbildungsstrahlen gehen in der Regel durch unmittelbar
benachbarte Bildelemente. Die Abbildungsstrahlen können dabei wahlweise
parallel zueinander verlaufen (parallele Projektion) oder von einem
gemeinsamen Blickpunkt ausgehen (perspektivische Projektion).
-
Wenn
der Blickpunkt und/oder die Datenbedingung interaktiv einstellbar
sind, ist das Abbildungsverfahren besonders flexibel anwendbar.
-
Weitere
Vorteile und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung
eines Ausführungsbeispiels.
Dabei zeigen in Prinzipdarstellung
-
1 ein Rechnersystem,
-
2 eine perspektivische Darstellung
eines Volumendatensatzes und einer Projektion,
-
3 eine Alternative zu 2,
-
4 ein Ablaufdiagramm
-
5 ebenfalls ein Ablaufdiagramm.
-
Gemäß 1 weist ein Rechnersystem
einen Datenspeicher 1 und einen Arbeitsspeicher 2 auf,
die mit einer Recheneinheit 3 verbunden sind. Mit der Recheneinheit 3 sind
ferner eine Anzeigeeinheit 4, ein Massenspeicher 5 sowie
Eingabeeinrichtungen 6, 7 verbunden.
-
Im
Datenspeicher 1 ist ein Volumendatensatz abgespeichert.
Dieser weist eine Vielzahl von Volumendatenelementen 8 auf.
Die Volumendatenelemente 8 werden nachfolgend kurz auch
als Voxel 8 bezeichnet. Jedem Voxel 8 sind drei
Koordinaten x, y, z eines – z.
B. kartesischen – Koordinatensystems und
ein volumendatenwert d zugeordnet. Durch die Koordinaten x, y und
z ist jedem Voxel 8 eine Position (x, y, z) im Raum zugeordnet.
Der besseren Anschaulichkeit halber sind einige der Voxel 8 auch
in den 2 und 3 dargestellt.
-
Im
Arbeitsspeicher 2 sind ein Betriebssystem für die Recheneinheit 3,
Anwendungsprogramme für Recheneinheit 3 und
weitere Daten gespeichert, z. B. auch Steuerdaten für die Anzeigeeinheit 4.
-
Die
Anzeigeeinheit 4 ist in der Regel ein Monitor. Über die
Anzeigeeinheit 4 ist ein zweidimensionales Bild darstellbar.
Der Massenspeicher 5 ist üblicherweise als Festplatte 5 ausgebildet.
Die Eingabeeinrichtungen 6, 7 umfassen in der
Regel eine Tastatur 6 und eine Maussteuerung 7. Über die
Eingabe einrichtungen 6, 7 interaktiv eingegebene
Steuerbefehle werden von der Recheneinheit 3 abgefragt
und entsprechend dem momentan laufenden Anwendungsprogramm abgearbeitet.
-
Das
Anwendungsprogramm ist ein Computerprogrammprodukt, das dem Durchführen des
Abbildungsverfahrens dient. Das Rechnersystem wird durch das Computerprogrammprodukt
entsprechend programmiert. Der Volumendatensatz wird also durch
das Computerprogrammprodukt und somit durch das Rechnersystem in
das zweidimensionale Bild abgebildet.
-
Mittels
des Anwendungsprogramms ist der Volumendatensatz also als zweidimensionales
Bild auf der Anzeigeeinheit 4 darstellbar. Das Bild weist eine
Vielzahl von Bildelementen 13 auf, nachfolgend auch als
Pixel 13 bezeichnet. Jedem Pixel 13 ist ein Bilddatenwert
zugeordnet. Die Bilddatenwerte werden von der Recheneinheit 3 aus
den Voxeln 8 des Volumendatensatzes ermittelt. Die ermittelten
Bilddatenwerte, die in ihrer Gesamtheit das zweidimensionale Bild
ergeben, werden dann auf der Anzeigeeinheit 4 dargestellt.
-
Gemäß 1 weist die Anzeigeeinheit 4 einen
Bildbereich 9 auf, der wiederum in drei Teilbereiche 10 bis 12 untergliedert
ist. Der Teilbereich 10 dient der eigentlichen Darstellung
des zweidimensionalen Bildes. Im Teilbereich 11 wird eine
Häufigkeitsverteilung
der vorkommenden Volumendatenwerte d angezeigt. Der Teilbereich 12 dient
als Bedienfeld.
-
Die
Pixel 13 sind gemäß 2 kartesisch angeordnet.
Ferner ist gemäß 2 die Bildebene senkrecht
zu einer der Koordinatenachsen des Volumendatensatzes angeordnet.
Die kartesische Anordnung der Pixel und die Anordnung der Bildebene
parallel zu einer der Koordinatenachsen dient aber nur der einfacheren
Darstellung des Sachverhalts. Prinzipiell sind beliebige Orientierungen
und beliebige Bildelementverteilungen möglich.
-
Zur
Ermittlung der Bilddaten werden gemäß 2 Abtaststrahlen 14` bestimmt.
Jeder Abtaststrahl 14` geht durch ein Pixel 13.
Die Abbildungsstrahlen 14` sind also bildelementspezifisch
im Raum festgelegt. Sie definieren eine Strahlrichtung 14.
Unmittelbar benachbarte Abbildungsstrahlen 14` gehen dabei
durch unmittelbar benachbarte Pixel 13.
-
Gemäß 2 verlaufen die Abbildungsstrahlen 14` parallel
zueinander. In 2 ist
somit eine parallele Projektion dargestellt. Die Bilddatenwerte
der einzelnen Pixel 13 hängen von den Volumendatenwerten
d derjenigen Voxel 8 ab, die auf dem Abbildungsstrahl 14` durch
das jeweilige Pixel 13 liegen.
-
Die
Strahlrichtung 14 bildet mit einer Erstrichtung 15 und
einer Zweitrichtung 16 sowie die Erst- und die Zweitrichtung 15, 16 untereinander
je einen Winkel. Gemäß 1 verläuft die Erstrichtung 15 parallel
zu den Reihen der Pixel 13, die Zweitrichtung 16 parallel
zu den Spalten der Pixel 13. Dies ist aber nicht zwingend
erforderlich.
-
In
jeder der drei Richtungen 14 bis 16 sind unmittelbar
benachbarte Voxel 8 um einen Abstand a voneinander beabstandet.
Der Abstand a ist dabei gemäß 2 für alle Richtungen 14 bis 16 derselbe. Auch
dies ist aber nicht zwingend erforderlich.
-
Um
die Bilddatenwerte aller Pixel 13 exakt zu berechnen, müssen alle
Abbildungsstrahlen 14` und auf diesen Abbildungsstrahlen 14` alle
Voxel 8 abgetastet werden. Dies ist sehr rechenintensiv.
Zur schnelleren Ermittlung der Bilddatenwerte werden daher die Voxel 8 in
mindestens einer der Richtungen 14 bis 16 mit
einem Rastermaß A,
B, C abgetastet, das größer als
der Abstand a ist. Die Rastermaße
A bis C müssen
dabei nicht fest sein. Sie können
interaktiv einstellbar sein. Bei fester Vorgabe müssen die Rastermaße A bis
C nicht notwendigerweise gleich sein. Beispielsweise kann in Strahlrichtung 14 jedes zweite,
dritte oder vierte Voxel 8 abgetastet wer den. Das Rastermaß A wäre somit 2a, 3a oder 4a.
In Erstrichtung 15 und Zweitrichtung 16 wird üblicherweise
etwas gröber
abgetastet als in Strahlrichtung 14. Typischerweise (aber
nicht unbedingt notwendigerweise) sind die Rastermaße B und
C gleich. Sie sind in der Regel gleich dem drei- bis sechsfachen
des Abstands a, betragen also 3a bis 6a. Ggf.
können
die Rastermaße
A bis C aber auch feiner oder gröber
gewählt
werden. In der Regel liegen sie zwischen dem zwei- bis zehnfachen
des Abstands unmittelbar benachbarter Voxel 8.
-
Jedes
abgetastete Voxel 8 wird auf eine Datenbedingung überprüft. Datenbedingung
kann beispielsweise sein, daß der
Volumendatenwert d dieses Voxels 8 innerhalb eines interaktiv
einstellbaren Wertebereichs liegt. Erfüllt das abgetastete Voxel 8 diese
interaktiv einstellbare Datenbedingung, wird es ausgewählt, ansonsten
nicht.
-
Nach
dem vollständigen
Abtasten des Volumendatensatzes mit den Rastermaßen A bis C werden nachfolgend
nur noch die Umgebungen der ausgewählten Voxel 8 betrachtet.
Die Bilddatenwerte der Pixel 13 werden dann nur anhand
derjenigen Voxel 8 ermittelt, die von den ausgewählten Voxel 8 maximal um
die Rastermaße
A bis C in der jeweiligen Richtung 14 bis 16 beabstandet
sind. Gegebenenfalls können
zur Ermittlung der Bilddatenwerte der Pixel 13 auch nur
diejenigen der Voxel 8 herangezogen werden, die weniger
als die jeweiligen Rastermaße
A bis C von den ausgewählten
Voxeln 8 beabstandet sind. Zumindest sollten aber diejenigen
Voxel 8 in der Nähe
der ausgewählten
Voxel 8 herangezogen werden, die um die Hälfte des
jeweiligen Rastermaßes
A bis C und weniger von einem der ausgewählten Voxel 8 beabstandet
sind.
-
Die
Darstellung gemäß 3 entspricht im wesentlichen
der Darstellung von 2.
Der Unterschied zu 2 besteht
im wesentlich darin, daß statt
einer parallelen Projektion eine perspektivische Projektion zur
Ermittlung der Bilddatenwerte herangezogen wird. Die Abbildungsstrahlen 14` gehen
somit von einem gemeinsamen Blickpunkt 17 aus. Dieser kann
fest vorgegeben sein. Vorzugsweise aber ist er interaktiv einstellbar.
-
Die
Ermittlung der Bilddatenwerte wird nachfolgend in Verbindung mit
den 4 und 5 nochmals beschrieben.
-
Gemäß 4 wird in Schritten 21 und 22 zunächst interaktiv
die Datenbedingung und sodann interaktiv der Blickpunkt 17 abgefragt.
Sodann werden in Schritten 23 und 24 zwei Laufparameter
r1 und r2 auf den Wert 0 gesetzt. Die Laufparameter r1 und r2 zeigen
in die Erstrichtung 15 bzw. die Zweitrichtung 16.
Mittels der Laufparameter r1, r2 wird somit ein Pixel 13 bestimmt.
Sodann wird in Schritten 25 und 26 zunächst der
bildelementspezifische Abtaststrahl 14` ermittelt und ein
weiterer Laufparameter r3 auf den Wert 0 gesetzt. Der weitere Laufparameter
r3 zeigt in Strahlrichtung 14. Aufgrund des bestimmten
Abtaststrahls 14` und dem Wert des weiteren Laufparameters
r3 ist eine Position im Raum bestimmt und so ein bestimmtes Voxel 8 selektierbar.
Sodann wird in einem Schritt 27 überprüft, ob das so selektierte Voxel 8 die
Datenbedingung erfüllt.
Wenn ja, wird in einem Schritt 28 das betreffende Voxel 8 ausgewählt.
-
Sodann
wird in einem Schritt 29 der weitere Laufparameter r3 um
das Rastermaß A
in Strahlrichtung 14 inkrementiert und in einem Schritt 30 abgefragt,
ob der weitere Laufparameter r3 einen Grenzwert R3 überschritten
hat. Wenn die Bedingung nicht erfüllt ist, wird zum Schritt 27 zurückgesprungen,
ansonsten wird mit den Schritten 31 bis 34 fortgefahren. In
den Schritten 31 bis 34 werden die Laufparameter r1
und r2 um die jeweiligen Rastermaße B, C inkrementiert und mit
Grenzwerten R1, R2 verglichen. Je nach den Ergebnissen der Vergleiche
wird zu den Schritten 24 bzw. 25 zurückgesprungen
oder nicht. Wenn im Schritt 34 der Vergleich positiv ausfällt, ist der
Volumendatensatz einmal grob abgetastet worden. Dann sind alle auszuwählenden
Voxel 8 ermittelt.
-
Nach
diesem Grobdurchlauf durch den Volumendatensatz wird gemäß 5 als nächstes in einem Schritt 35 das
erste ausgewählte
Voxel 8 ermittelt. In Schritten 36 bis 38 werden
dann die Laufparameter r1 bis r3 auf die Koordinaten r1i, r2i, r3i
dieses Voxels 8, jeweils verringert um das entsprechenden Rastermaß A bis
C, gesetzt. Sodann wird in einem Schritt 39 der Bildbeitrag
des Voxels 8 an dieser Position (r1, r2, r3) ermittelt.
-
Danach
wird in Schritten 40 und 41 der Laufparameter
r3 um den Abstand a inkrementiert und überprüft, ob der weitere Laufparameter
r3 größer geworden
ist als die entsprechende Koordinate r3i des ausgewählten Voxels 8 zuzüglich des
entsprechenden Rastermaßes
A. Je nach dem Ergebnis des Vergleichs wird entweder zum Schritt 39 zurückgesprungen
oder mit Schritten 42 und 43 fortgefahren.
-
In
den Schritten 42 und 43 wird der Laufparameter
r2 um den Abstand a inkrementiert und überprüft, ob der Laufparameter r2
nunmehr seine Grenze erreicht hat. Je nach dem Ergebnis des Vergleichs wird
entweder zum Schritt 38 zurückgesprungen oder mit den Schritten 44 und 45 fortgefahren.
-
In
analoger Weise wird in den Schritten 44 und 45 der
Laufparameter r1 um den Abstand a inkrementiert und überprüft, ob er
seinen Grenzwert erreicht hat. Je nach dem Ergebnis des Vergleichs
wird entweder zum Schritt 37 zurückgesprungen oder mit einem
Schritt 46 fortgefahren.
-
Im
Schritt 46 wird ermittelt, ob noch ein ausgewähltes Voxel 8 existiert.
Wenn ja, wird zum Schritt 35 zurückgesprungen und dieses Voxel 8 ermittelt. Wenn
nicht, ist die Bildermittlung abgeschlossen.
-
Mit
dem erfindungsgemäßen Verfahren
sind Beschleunigungen gegenüber
einer exakten Ermittlung des Bildes um typischerweise den Faktor 10 erreichbar,
ohne nennenswerte Bildfehler in Kauf nehmen zu müssen.