-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zur interaktiven
Bildrekonstruktion, insbesondere in der Computertomographie.
-
Dem
nachfolgenden Text werden folgende Begriffsdefinitionen zugrundegelegt:
Eine „Houndsfield-Einheit” (auch
Houndsfield Unit oder kurz HU) ist ein Maß für die Röntgenschwächung durch ein bestimmtes
Material und findet vor allem in der Computertomographie Verwendung.
Die Houndsfield-Skala ist so definiert, daß der Schwächungswert von Wasser bei 0
HU liegt und der für Luft
bei –1000
HU. Diese in HU angegebenen Röntgenschwächungswerte
bezeichnet man auch als CT-Werte.
-
Unter
einer „Rekonstruktion” wird der
gesamte Prozeß verstanden,
um aus den in einem Datensatz enthaltenen Informationen die Schwächungswerte
für die
Voxel eines Volumens oder einer Voxelebene zu berechnen. Eine sogenannte „Feldkamp-Rekonstruktion” setzt
sich aus einer Vorverarbeitung und der anschließenden Rückprojektion zusammen.
-
Unter
einem „Faltungskern” (auch „Rekonstruktionskern”) wird
eine Funktion verstanden, mit der die Werte einer Projektion durch
Faltung verknüpft werden.
Man spricht von einem „harten” oder „aufsteilenden” Faltungskern,
wenn durch die Verknüpfung
mit dem Projektionsbild kleine Details und Kanten betont werden.
Man spricht von einem weichen Faltungskern, wenn durch die Faltung
mit dem Projektionsbild kleine Details, auch Rauschen, verwischt werden.
-
Während einer „Vorverarbeitung” werden
die Projektionen bearbeitet. Dazu zählen je nach Anwendungsfall
mehrere einzelne Schritte, unbedingt eine Logarithmierung und Gewichtung
der Projektionswerte sowie die Faltung mit dem Faltungskern.
-
Unter
einem „Bild” wird die
beispielsweise auf einem Monitor angezeigte rekonstruierte Darstellung
des Objektes verstanden. Diese wird üblicherweise in Graustufen
dargestellt. Prinzipiell sind aber auch farbige Darstellungen denkbar.
-
Ein „Pixel” ist das
kleinste Element eines Bildes und enthält nur einen einzigen Grau-
oder Farbwert.
-
Das
menschliche Auge kann nur ca. 80 Graustufen unterscheiden. Die CT-Werte
liegen im medizinischen Bereich normalerweise zwischen –1000 und
3000 HU. Der darzustellende Wertebereich ist also wesentlich größer als
die Anzahl der Graustufen, die das Auge wahrnehmen kann. Daher wird
immer nur ein Teil der HU-Skala zur Darstellung ausgewählt und
auf den Graustufenbereich abgebildet, was als „Fenstern” oder „Fensterung” bezeichnet wird.
-
Als „Objektraum” wird ein
dreidimensionaler Raum bezeichnet, in dem sich das zu untersuchende Objekt,
beispielsweise ein Patient, befindet. Vorzugsweise wird dieser Raum
durch drei zueinander senkrechte Koordinatenachsen beschrieben,
die im Folgenden als X-, Y- und Z-Achse bezeichnet werden.
-
Unter
einem „Voxel” wird ein
Element des Objektraumes verstanden. Ein Voxel kann eine beliebige
Form haben, vorzugsweise die eines Würfels oder Quaders. Einem Voxel
wird durch die Rekonstruktion ein Wert für die Schwächung der Röntgenstrahlung im entsprechenden
Teilvolumen zugewiesen, vorzugsweise angegeben in HU.
-
Unter
einem „Volumen” wird ein
dreidimensionales Gitter verstanden, bei dem sich in jedem Gitterpunkt
ein Voxel befindet. Vorzugsweise ist dieses Gitter kartesisch, orientiert
sich also an den drei Koordinatenachsen des Objektraumes.
-
Unter
einer „Voxelschicht” wird ein
zweidimensionales Gitter verstanden, welches einer Schicht aus einem
Volumen entspricht. Daher orientiert sich eine Voxelschicht vorzugsweise
an den Koordinatenachsen des Objektraumes.
-
Unter
der „Voxelebene” wird ein
zweidimensionales Gitter aus Voxeln verstanden. Dieses Gitter liegt
auf einer Ebene im Objektraum, welche beliebig orientiert sein kann.
-
Ein
Computertomograph erzeugt während einer
Messung mit Hilfe von Röntgenstrahlen
Durchleuchtungsaufnahmen des zu untersuchenden Objektes. Eine einzelne
solche Aufnahme wird als „Projektion” bezeichnet.
Zu einer Projektion gehören
Geometrieparameter, um die Position der Röntgenquelle und des Detektors
sowie dessen Lage im Raum zu beschreiben.
-
Unter
dem Begriff „Datensatz” werden
all die Informationen zusammengefaßt, welche bei einer Messung
vom Computertomographen an die Datenverarbeitung übermittelt werden.
Dazu zählen
alle aufgenommenen Projektionen und ihre Geometrieparameter.
-
Das
menschliche Auge kann ab ca. 25 Bildern pro Sekunde, also ca. 40
ms pro Bild, keine einzelnen Bilder mehr erkennen sondern nimmt
eine flüssige
Bewegung wahr. Im Folgenden sollen daher Rechenzeiten kürzer als
100 Millisekunden für
eine Berechnung einer Voxelebene und dem zugehörigen Bild als „echtzeitfähig” gelten.
-
Eine „GPU” (Graphics
Processing Unit, Grafikkarte) ist eine elektronische Datenverarbeitungseinheit,
welche speziell auf Berechnungen in der Computergrafik ausgelegt
ist.
-
Unter
einer „Textur” wird ein
zu der GPU gehörender
Speicherbereich verstanden. Die Projektionen und die Ergebnisse
der Berechnung werden in Texturen gespeichert.
-
„OpenGL” (Open
Graphics Library) ist eine Spezifikation für eine plattform- und programmiersprachenunabhängige Programmierschnittstelle
zur Entwicklung von Software im Bereich der 3D-Computergrafik. Eine
Implementierung der Erfindung benutzt OpenGL zur Programmierung
der GPU.
-
Unter
einem „Shaderprogramm” wird eine Software
verstanden, die auf der GPU ausgeführt wird.
-
Der
Arbeitsablauf in der Computertomographie (CT) war in den vergangenen
Jahrzehnten in Grunde immer gleich: Der Anwender wählt die
Parameter für
den Scan und die Rekonstruktion. Der Patient wird gescannt. Anschließend wird
aus den gewonnenen Daten ein Volumen (3D-Gitter) rekonstruiert.
Dieses Volumen kann mehrere hundert Voxelschichten enthalten. Nach
der Berechnung kann der Anwender Voxelschichten zur Betrachtung
auswählen.
Für diese
werden dann gemäß den aktuellen
Einstellungen für
das Fenstern Graustufenbilder erzeugt und angezeigt.
-
Der
Rekonstruktionsschritt benötigt
sehr viel Zeit. In der Praxis reichen diese Zeiten von einigen Minuten
bis zu mehreren Stunden, abhängig
von der eingesetzten Hardware und der Größe des Datensatzes.
-
Eine
Aufgabe der vorliegenden Erfindung ist es, die Rechenzeit bei der
Bildrekonstruktion von CT-Bildern zu verringern.
-
Diese
Aufgabe wird durch ein Verfahren nach Anspruch 1 bzw. eine Vorrichtung
nach Anspruch 7 bzw. ein Computerprogramm nach Anspruch 8 gelöst. Vorteilhafte
Ausführungsformen
der Erfindung ergeben sich aus den Unteransprüchen. Die im Folgenden im Zusammenhang
mit dem Verfahren erläuterten
Vorteile und Ausgestaltungen gelten sinngemäß auch für das erfindungsgemäße System
und umgekehrt.
-
Vorgestellt
wird eine interaktive, vorzugsweise GPU-beschleunigte CT-Bildrekonstruktion,
insbesondere in der Kegelstrahl-CT. Dabei wird ein neuartiger Ansatz
für eine
CT-Rekonstruktion
in Echtzeit beschrieben, welche dem Anwender die Möglichkeit bietet,
Parameter zur Orientierung der Voxelebene und der Position der Voxelebene
während
der Analyse, d. h. während
des Betrachtens der Graustufenbilder durch den Anwender, interaktiv
zu ändern.
Um dies zu ermöglichen,
ist jedesmal, wenn durch den Anwender ein neues Graustufenbild gewünscht wird, eine
neue Voxelebene erforderlich. Hierfür wird eine Rückprojektion
in eine Voxelebene durchgeführt,
im Gegensatz zu einer vor der Analyse durchzuführenden Volumenrekonstruktion
im Stand der Technik.
-
Zum
besseren Verständnis
sei bereits an dieser Stelle angemerkt, daß für jeden Pixel im späteren Bild
ein Voxel rekonstruiert wird. Mit anderen Worten wird für jedes
neu zu berechnende Bild zuerst eine Voxelebene im Objektraum definiert.
Auf dieser Ebene wird ein Gitter aus Voxelpositionen definiert,
wobei ein Voxel einem Pixel im späteren Bild zugeordnet ist.
-
Mit
diesem Ansatz hat der Anwender die Freiheit, Parameter zu verändern, die
bei einer konventionellen Rekonstruktion unveränderlich sind. So kann die
Position der Voxelebene und die Voxelgröße auf beliebige Werte gesetzt
werden, oder es können andere
Projektionen für
die Rekonstruktion ausgewählt
werden, etwa bei einer Kardio-Rekonstruktion.
-
Eine
Grundidee der Erfindung ist es mit anderen Worten, die Rekonstruktion
in die Analyse der Graustufenbilder durch den Anwender zu integrieren. Dadurch
wird die Wartezeit für
die Rekonstruktion beseitigt. Dies ist möglich, da der Anwender immer
nur einige wenige Bilder gleichzeitig betrachtet, üblicherweise
eins bis vier, und nicht mehrere hundert. Somit brauchen auch nur
die Bilder berechnet werden, welche der Anwender gerade sehen möchte.
-
In
einer Ausführungsform
der Erfindung wird die Rekonstruktion auf einer GPU mit OpenGL implementiert.
Mit anderen Worten wird eine zusätzliche Beschleunigung
dadurch erreicht, daß die
Rekonstruktion auf einer Grafikhardware implementiert wird. Hierzu
kommt vorteilhafterweise die herstellerunabhängige OpenGL-Technologie zum
Einsatz. Als Alternative zu OpenGL können auch andere Techniken,
beispielsweise DirectX oder herstellerspezifische Codes verwendet
werden, beispielsweise CUDA, CTM, OpenCL, Brook.
-
Nachfolgend
wird die Erfindung näher
beschrieben.
-
Es
wird ein neuartiges Verfahren zur Bildrekonstruktion durch Berechnung
tomographischer Schnittbilder aus Röntgenprojektionsdaten bereitgestellt.
Dieses zeichnet sich dadurch aus, daß anstelle einer Rekonstruktion
eines Volumens aus den Rohdaten der Projektion jeweils nur eine
Voxelebene, also ein 2D-Gitter, berechnet und ein dieser Voxelebene
entsprechendes Graustufenbild angezeigt wird. Einer Voxelebene entspricht
dabei genau ein Graustufenbild. Hierdurch können Rekonstruktionszeiten erreicht
werden, die eine „live-Rekonstruktion”, d. h. eine
Rekonstruktion in Echtzeit ermöglichen.
Für jedes
weitere Graustufenbild ist eine neue Rekonstruktion einer Voxelebene
notwendig.
-
Mit „Bilder” oder „Graustufenbilder” sind die zu
berechnenden Bilder des gescannten Objektes gemeint. Dabei kann
es sich auch um farbige Bilder handeln. Die Verwendung von Graustufenbildern
ist jedoch üblich.
-
Die
Rekonstruktion (Erzeugung der Graustufenbilder) erfolgt interaktiv.
Es wird immer nur eine einzelne Voxelebene für ein Graustufenbild rekonstruiert.
Sollten gleichzeitig beispielsweise drei Graustufenbilder angezeigt
werden, ist die Rekonstruktion von drei Voxelebenen notwendig.
-
Da
immer nur in einer Voxelebene rekonstruiert wird, ist der notwendige
Rechenaufwand gegenüber
einer herkömmlichen Rekonstruktion
eines Volumens klein (Faktor 100 bis zu 1000). Zusammen mit der
hohen Rechenleistung aktueller GPUs ergeben sich Rekonstruktionszeiten
von deutlich unter 1 Sekunde (ca. 10–100 ms, abhängig vom
Datensatz). Dies ermöglicht
es, jederzeit ein neues Graustufenbild zu erstellen. Das ermöglicht eine
völlig
freie Wahl einiger Parameter wie:
- – Voxelgröße (Realisierung
einer Zoom-Funktion),
- – Position
der Voxelebene im Objektraum (Realisierung einer Scroll-Funktion
in X, Y und Z-Richtung an eine beliebige Position bzw. in beliebig kleinen
Schritten),
- – Interaktive
Auswahl der für
die Rekonstruktion benutzten Projektionen (Realisierung dynamischer
Scans, Kardio-CT),
- – Neigung
(die Voxelebene kann im Objektraum beliebig gekippt werden), Darüber hinaus
können folgende
Merkmale verwirklich sein:
- – Dynamisches Ändern des
Rekonstruktionsfilters (Erneute teilweise Vorverarbeitung der Projektionsbilder),
- – Integration
einer MAR (Metall Artefakt Reduktion), wobei eine solche Integration
einen gegenüber
dem Stand der Technik (Volumenrekonstruktion) nur geringen Mehraufwand
erfordert, da nur eine Voxelebene vorhanden ist,
- – Verwendung
mehrerer Ansichten, d. h. mehrerer Voxelebenen, gleichzeitig (vorzugsweise
bis zu vier Ansichten, wobei sich drei Ansichten an den drei Koordinatenachsen
orientieren und eine vierte Ansicht einen beliebigen Schnitt durch
das Volumen zeigt),
- – Nutzung
mehrerer Grafikkarten, wobei die Rohdaten auf die GPUs aufgeteilt
werden, wodurch sich eine weitere Verringerung der Rekonstruktionszeit
ergibt.
-
Nachfolgend
wird die Funktionsweise des erfindungsgemäßen Verfahrens erläutert.
-
Sämtliche
Projektionsbilder werden in Texturen auf der GPU abgelegt. Unter
einer Textur wird dabei ein bestimmter Speicherbereich im lokalen
Speicher der GPU verstanden. Zusätzlich
wird eine Ergebnistextur angelegt, in welcher das Ergebnis der Rekonstruktion
(die spätere
Voxelebene) abgelegt wird.
-
Die
Erzeugung eines neuen Graustufenbildes erfolgt in mehreren Schritten:
-
Schritt
1: Laden des Datensatzes und Vorverarbeitung. Zur Vorverarbeitung
gehören
Arbeitsschritte wie die Interpolation von Meßdaten bei defekten Detektorelementen,
Gewichtung, Faltung. Anschließend
werden die Projektionsbilder in die Texturen transferiert.
-
Schritt
2: Rückprojektion
(Berechnung der Voxelebene) entsprechend der von dem Anwender gewünschten
Objektansicht, mit den Unterschritten:
-
Schritt
2.1: Berechnung der erforderlichen Transformationen (von „Pixel” nach „Voxel”) im Objektraum,
entsprechend der aktuell gewünschten
Voxelgröße, Position
und Neigung der Voxelebene.
-
Schritt
2.2: Aktivierung des für
die Rückprojektion
benötigten
Shaderprogramms und Konfiguration der nicht programmierbaren Teile
der GPU (Textureinheiten, Rasteroperationen (ROPs)).
-
Schritt
2.3: Konfiguration der GPU, um in die Ergebnistextur zu schreiben.
-
Schritt
2.4: Sukzessives Bearbeiten der gewünschten Projektionen. Dies
geschieht in kleinen Paketen von vorzugsweise drei bis acht Projektionen,
je nach Leistungsparametern der jeweiligen GPU, mit den Unterschritten:
-
Schritt
2.4.1: Zuweisen der Projektionstexturen an Texturleseeinheiten (auch
Textureinheiten oder Texture Units).
-
Schritt
2.4.2: Übertragen
der Geometrieparameter der Projektionen in Parameter des Shaderprogramms
auf der GPU.
-
Schritt
2.4.3: Zeichnen eines Vierecks, so daß für jedes Voxel in der Voxelebene
(Wert in der Ergebnistextur) in der Grafikpipeline ein Fragment
erzeugt und somit die Berechnung der Rückprojektionswerte für das aktuelle
Projektionspaket in der Fragmentbearbeitung durchgeführt wird.
-
Die
Schritte 1 (Vorverarbeitung, d. h. Bearbeitung der Projektionsbilder)
und 2 (Rückprojektion) können unter
dem Begriff der „Rekonstruktion” zusammengefaßt werden.
-
Schritt
3: Normierung der Ergebnisse aus der Rückprojektion auf die HU-Skala,
mit den Unterschritten:
-
Schritt
3.1: Aktivierung des für
die Normierung benötigten
Shaderprogramms und Konfiguration der nicht programmierbaren Teile
der GPU (Rasteroperationen (ROPs)) entsprechend der notwendigen
Skalierungsparameter.
-
Schritt
3.2: Zeichnen eines Vierecks, so daß für jedes Voxel ein Fragment
erzeugt und die Bearbeitung durchgeführt wird.
-
Schritt
4: Erzeugung eines Graustufenbildes aus den Werten in der Ergebnistextur
(„Fenstern”), mit
den Unterschritten:
-
Schritt
4.1: Aktivierung des für
die Erzeugung des Graustufenbilder benötigten Shaderprogramms. Übertragen
der aktuell ausgewählten
Parameter für den
Fensterbereich in Parameter des Shaderprogramms auf die GPU.
-
Schritt
4.2: Zuweisen der Ergebnistextur an eine Texturleseeinheit für Lesezugriff.
-
Schritt
4.3: Konfiguration der GPU, um in den Darstellungsbereich zu schreiben
(vorzugsweise unter Verwendung von Double-Buffering).
-
Schritt
4.4: Zeichnen eines Vierecks, so daß für jedes zu erzeugende Pixel
ein Grauwert entsprechend dem aus der Ergebnistextur ausgelesenen HU-Wert
und den Fensterparametern berechnet und abgelegt wird. Die Fensterparameter
werden zuvor festgelegt, um einen bestimmten Arbeitsbereich von HU-Werten auszuwählen.
-
Je
nach Anwenderaktion wird nicht immer die gesamte Bearbeitung durchlaufen.
Eine Bearbeitung ab Schritt 1 ist nur bei Auswahl eines neuen Datensatzes,
d. h. bei Erstellen des ersten Graustufenbildes, erforderlich. Eine
Bearbeitung ab Schritt 2 ist notwendig, wenn der Anwender neue Werte
für die Position,
Neigung, Voxelgröße oder
zu benutzende Projektionen auswählt.
Eine Bearbeitung ab Schritt 4 ist notwendig, wenn der Anwender neue
Werte für
die Fenstergrenzen auswählt.
Die Bearbeitung erfolgt zeitlich unmittelbar nach der Auswahl der
Parameter durch den Anwender.
-
Zu
der zu Schritt 1 gehörenden
Vorverarbeitung sei folgendes angemerkt: Die Rekonstruktion setzt
sich einerseits aus einer Vorverarbeitung der Projektionsbilder
inklusive Faltung und andererseits einer sich anschließenden Rückprojektion
zusammen. In einer Ausführungsform
der Erfindung wird die gesamte Vorverarbeitung nur einmal beim Laden
eines Datensatzes ausgeführt.
Dies geschieht vollständig
per Software auf der CPU, ist also nicht GPU-beschleunigt.
-
In
einer Ausführungsform
der Erfindung ist es vorgesehen, auch die Vorverarbeitung in Teilen oder
komplett auf der GPU zu implementieren. Dies hat den Vorteil, daß sich der
Faltungskern (oder Rekonstruktionskern) ebenfalls interaktiv ändern läßt. Im Vergleich
zur Rückprojektion
ist der Rechenaufwand für
die eigentliche Faltung gering. Eine andere Faltung erfordert allerdings
eine neue Rückprojektion.
Daher war es bisher mit den aus dem Stand der Technik bekannten
Methoden viel zu aufwendig, mehrere Faltungskerne durchzuprobieren.
Mit der neuen Methode ist die Rückprojektion
aber derart schnell, daß es
kein Problem mehr ist, sie kurzerhand neu zu berechnen.
-
Der
Faltungskern hat einen großen
Einfluß auf
das spätere
Bild. Ein sehr „harter” Faltungskern bietet
eine hohe Ortsauflösung,
erzeugt aber auch ein starkes Rauschen im Graustufenbild. Ein „weicher” Kern wiederum
bietet ein sehr rauscharmes Graustufenbild, senkt aber auch die
Ortsauflösung, das
heißt
kleine Details werden verwischt und sind eventuell nicht mehr erkennbar.
Der Anwender mußte
also bisher vor Beginn der Rekonstruktion gut abwägen, welchen
Kern er benutzen möchte.
Ein falscher Kern kann im schlimmsten Fall eine Diagnose unmöglich machen
und eine neue Rekonstruktion erfordern. Ist die Faltung ebenfalls
auf der GPU implementiert, stellt eine interaktive Änderung
des Faltungskerns jedenfalls kein Problem mehr dar.
-
Zusätzlich besteht
in der CT ein Zusammenhang zwischen dem Bildrauschen und der Röntgendosis.
Je höher
die Dosis, um so geringer ist das Rauschen. Genauer gesagt, muß man die
vierfache Röntgendosis
applizieren, um das Rauschen zu halbieren. Daher bietet sich mit
der Anwendung des erfindungsgemäßen Verfahrens
eine Möglichkeit
zur Dosisreduktion, wenn sich das Bild problemlos mit unterschiedlichen
Faltungskernen betrachten läßt, also
zum Beispiel einmal mit hoher Auflösung und Rauschen, danach sehr
geglättet.
-
Nachfolgend
wird das bisherige Rekonstruktionsverfahren dem erfindungsgemäßen Verfahren vergleichend
gegenübergestellt.
-
Alle
bisherigen Rekonstruktionsmethoden sehen folgenden Arbeitsablauf
vor (Stand der Technik):
-
Schritt
1: Durchführung
des Scans und damit Erfassung der Projektionsbilder (Rohdaten).
-
Schritt
2: Auswahl der Rekonstruktionsparameter:
- a)
Volumengröße und Position
- b) Voxelgröße und damit
Bestimmung der Detailauflösung
des zu rekonstruierenden Volumens
- c) Rekonstruktionsfilter (auch als Rekonstruktionskern oder
Faltungskern bezeichnet)
- d) Bei Kardio-CT oder einem dynamischen Scan: Auswahl der zu
verwendenden Projektionen
-
Schritt
3: Rekonstruktion des Volumens, mit den Unterschritten:
-
Schritt
3.1: Vorverarbeitung der Projektionsbilder, zum Beispiel Logarithmieren,
Gewichten. Dies kann bereits während
des Scans erfolgen.
-
Schritt
3.2: Faltung der Projektionsbilder mit dem Rekonstruktionsfilter.
Hierdurch erhält
man ein Projektionsbild mit unterdrückten niedrigen Frequenzen.
-
Schritt
3.3: Rückprojektion.
Hierbei wird ein 3D-Gitter berechnet (Volumen), wobei für jeden Punkt
(Voxel) in diesem Gitter ein Schwächungswert berechnet wird.
Das 3D-Gitter ist (fast) immer an den Koordinatenachsen des Objekts
ausgerichtet, da sich so einige Zwischenergebnisse für mehrere
Voxel benutzen lassen. Typische Größen für solche Volumen sind liegen
heute bei 5123 oder 10243 Voxel.
Auf einem durchschnittlichen PC (CPU) kann eine solche Rekonstruktion
bis zu einer Stunde dauern, wobei die Rückprojektion den Hauptteil
ausmacht.
-
Schritt
3.4: Skalieren, d. h. Umrechnung der Röntgenschwächungswerte auf HU-Werte. Für die nachfolgende
Auswertung des Volumens ist das Festlegen eines „Fensters” auf der HU-Skala und die Zuordnung
von Graustufen zu den Fensterwerten erforderlich.
-
Schritt
3.5: Speichern des berechneten Volumens, üblicherweise auf einer Festplatte.
-
Schritt
4: Auswertung des Volumens durch den Anwender. Der Anwender sieht üblicherweise ein
bis vier Bilder, die Ansichten aus verschiedenen Richtungen entsprechen. Üblicherweise
entspricht die Lage dieser Bilder den einzelnen Voxelschichten im
Volumen, weshalb der Anwender nur von einer Voxelschicht zu anderen
springen, aber keine „Zwischenschichten” betrachten
kann, höchstens
durch Interpolation zwischen benachbarten Voxelschichten. Es können unter
anderem folgende Situationen auftreten:
- i)
Der Anwender möchte
ein kleines Detail näher betrachten:
Er kann das Detail „heranzoomen”, erhält allerdings
schon früh
nur ein sehr grobes oder pixeliges Bild, da für jedes Pixel im Bild, welches
sich der Anwender ansieht, nur der jeweils am nächsten liegende Voxel herausgesucht
wird, eventuell findet auch eine Interpolation zwischen Pixeln statt.
Dies liefert jedoch keine neuen Details, selbst wenn die Auflösung der
Detektoren bzw. der Projektionen dies zulassen würde, da die Auflösung durch
den Voxelabstand im Volumen ebenfalls begrenzt wird. In diesem Fall
bleibt dem Anwender nur, den interessierenden Bereich zu markieren
und für
diesen eine neue Rekonstruktion, d. h. eine neue Rückprojektion
mit kleineren Voxeln zu starten.
- ii) Es soll ein schiefer Schnitt durch das Volumen dargestellt
werden: Für
das Schnittbild müssen viele
Werte aus den vorberechneten Voxeln interpoliert werden.
- iii) Beim Auswerten des Volumens stellt der Anwender fest, daß der Rekonstruktionskern
nicht geeignet gewählt
wurde: Dies führt
bei einem zu „weichen” Kern zum
Verwischen kleiner Details, bei einem sehr aufsteilenden, „kantenbetonender” Kern zu
einem hohen Rauschen im Bild. Im Extremfall ist das Volumen nutzlos
und es muß eine neue
Rekonstruktion mit geeigneteren Parametern gestartet werden, was
eine neue Wartezeit erfordert.
-
Im
Gegensatz zu dem soeben beschriebenen Stand der Technik sieht ein
bevorzugter Ablauf der erfindungsgemäßen Methode folgendermaßen aus:
-
Schritt
1: Durchführung
des Scans und damit Erfassung der Projektionsbilder (Rohdaten).
-
Schritt
2: Vorverarbeitung der Projektionsbilder, zum Beispiel Logarithmieren,
Gewichten. Dies kann bereits während
des Scans erfolgen.
-
Schritt
3: Faltung der Projektionsbilder.
-
Schritt
4: Betrachten der den Voxelebenen entsprechenden Graustufenbilder
durch den Anwender. Da der Anwender nur ein bis vier Graustufenbilder
sieht, werden auch nur diese berechnet anstatt eines kompletten
Volumens. Dabei wird für
jedes Pixel im Graustufenbild ein zugehöriges Voxel berechnet. Sind
die Bilder auf dem Monitor beispielsweise 5122 Pixel
groß,
müssen
auch nur 5122 Voxel berechnet werden. Dies
reduziert vor allem die Dauer der Rückprojektion gegenüber einem
Volumen sehr stark, je nach Volumen um einen drei bis vierstelligen Faktor.
Da die Rückprojektion
zusätzlich
auf einer GPU ausgeführt
wird reduziert sich die Rechenzeit gegenüber einer normalen CPU-basieren
Rekonstruktion noch einmal deutlich und es werden Rekonstruktionszeiten
von einigen Millisekunden erreicht. Um für jedes Pixel exakt ein Voxel
zu berechnen wird im Objektraum eine Ebene (Voxelebene) definiert. Der
Stützpunkt,
also die Spitze des Stützvektors
zur Darstellung einer Ebene im Raum, wird dabei dem Zentrum des
zu berechnenden Graustufenbildes zugeordnet. Auf diese Ebene wird
dann ein Gitter mit eben so vielen Gitterpunkten (Voxeln) gelegt
wie für das
Bild benötigt
werden, in diesem Fall also 5122. Dazu wird
eine Transformation von der Bildebene in die Voxelebene definiert,
welche eine Reihe von einzelnen Transformationen zusammenfaßt:
- a) Skalierung der Voxelgröße bzw. Gitterabstand auf der
Ebene
- b) Rotation der Ebene um den Stützpunkt
- c) Translation des Stützpunktes
der Voxelebene
-
Für jedes
dieser Voxel wird die exakte Position im Objektraum bestimmt und
eine Rückprojektion durchgeführt. Anschließend werden
die Ergebnisse auf HU-Werte skaliert.
-
Bei
jeder Anwenderaktion, welche die Lage der Voxelebene beeinflußt, werden
die Voxel auf der Ebene neu rekonstruiert und ein neues Graustufenbild
wird angezeigt. Für
den Anwender geschieht dies ohne merkliche Zeitverzögerung,
da eine Rechenzeit von nur einigen Millisekunden kaum wahrnehmbar ist.
-
In
den oben beschriebenen Situationen geschieht nun etwas anderes:
- i) Der Anwender möchte ein kleines Detail näher betrachten:
Er zentriert die interessierende Stelle im Graustufenbild, wodurch
softwareintern der Stützpunkt
der Voxelebene auf genau diese Position gesetzt wird (neue Translation
in der Transformation). Anschließend kann er durch einen Zoomfaktor
die Voxelgröße beliebig ändern (neue
Skalierung in der Transformation), was zu einem engeren Voxelgitter
auf der Ebene führt.
Der Anwender sieht praktisch sofort ein neues Graustufenbild, welches
auf kleineren Voxeln basiert. Der Detailgrad der Darstellung wird
nicht mehr durch ein rekonstruiertes Volumen im Hintergrund begrenzt,
sondern nur noch durch die Auflösung
der Projektionsbilder. Außerdem
entstehen keinerlei Wartezeiten für den Anwender.
- ii) Es soll ein schiefer Schnitt durch das Volumen dargestellt
werden: Der Anwender kann die Voxelebene beliebig um den Stützvektor
(Bildzentrum) rotieren (neue Rotationen in der Transformation). Das
neue Bild basiert nicht mehr auf interpolierten Werten, sondern
für jedes
Pixel bzw. Voxel wird ein eigener, neuer Wert rekonstruiert.
- iii) Beim Auswerten des Volumens stellt der Anwender fest, daß der Rekonstruktionskern
nicht geeignet gewählt
wurde: Er wählt
einen neuen Filterkern aus, anschließend ist eine kurze Rechenzeit
von wenigen Sekunden erforderlich um die Projektionsbilder mit dem
neuen Kern zu Falten. Der Anwender erhält nun Bilder mit den neuen
Filtereinstellungen.
-
Der
Hauptunterschied zu den bisher aus dem Stand der Technik bekannten
Lösungen
liegt also darin, daß die
Rekonstruktion interaktiv erfolgt, während der Anwender die Bilder
betrachtet und nicht vorab. Dies erspart dem Anwender Wartezeiten und
eröffnet
außerdem
die Möglichkeit,
jede beliebige Ansicht zu erzeugen.
-
Nachfolgend
werden weitere Vorteile des erfindungsgemäßen Verfahrens angegeben und
neue Möglichkeiten
für den
Anwender aufgezeigt.
-
Für den Anwender
ergeben sich deutlich geringere Wartezeiten, bevor ein Datensatz
betrachtet werden kann. Wartezeiten ergeben sich lediglich aus der
Vorverarbeitung der Projektionen.
-
Der
Anwender ist nicht mehr an ein vorberechnetes 3D-Volumen gebunden,
sondern kann völlig
frei den interessierenden Bereich auswählen, einschließlich beliebiger
Neigung der Ansicht.
-
Wenn
der Anwender einen kleinen Teilbereich genauer betrachten möchte, mußte er bisher immer
eine neue Rekonstruktion durchführen
und eine erneute Wartezeit in Kauf nehmen. Mit der neuen Methode
reicht ein einfacher Zoom auf den Bereich, um die Voxelgröße zu ändern, was
interaktiv und mit nur geringer Zeitverzögerung (wenige Millisekunden)
möglich
ist.
-
Die
für die
Rückprojektion
benutzen Projektionen können
frei gewählt
werden. Dies ist einerseits von Bedeutung bei dynamischen Scans,
bei denen mehrere Scans ohne Verzögerung direkt nacheinander
durchgeführt
werden, zum Beispiel um bei einer Kontrastmittelgabe die gesamte
Flußdauer
des Kontrastmittels zu erfassen. Um ein gutes Ergebnis zu erhalten,
sollten für
die Rekonstruktion nur die Projektionen benutzt werden, die aufgenommen
wurden, als das Kontrastmittel im interessierenden Bereich war. Ist
das Kontrastmittel nur auf einigen Projektionen erfaßt, sind
im späteren
Graustufenbild störende
Artefakte zu sehen. Die Auswahl geeigneter Projektionen ist jedoch
schwierig und kann mehrfache Rekonstruktionen erfordern, was für den Anwender
viel Zeit kostet. Mit der neuen Methode kann die Auswahl der Projektionen
interaktiv erfolgen und der Anwender erhält sofort ein neues Bild.
-
Andererseits
ist dies bei Bedeutung bei der Kardio-CT, bei der diejenigen Projektionen
ausgewählt
werden müssen,
bei denen das Herz in der gleichen Phase aufgenommen wurde, um Bewegungsartefakte
so weit wie möglich
zu reduzieren. Bisher muß nach
einer Rekonstruktion das Ergebnis beurteilt werden und wenn zu starke
Bewegungsartefakte eine Diagnose unmöglich machen eine neue Auswahl
getroffen und eine neue Rekonstruktion durchgeführt werden, was erneute Wartezeiten für den Anwender
bedeutet. Mit der neuen Methode kann die Auswahl der Projektionen
interaktiv erfolgen und der Anwender erhält sofort ein neues Bild.
-
Darüber hinaus
ist technisch vorteilhaft, daß nur
noch die vom CT erfaßten
Rohdaten und nicht mehr die rekonstruierten Volumen gespeichert
und archiviert werden müssen,
wodurch Speicherplatz gespart wird. Dies ist besonders bei in naher
Zukunft verfügbaren,
insbesondere in der Kegelstrahl-CT verwendbaren Flachdetektoren
mit sehr hoher Auflösung
wichtig, da bei Verwendung solcher Detektoren sehr große Volumen
rekonstruiert werden müssen, um
den möglichen
Detailgrad auch auszunutzen, zum Beispiel 40963 Voxel.
Derart große
Volumen sind nur schwer zu handhaben und zu archivieren. Dieser Aufwand
entfällt
bei Verwendung der neuen Methode vollständig.
-
Über die
oben bereits beschriebenen Anwendungsfälle hinaus ist es außerdem möglich, die vorliegende
Erfindung bei dynamischen Scans einzusetzen. Dort könnten mit
der neuen Methode die jeweils letzten 360° live mitrekonstruiert werden,
um eine bessere Überwachung
des Patienten während des
Scans zu ermöglichen.
-
In
einer Ausführung
der Erfindung ist nur die Rekonstruktion eines vollständigen Kreisscans
implementiert, also eines Scans bei dem die Projektionen über einem
Winkelbereich von mindestens 360° ausgenommen
wurden. In einer weiteren Ausführungsform
der Erfindung werden Teilkreisscans (180° + Kegelwinkel) mit entsprechender
Gewichtung der Projektionen (sogenanntes Parker-Weighting) unterstützt. Der
Vorteil dieser weiteren Ausführungsform liegt
in einer höheren zeitlichen
Auflösung
bei dynamischen Scans oder einer Kardio-CT.
-
Die
Erfindung ist nicht auf Kegelstrahl-CT beschränkt. Sie kann grundsätzlich auch
auf andere CT-Arten angewendet werden, wie bspw. einem klinischen
CT mit einem gebogenen Detektor (im Gegensatz zum Flachdetektor).
Derartige gebogene Detektoren sind schmaler als Flachdetektoren
und erfassen daher auch nur einen schmaleren Bereich des Patienten.
Das oben beschriebene Rekonstruktionsverfahren geht davon aus, daß sich der
Detektor auf einer Kreisbahn um den Patienten bewegt. Diese Möglichkeit
gibt es beim klinischen CT ebenfalls und wird zum Beispiel bei einer
Kardio-CT benutzt, bei der nur das Herz erfaßt werden soll. Soll der komplette
Oberkörper
oder sogar der ganze Patient erfaßt werden, wird eine Spiral-CT
durchgeführt.
Dabei rotiert der Detektor während
des gesamten Scans auf einer Kreisbahn um den Patienten und der
Patient wird auf seiner Liege langsam und mit konstanter Geschwindigkeit
durch das CT gefahren, so daß sich der
Detektor relativ zum Patienten auf einer Spiralbahn (genauer gesagt
einer Helix) bewegt. Eine Rekonstruktion beim Spiral-CT ist bedeutend
aufwendiger als in der Kegelstrahl-CT. Der erhöhte Rechenaufwand ließe sich
jedoch durch die Verwendung von mehreren GPUs oder einer schnelleren
GPU kompensieren.
-
Die
erfindungsgemäße Vorrichtung
ist ausgebildet zur Durchführung
des beschriebenen Verfahrens zur interaktiven Bildrekonstruktion.
Vorzugsweise handelt es sich bei der Vorrichtung um eine Datenverarbeitungseinheit,
ausgebildet zur Durchführung
aller Schritte entsprechend des hier beschriebenen Verfahrens, die
in einem Zusammenhang mit der Verarbeitung von Daten stehen. Die
Datenverarbeitungseinheit weist vorzugsweise eine Anzahl von Funktionsmodulen
auf, wobei jedes Funktionsmodul ausgebildet ist zur Durchführung einer
bestimmten Funktion oder einer Anzahl bestimmter Funktionen gemäß dem beschriebenen
Verfahren. Bei den Funktionsmodulen kann es sich um Hardwaremodule
oder Softwaremodule handeln. Mit anderen Worten kann die Erfindung,
soweit es die Datenverarbeitungseinheit betrifft, entweder in Form von
Computerhardware oder in Form von Computersoftware oder in einer
Kombination aus Hardware und Software verwirklicht werden. Soweit
die Erfindung in Form von Software, also als Computerprogrammprodukt,
verwirklicht ist, werden sämtliche
beschriebenen Funktionen durch Computerprogrammanweisungen realisiert,
wenn das Computerprogramm auf einem Rechner mit einem Prozessor
ausgeführt
wird. Die Computerprogrammanweisungen sind dabei auf an sich bekannte
Art und Weise in einer beliebigen Programmiersprache verwirklicht
und können
dem Rechner in beliebiger Form bereitgestellt werden, beispielsweise
in Form von Datenpaketen, die über
ein Rechnernetz übertragen
werden, oder in Form eines auf einer Diskette, einer CD-ROM oder
einem anderen Datenträger
gespeicherten Computerprogrammprodukts.
-
Ein
Ausführungsbeispiel
der Erfindung wird nachfolgend anhand der Zeichnungen näher beschrieben.
Hierbei zeigen
-
1 eine
schematische Darstellung einer Voxelebene im Objektraum,
-
2 einen
Bildschirmausdruck einer Softwareanwendung zur Durchführung des
erfindungsgemäßen Verfahrens,
-
3 eine
schematische Darstellung der Berechnung einer Voxelebene, wie in 2 abgebildet.
-
Die
Voxelebene E, die sich in einer beliebigen Lage im Objektraum befindet,
ist durch die Position c → ihres Zentrums, die Anzahl der Voxel V in u →- und v →-Richtung
sowie die Voxelgröße bestimmt.
Jedes Voxel V entspricht einem Pixel i in dem zu berechnenden Graustufenbild,
so daß die
Größe der Voxelebene
E von der Bildgröße abhängt. Im
Beispiel hat das Graustufenbild B eine feste Größe von 512×512 Pixel. Mit Hilfe eines
Satzes von Transformationen werden die Pixel-Indices i → = (s, t) auf die Voxel-Koordinaten p →i = (x, y, z) abgebildet. Die Drehung der
Voxelebene E um ihr Zentrum c → entsprechend den drei Achsen erfolgt
ebenfalls in diesem Schritt mit Hilfe einer weiteren Transformation.
Alle Transformationen sind in einer einzigen Transformationsmatrix M → zusammengefaßt.
-
Alle
Projektionsbilder werden in Texturen im Speicher der GPU abgelegt.
Zusätzlich
wird noch eine weitere Textur erzeugt, um die Ergebnisse der Rekonstruktion,
also die Voxelebene, zu speichern. Alle Werte werden als Fließkommazahlen
mit 32 Bit Genauigkeit gespeichert.
-
Um
ein neues Graustufenbild zu erzeugen wird zuerst eine neue Transformationsmatrix M → berechnet
und auf der GPU gespeichert. Anschließend werden die Projektionen
nacheinander zurückprojiziert.
Die benötigten
Projektionen werden Texturleseeinheiten (Texture Units) zugewiesen,
um sie auslesen zu können
und die Geometrieparameter der Texturen werden auf die GPU übertragen.
Nach dieser Konfiguration wird ein Viereck gezeichnet, welches die
gesamte Voxelebene ausfüllt,
um die Aktualisierung der Voxel durchzuführen. Die Koordinaten der Voxel
in den Ecken der Voxelebene werden in einem Vertexshader berechnet
und an den Rasterizer der Grafikkarte weitergegeben, welcher daraus
für jeden
Voxel die Position im Objektraum interpoliert und an die Fragmentbearbeitung
weiterreicht.
-
Die
Fragmentbearbeitung führt
die Rückprojektion
für die
aktuellen Projektionen auf die einzelnen Voxel durch und liefert
als Ergebnis den Beitrag der aktuellen Projektionen zu den Voxeln.
Diese Beiträge
müssen
zu den bereits in der Voxelebene abgelegten Werten hinzuaddiert
werden. Das wird durch die letzte Stufe der Grafikpipeline, den
ROPs (Raster Operations) erledigt.
-
Nachdem
alle Projektionen bearbeitet wurden, werden die Werte in den Voxeln
in CT-Schwächungswerte
(Houndsfield Units, HU) skaliert. Anschließend wird, entsprechend den
aktuellen Fenstereinstellungen, ein neues Graustufenbild berechnet.
-
Die
erfindungsgemäße Rekonstruktion
wird mit Hilfe eines Computerprogramms ausgeführt, dessen Funktionsweise
schematisch in Bild 3 abgebildet ist. Der dort gezeigte Datensatz
enthält
720 Projektionen mit einer Detektorauflösung von 5122 Elementen.
-
In
dem Ausführungsbeispiel
wird ein „dual-core” PC mit
4 GB RAM und eine GeForce 8800GTX GPU verwendet, wodurch Rückprojektionen
bis zu 50 mal schneller berechnet werden können, als mit einer einzelnen
CPU-basierten Software. Dadurch lassen sich Rekonstruktionszeiten
von 30 bis 100 Millisekunden erreichen. In einem typischen Beispiel
dauert eine einzelne Rekonstruktion beispielsweise 37 Millisekunden.
-
Alle
in der Beschreibung und den Ansprüchen dargestellten Merkmale
können
sowohl einzeln als auch in beliebiger Kombination miteinander erfindungswesentlich
sein.