Say you perform a dual-energy x-ray CT scan using a high and low energy spectrum on three different materials. Since you're using two different energy levels, there will be two sinograms. But how would you reconstruct the main image of some $3$-material phantom from two separate sinograms?
1 Answers
For a scan along a particular line we have $$\int_{x_0}^{x_1} A_i(x)dx = \ln\frac{I_{1,i}}{I_{0,i}},$$ where $A_i(x)$, $I_{0,i}$, and $I_{1,i}$ are the attenuation coefficient, initial intensity, and final intensity at energy $E_i$, respectively, and $i=1,2$. (This is Beer's law.) We will roughly have $A_2=\alpha A_1$, where $\alpha$ is some dimensionless constant relating the attenuation coefficients at energies $E_1$ and $E_2$. Thus, we should be able to pool the data consisting of $\alpha\ln(I_{1,1}/I_{0,1})$ and $\ln(I_{1,2}/I_{0,2})$. Then we perform an inverse Radon transform on the pooled data. One should be able to estimate $\alpha$ from the data.
Another grossly simple method that I would apply first would be to use an image processing algorithm to combine the inverse Radon transforms of the two sinograms. (Roughly, this assumes $\alpha = 1$.)
- 3,137
-
How would you pool the data into one image for reconstruction? And what image processing algorithm combines the inverse Randon transform of two sinograms? – Oliver G Jun 25 '18 at 11:34
-
@OliverG: (1) Use the two discrete sets of data to create a "fitted" sinogram. Apply the inverse Radon transform to this. (2) I am no expert on image processing but I believe that GIMP, for example, can be used to merge images. – user26872 Jun 25 '18 at 14:56
-
Do you know of any specific ways to create a "fitted" sinogram from two sinograms? I would like to test out some methods. – Oliver G Jun 25 '18 at 18:52
-
@OliverG: How you implement this depends on the data and the computational power available. If the data set isn't too large I would first try to fit the data from the two sinograms to a high degree polynomial. – user26872 Jun 25 '18 at 21:12
-
So say I have two $500 x 500$ CT images one high one low, how would you "fit the data into a high degree polynomial"? Can you explicitly explain how you would do this? I don't understand how you would take two matrices (sinograms) and "fit" them into a high degree polynomial. – Oliver G Jun 26 '18 at 00:01
-
@OliverG: Each image is a discrete function of two variables. The rows and columns specify the values of $t$ and $\theta$ and the elements give the value of the Radon transform at that $(t,\theta)$. Now we can fit this data to a high degree polynomial in $t$ and $\theta$ (or any other reasonable basis). – user26872 Jun 26 '18 at 16:17
-
1@OliverG: However, it appears that the images have the same $t$s and $\theta$s, which simplifies things. Suppose $R_{1ij}$ and $R_{2ij}$ represent the $ij$th elements of sinograms 1 and 2, respectively. Then $\alpha = \sum_{ij}R_{2ij}/\sum_{ij}R_{1ij}$. Let $R_{ij} = (\alpha R_{1ij} + R_{2ij})/2$. Apply the inverse Radon transform to $R$. You may also wish to weight one sinogram relative to the other, in which case you might try $R'{ij} = (1-p)\alpha R{1ij} + p R_{2ij}$, where $0\le p\le 1$. – user26872 Jun 26 '18 at 16:17