Donnerstag, 4. September 2014

Dual-Energy Radiographie

Grundlagen

Die Möglichkeiten verschiedene Gewebedichten in Röntgenstrahlung darzustellen sind begrenzt. Knochen haben eine wesentlich höhere Dichte als Gewebe. Das führt bei Röntgenaufnahmen zum Abdecken von Gewebeinformationen. Eine Methode diese Informationen zu erhalten ist, die Knochenstrukturen in Röntgenaufnahmen zu isolieren und zu subtrahieren. Diese Technik wird Dual-Energy Radiologie genannt, da zwei Aufnahmen mit unterschiedlicher Strahlungsenergie dafür benötigt werden. Eine Aufnahme mit geringer Energie bildet Gewebestrukturen und Knochen ab. Eine zweite Aufnahme mit höherer Energie bildet nur Knochenstrukturen ab. Mit Hilfe der Dämpfungskoeffizienten der verschiedenen Gewebe bei verschiedener Energie können die Dicken der Gewebeschichten ermittelt werden.


Dämpfungen von Knochen und Gewebe bei verschiedenen Energien [0]


Berechnung

Die Intensität einer digitalen Röntgenaufnahme wird für jedes Pixel bestimmt als:
$$ I_{lo} = \mu_{tlo} x{t} + \mu_{blo} x_{b} $$
Und
$$ I_{hi} = \mu_{thi} x{t} + \mu_{bhi} x_{b} $$
Wobei mit \(\mu_{tlo}\) der lineare Dämpfungskoeffizient der niederenergetischen Röntgenstrahlung in Gewebe , mit \(x_{t}\) die Gewebedicke, mit \mu_{blo} der lineare Dämpfungskoeffizient der Knochenstruktur bei niederenergetischen Röntgenstrahlung und mit \(x_{b}\) der Dicke der Knochenstruktur bezeichnet wird. Ebenfalls gelten diese Werte für die Hochenergetische Strahlungsaufnahme mit \(\mu_{thi}\) und \(\mu_{bhi}\) als Dämpfungskoeffizienten. Beide dieser Bilder beinhaltet Informationen über Knochendicke und Gewebedicke.

Wenn nun die gewichtete Addition beider Bilder mit dem Korrekten Faktor \(k_{lo}\) oder \(k_{hi}\) durchgeführt wird:
$$ I = k_{lo} I_{lo} + k_{hi} I_{hi} $$ (1)
Kann entweder die Kochenstruktur, oder die Gewebestruktur ausgebledet werden.
Aus (1) ergibt sich
$$ I = ( k_{lo} \mu_{tlo} + k_{hi} \mu_{thi} ) x_{t} + ( k_{lo} \mu_{blo} + k_{hi} \mu_{bhi} ) x_{b} $$
 Bei korrekter Wahl der Koeffizienten kann zum Beispiel \(x_{t} = 0\) erreicht werden und das Gewebe aus der Aufnahme ausgeblendet werden.
\( k_{lo} \mu_{tlo} + k_{hi} \mu_{thi} = 0\). Daher, \(k_{lo} \mu_{tlo} = - k_{hi} \mu_{thi}\), und
$$\frac{k_{hi}}{k_{lo}} = - \frac{\mu_{tlo}}{\mu_{thi}}$$

Dies zeigt, dass das Ausblenden der Gewebestruktur im Ergebnisbild erreicht werden kann, wenn das Verhältnis der Faktoren das negative Verhältnis von Gewebe bei beiden Strahlungsenergien ist. Gleiches gilt für das Ausblenden der Knochenstruktur.

Software

Das ganze wird nun in Software abgebildet [1]. Es stehen zwei Röntgenaufnahmen mit unterschiedlichem Energiewerten zur Verfügung. Die Aufnahmen sind im 8bit BMP Format abgespeichert. Jedes Pixel hat also einen Wert von 0 ... 255. Beide Bilder werden als Bitmap-Objekt geladen:

Um auf den Speicherbereich der Bitmap-Objekte zugreifen zu dürfen, müssen diese daraufhin gesperrt werden. Mit einem direkten Zugriff auf die Speicherbereiche der beiden Bilder kann eine Schleife schneller jeden Pixelwert bearbeiten, als würde jeder Pixel einzeln geladen werden müssen.

Um die Werte abspeichern zu können steht noch ein Array mit double Werten und eins mit int Werten zur Verfügung. Der erste Schritt ist es die beiden Bilder zu addieren. Dabei werden die Pixelwerte des niederenergetischen Bildes mit dem Faktor \(k_{lo}\) multipliziert und die Werte des hochenergetischen Bildes mit \(k_{hi}\).
Anschließend wird der Minimal und Maximalwert des Ergebnisses ermittelt und die neuen Werte in das Integer-Array eingetragen.

Das Integer-Array dient als Quelle für die Ergebnisbilddaten und nach erfolgreichem Kopieren derselben können die drei Speicherbereiche wieder freigegeben werden.


---
[0] http://www.icru.org/
[1] https://github.com/DasBasti/dual-energy-imaging