If you have trouble viewing this, try the pdf of this post. You can download the code used to produce the figures in this post.

In this post, I continue the discussion of my paper, “Near optimal energy selective x-ray imaging system performance with simple detectors.” I summarized many of the theoretical formulas in my last post. Here, I will discuss the formulas for the SNR with x-ray tube spectra with different voltages and different object thicknesses. I will present code to reproduce Figs. 7-9 of the paper. The results show that the energy-selective detectors have SNR that is approximately 4 times larger than the SNR with energy-integrating detectors, the detectors used in almost all conventional medical x-ray systems.

I will compare the performance of 5 different detectors to the ideal detector that measures complete energy spectrum information.

- Q—responds to the total energy of the detected x-ray photons;
- N—counts the total number of detected photons;
- NQ—simultaneously measures the total number and total energy of detected photons;
- N2—two-bin pulse height analysis (PHA);
- N2Q—simultaneous two-bin PHA and integrated energy measurements.

Using the notation in Table 1↓, the ideal SNR with complete energy information is

To evaluate the effective value ⟨*f*(*E*)⟩_{N} use the normalized photon number spectrum

and

Similarly for ⟨*f*(*E*)⟩_{Q},

and
The code for the ideal SNR in the function OptimalSNR.m (included with the code package) translates Eq. 1↑ directly into Matlab code

In this code, trapz is the Matlab trapezoidal numerical integration function, sptran is the data struct for the spectrum transmitted through the object with fields: egys—the photon energies, specnorm—the normalized photon number spectrum, mus is the matrix with background and feature attenuation coefficients, and dmus is the vector of the differences of the mus matrix along the columns.

where **δA = ⟨A**_{feature}⟩ − ⟨A_{background}⟩ is the difference between the **A** vectors in the background and feature region and **C**_{A} is the covariance of the **A** vector measurements. The inverse of the A-vector covariance **C**^{ − 1}_{A} is related to the covariance of the logarithm of detector data **C**_{L} by **C**^{ − 1}_{A} = (M^{T}C^{ − 1}_{L}M). Substituting in Eq. 6↑,

(7)
*SNR*^{2}
=
** δA**^{T}C^{ − 1}_{A}δA
=
**δ****A**^{T}M^{T}C^{ − 1}_{L}MδA

By using the attenuation coefficients of the background and feature as the basis functions, **δA** is the constant vector
**δA** = ⎡⎢⎣
1
− 1
⎤⎥⎦.

Therefore, to evaluate Eq. 7↑ for the SNR, we need to calculate the detector covariance **C**_{L} and the effective attenuation coefficient matrix **M**.

These detectors are simple enough that I was able to evaluate the matrix formulas for the SNR algebraically:

The code from OptimalSNR.m that implements these formulas is:

The SNR using both N and Q signals at the same time, i.e. the NQ detector, is
where *F* = ^{⟨E2⟩}⁄_{⟨E⟩2} is the excess variance of the spectrum. This was complex enough that I found it simpler to use the matrix formulation from Eq. 7↑. The code is:

stats.d2NQ = (dA’*mdat.CR_NQinv*dA)/2; % divide by 2 per definition

where mdat.CR_NQinv is computed in CRboundNKQ.m as

CR_NQinv(:,:,kt)= (M_NQ’*inv(RL_NQ)*M_NQ);

and RL_NQ is computed as

% NQ calcs RL_NQ = ones(2); % 2x2 RL_NQ(2,2) = F; RL_NQ = RL_NQ/lambda;

The code for M_NQ evaluates the effective values of the basis set functions, that is the attenuation coefficients of the background and feature materials with the normalized photon number and photon energy using Eqs. 3↑ and 5↑.

The SNR of detectors with PHA depends on the inter-bin threshold energy. In my simulations, I optimized the energy to maximize the SNR for each case in the function OptimalSNR.m. The code is shown below:

The code optimizes by exhaustively computing the SNR with threshold energies throughout the spectrum then selecting the optimum as shown below:

The SNR versus inter-bin energy is plotted in Fig. 1↓ for four tube voltages. This should be compared with Fig. 7 of the paper. Although the shapes of the curves are similar the numerical results differ somewhat because the software used to create the figures is not the same. This did not affect the overall conclusions in the following sections.

The N2Q SNR changes less with the inter-bin energy than the N2 value. Both of them show more variation as the tube voltage increases.

I used the optimal inter-bin energy in the calculations in the following sections since I want to show the best performance of each detector type. In an actual system with PHA detectors, the tube voltage would be fixed but the spectrum will change as the object thickness changes. Fig. 2↓ shows the variation in the inter-bin energy as a function of tube voltage and soft-tissue object thickness. Fig. 5↓ shows the SNR versus thickness with a fixed inter-bin energy. As expected, the SNR drops for thick and thin areas compared with the optimal energy case. This figure is not in the paper but is easy to compute using the code included with this post.

I also used this code to compute the SNR with the five detector types as a function of tube voltage in Fig. 3↓ and versus object thickness in Fig. 4↓. These should be compared with Figs. 9 and 10 of the paper.

added Apr 03, 2013

I will leave it to the reader to modify the code to re-create the figures for an adipose tissue feature. The SNR vs. tube voltage will then be similar to Fig. 11 of the paper. You will see that the results are nearly the same as with a bone material feature. This is due to the fact that the SNR depends on the difference in the attenuation coefficients of the two materials. Compton scattering depends on electron density, which is almost the same for all materials. Therefore the difference with any two materials has a photoelectric interaction energy dependence so the normalized results are nearly the same.

I have described code to reproduce some of the figures in my paper. Although the results differ somewhat in the numerical values the overall conclusions are the same. In general, the SNR divided by the ideal SNR decreases as the spectral width increases because more energy information is available. Nevertheless, the low resolution detectors and especially the N2Q detector can capture a large fraction of the available information. There are some gains with increasing resolution but they are not large.

Last edited Apr 03, 2013

Copyright © 2013 by Robert E. Alvarez

Linking is allowed but reposting or mirroring is expressly forbidden.