aprendtech.com >> blog >> this post
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.

NQ detector SNR

In this post, I continue to discuss the results in my paperNear optimal energy selective x-ray imaging system performance with simple detectors[1].” The paper discusses fundamental limits on the signal to noise ratio of x-ray detectors with energy spectrum information. It also describes how we can design practical systems with low energy resolution detectors whose performance gets close to the optimal limit. The paper uses statistical detection theory to show that the performance depends on the signal to noise ratio (SNR) and derives a formula (see this post) to compute the SNR as a function of the detector spectral response and noise properties. In this post, I use the formulas for the NQ (simultaneous photon counts and integrated energy) detector data statistics from my last post to compute the SNR. We can use the formulas to show that the NQ signal (almost) always has a larger SNR than the N and Q individual signals. The SNRs are equal if the spectrum has zero-width. <edit 12/5/12 I edited the post to show that SNR2NQ ≥ SNR2NQ − independent>

SNR with NQ data

The general formula for the SNR for the simple imaging task used in my paper is (see Eq. 3 of this post)
(1) SNR2 =  δATC − 1AδA = δATMTC − 1LMδA.
In (1↑), δA is the difference in the A-vector between the region with the feature and the background region, the elements of the M matrix are the effective values of the basis functions in the detector energy spectra, and CL is the covariance of the logarithm of the detector data. In my last post, I showed that for the NQ detector this is
(2) CL = cov(log(N), log(Q)) = (1)/(λ) 1 1 1 F
where λis the expected value of the photons counts and F = E2E2 is the excess variance factor.

SNR with N and Q individually

First, I will derive the SNR for the individual detector signals, the photon counts and the total energy. We can compare these to the SNR with the complete data. With individual signals, the covariance matrix is a scalar and is equal to the appropriate diagonal element of (2↑). Let’s use the photon counts as the first example. From (2↑), the covariance (actually variance) for the counts only is CL, N = 2λ. The factor of 2 is due to the definition of the imaging task. The task assumes there are two measurements so λ ⁄ 2 is the average photons per measurement. The M matrix for the photon count signal, MN is the row vector
(3) MN = [ MN1 MN2 ]
where the effective values are
(4) MNk = (μk(E)S(E)e − A1μ1(E) − A2μ2(E)dE)/(S(E)e − A1μ1(E) − A2μ2(E)dE) = μkN,  k = 1, 2
and μk(E),  k = 1, 2 are the basis functions. The difference vector is
(5) δA = tf 1  − 1
where tf is the thickness of the feature.
Substituting these in the general formula for the SNR (1↑) and carrying out the matrix multiplications (in the code package I provide a maxima script d2convN.max that verifies the formula)
(6) SNR2N = (λt2f)/(2)(MN1 − MN2)2
From (4↑) MN1 − MN2 = μ1 − μ2N = δμN so we can also write the SNR as
(7) SNR2N = (λt2f)/(2)δμ2N
The SNR for the Q signal can be derived similarly. From (2↑) the variance of logQ for the imaging task is CL, Q = 2Fλ. The M matrix is MQ = [ MQ1 MQ2 ] where
MQk = (μk(E)ES(E)e − A1μ1(E) − A2μ2(E)dE)/(ES(E)e − A1μ1(E) − A2μ2(E)dE) = μkQ,  k = 1, 2
carrying out the matrix multiplications,
(8) SNR2Q = (λt2f)/(2F)δμ2Q.
Comparing the two SNR formulas, we note that F ≥ 1 and since the energy spectrum is shifted towards higher energy than the photon number spectrum and for ordinary body material attenuation coefficients without K-edges in the energy region of interest, μ(E) is monotonically decreasing, both factors of SNR2Q are smaller than those of SNR2N and
(9) SNR2N ≥ SNR2Q
The equality in (9↑) only occurs with a zero-width spectrum (also called monoenergetic) where there is no energy spectrum information.

SNR with NQ data

With the full NQ data, we can use the covariance in (2↑) after substituting λ → λ ⁄ 2. The M matrix is
(10) MNQ =  MN1 MN2 MQ1 MQ2
Substituting in the general SNR formula (1↑) we can show after quite a bit of algebra (see the Maxima script d2NQ.max in the listing below)
(11) SNR2NQ = (λt2f)/(2)δμ2N + ((δμN − δμQ)2)/(F − 1).
2  d2NQ.max
3  Maxima batch file to derive d^2 for NQ detector
4  to invoke copy and paste into Maxima:
5  batch("G:\\Projects\\Blog\\Posts\\P31D2nq2\\code\\d2convNQ.max")$
6  REA 6/13-10/23/09 Added N and Q independent
10"the M matrix with general coeffs"$
12"The delta_A vector for basis materials feature and background"$
14"The 2 spectrum log(NQ) covariance matrix, f=<E^2>/<E>^2: Note F>1"$
17"The inverse of the A covariance matrix"$
19"The  SNR^2"$
21" d2 in terms of dn and dq"$
24d2:lambda*(dn^2 + (dn-dq)^2/(f-1))$
26" d^2 USING N and Q independent"$
29"The inverse of the A covariance matrix"$
31"The  SNR^2"$
33d2i: lambda*(dn^2 +dq^2/f)/2$
The d2mQ.max script defines the M, δA, and CL matrices in lines 11-15. The general SNR formula (1↑) is implemented in line 20. I attempted to simplify it using the ratsimp function but the result is still quite complex. One way to proceed is to copy the numerator and apply the ratsimp function again. After playing around with it, I came up with the formula in line 24, which is the same as Eq. 11↑. I verified that the formula is correct in line 25, which subtracts the simplified from the original formula. When you run the script, you will see that the result is zero. That is, the formulas are the same. Lines 26 to 34 evaluate the formulas with independent N and Q measurements, which will be discussed in the next section.
Comparing (11↑) with the N-only SNR (7↑)
(12) SNR2NQ = SNR2N + (λt2f)/(2)((δμN − δμQ)2)/(F − 1)
Since the second term is always greater than or equal to zero, we can combine this with the comparison of N and Q SNR (9↑) to show that
(13) SNR2NQ ≥ SNR2N ≥ SNR2Q
Again, the equals condition only occurs with a zero-width spectrum.

SNR with NQ measured at different times

As an interesting aside, suppose we measure the N and Q signals at different times instead of simultaneously. In that case, the signals are statistically independent so the covariance is
(14) CL, independent = (4)/(λ) 1 0 0 F .
The factor of 4 is necessary since we make 4 measurements, two in the feature and two in the background regions. The number of photons per measurement is then λ4. The M matrix is the same as for the NQ detector (10↑) so we can substitute in the general formula for the SNR (1↑) and carrying out the algebra (the d2NQ.max maxima script also does this case in lines 26 to 34),
(15) SNR2NQ − independent  =  (λt2f)/(4)δμ2N + (δμ2Q)/(F).  =  (1)/(2)(SNR2N + SNR2Q)
Comparing the independent with the simultaneous NQ SNR (12↑), it is not clear which has a larger SNR. In general (1)/(F) < (1)/(F − 1) but δμ2Q > (δμN − δμQ)2. The second inequality follows because δμN and δμQ will either both be positive or both negative. We can evaluate the formulas numerically for a particular case.
edit: From Eq. 9↑, SNR2NQ − independent ≤ SNR2N. Therefore, from Eq. 13↑,
SNR2NQ ≥ SNR2N ≥ SNR2NQ − independent.


The formulas derived in this post can also be compared at least numerically to the SNR with a pulse height analysis detector that I derived in a previous post and also to the ideal Tapiovaara-Wagner SNR. I will describe this computation in a future post.

—Bob Alvarez

Last editedDec 06, 2012
© 2012 by Aprend Technology and Robert E. Alvarez
Linking is allowed but reposting or mirroring is expressly forbidden.


[1] Robert E. Alvarez: “Near optimal energy selective x-ray imaging system performance with simple detectors”, Med. Phys., pp. 822—841, 2010.