Print View

NERS/BIOE 580
Lab07 - Detector Module A

Purpose:

In the previous modules, the x-ray spectrum emerging from an x-ray tube and the attenuation of the spectrum caused by tube filtration and by the object being imaged were investigated. We now consider how radiation incident on the imaging detector is converted to a recorded signal with noise.

In this module, we consider an ideal detector that records all of the energy for every x-ray impinging on the surface of the imaging device. The signal and noise are computed and expressed as the noise equivalent fluence (NEF). For particular spectra, the NEF is normalized to the radiation exposure, NEF/mR.

NOTE: The literature generally uses the term Noise Equivalent Quanta or NEQ. This is understood to be equivalent to Noise Equivalent Fluence or NEF. In the xSpect documentation, NEQ and NEF are used interchangeably.

Discussion:

For a monoenergetic spectrum of radiation, the detected signal and noise can be simply described by the number of detected quanta. For polyenergetic spectra, If the detected x-rays are counted the signal is simply the total detected quanta. If the detector integrates the energy of each quanta, then the signal is the sum of the deposited energy of each detected quanta. This sum is equivalent to the integral of the x-ray spectrum times the mean energy absorbed as a function of the input x-ray energy. Similarly the noise is either the square root of the total detected quanta for a counting detector. For an integrating detector, the noise is given by the square root of the sum of the squared deposited energy of each detected quanta for. This is equivalent to the square root of the integral of the x-ray spectrum times the square of the mean energy deposited as a function of input x-ray energy.

For a detector which counts detected quanta, the detected signal and noise will be the same for a broad spectrum of radiation and for a monoenergetic spectrum. However, radiographic devices which count photons are difficult to build because the incident radiation flux is normally high. Thus, the large majority of radiographic imaging detectors integrate the energy deposited in the detector from the incident radiation beam.

An ideal energy integrating detector can be defined as a device which detects all incident radiation quanta and records the total energy of each detected quanta. To be an ideal detector it is important that all of the energy be recorded all of the time. For an ideal detector the signal can be expressed as the first moment of the energy spectrum, i.e. the integral of energy times the energy spectrum. The noise2 can be expressed as the second moment of the energy spectrum, i.e. the integral of energy2 times the energy spectrum.

These relationships can be used to compute the signal to noise ratio, SNR, for an ideal detector recording a particular radiation beam. This can then be used as a basis to compute the detective quantum efficiency, (SNR_actual)2/(SNR_ideal)2, of actual detector systems with imperfect performance.


Task Det-A1: Detection of monoenergetic radiation

First read the documentation file for detect. in $XSPECT_DIR/_xspect3.5/_doc. You will see that the computation of a detector's response requires a file in the _detectors directory($XSPECT_DIR/_detectors) with information describing the signal absorption efficiency and the noise transfer efficiency.

Review one of the detector files in the _detectors directory. Data from these files is interpolated as necessary for the spectral energies needed in a particular computation. In this lab, we will use the 'ideal.det' detector file for which the signal and noise efficiencies are 1.0 at all energies.

In the _detectors directory, there is a spectra.tmp file for a monoenergetic spectrum with 10,000 photons/(mAs-cm2-keV) at an energy of 40 keV, i.e.:

  • # spect_gen: 74 13.000 1 50.00
  • # 50 1.0000 50.0000
  • # 1 2 (unit flags)
  • # Energy #/mAs-cm^2-keV
  •     1.0000     0.0000E+00
  •     2.0000     0.0000E+00
  •     3.0000     0.0000E+00
  •     4.0000     0.0000E+00
  •     ...
  •     ...
  •     38.000     0.0000E+00
  •     39.000     0.0000E+00
  •     40.000     1.0000E+04
  •     41.000     0.0000E+00
  •     42.000     0.0000E+00
  •     ...
  •     ...
  •     47.000     0.0000E+00
  •     48.000     0.0000E+00
  •     49.000     0.0000E+00
  •     50.000     0.0000E+00
  • # Attenuation History:
  • # 0

Make a copy of this spectra.tmp file and place it a working folder for this lab, Lab07. Then edit the file to change the photon fluence at 40 keV from 1.0000E+04 to 0.0000E+00 and the photon fluence at 1 keV from 0.0000E+00 to 1.0000E+04. This now describes a monoenergetic spectrum with 10,000 photons/(mAs-cm2-keV) at an energy of 1 keV.

NOTE: The xspect routines are particular about the format of the data in the spectra.tmp files including the spacing of parameters. This spacing is not retained in the browser example above. When editing an existing spectra.tmp file, maintain the column positions of the parameters.

Next, put a copy of the link.tcl script in this folder and start the xspect interactive command window by executing link.tcl. The link.tcl script should include the 'console show' command. Then run the detect procedure at the command prompt to compute the signal, noise, and NEF. Use an input area of 1 and an mas of 1 and set the print flag argument to 1

detect ideal.det 1 1 1
Note: see the argument documentation in detect.tsp ($XSPECT_DIR/_xspect3.5/_tcl/detect.tsp).

As expected, the signal is reported as 10,000 keV and the signal to noise as 100 (i.e. the square root of Q = 10,000).

Now change the spectrum to add 1,000 photons at an energy of 10 keV in addition to the 10,000 photons at 1 keV, i.e.

  •     ...
  •     ...
  • 9.0000     0.0000E+00
  • 10.000     1.0000E+03
  • 11.000     0.0000E+00
  •     ...
  •     ...
and run the detect procedure again. Observe how the signal is doubled, as expected since there are 1/10th as many photons at 10 keV relative to the fluence at 1 keV. With 10 times the energy per photon at 1 kev relative to 10 keV, the contribution to the signal is equal for both spectral components. However, the noise is larger and the signal to noise is significantly reduced. The small number of photons at higher energy contributes proportionately more to the noise.

Task Det-A2: Ideal response to a broad spectrum.

As we have done before, make a copy of the labHeader.tcl file that was introduced in Lab05 and rename it for use on this lab, i.e. something like lab07.tcl. Using the outline below as a guide, build a model for a system using procedure calls;

  • spectGen
    • start with 120 kVp tungsten
  • atten
    • account for the tube filtration and 21 mm thick added aluminum
      • oil     .3
      • glass_pyrex     .148
      • al_1100     .25
      • al_1100     2.10
  • sr2cm
    • change units to a distance of 100cm
  • mR
    • set the exposure to a variable
  • detect
    • set the NEF of an ideal detector to a variable
For detect, use a detector area of .01 to convert the units from ../cm2 to ../mm2, set the mas to 1.0, and set the print flag off (i.e. 0).

In a manner similar to what we have previously done, the exposure result can easily be assigned to a variable by getting the third field return by the mR procedure;

  • set mR [lindex [mR] 2]
The NEF result can be similarly obtained using;
  • set NEF [lindex [detect ideal.det 1.0 0.01 0] 3]

Note1: For the above `lindex' commands the second argument, 2 or 3, indicates that the command is to return the 3rd or the 4th word in the list. (i.e. the tcl word list starts with an index of 0 for the first word.)

Note2: For the above command to obtain the the NEF, the last argument to detect is set to 0 to suppress outputing the label line.

To test this script, temporarily add 'puts ..' commands at the end to output the mR and NEF variables to the console window. Run this script to confirm that reasonablbe values are being computed for the exposure and the detector response.

Task Det-A3: NEF normalized to mR as a function of kVp.

When performing experimental measurements of DQE, it is necessary to establish the NEF for an ideal detector as a reference for the observed NEF. One way to do this is to build a model for the system being studied as we have done before. The intrinsic and added filtration can then be adjusted if necessary to obtain agreement with experimentally measured half value layer data. If we then compute NEF/mR, the ideal NEF can be estimated using an experimentally measured value for the exposure, mR.

Using the script for the system model above, add an appropriate shell loop to compute NEF and mR as a function of kVp. An appropriate construction would surround the body of the script above with;

  •     ...
  • set minKV 50
  • set maxKV 150
  • set Incr 10
  • set kVp $minKV
  • set fileID [open neq.txt w+] ;#open a file
  • puts         "# kVp mR NEF NEF/mR Quanta/mR"
  • puts $fileID "# kVp mR NEF NEF/mR Quanta/mR"
  • while {$kVp <= $maxKV} {
  •     ...
  •     script (Task Det-A2 above)
  •     ...
  •     puts         " $kVp $mR $NEF"
  •     puts $fileID " $kVp $mR $NEF"
  •     incr kVp $Incr
  • }
  • close $fileID

Within the script enter the kVp value to spect_gen as $kVp. At the end of each iteration, the kVp is incremented and the results are printed out assuming that the NEF and mR results have been captured as variables. The results are put to the console window in addition to being written to the output file.

Now edit this script to also obtain the ratio of NEF to mR and output this result to a file. Effective formatting of the results can be achieved with the following command;

  • puts $fileID [format "%3u %10.3f %10.2E %10.2E " \
  •               $kVp $mR $NEF [expr $NEF/$mR] ]
This computes the NEF/mR ratio within the output command and uses formating instruction for fixed (f) or exponent (E) numbers with specified field widths before and after the decimal.

Using gnuplot, plot NEF/mR versus kVp for kVp values varying from 50 to 150 in steps of 10. As we have done before you may want to generate the plot from within the script.

Discussion:

You will notice that NEF/mR varies slowly with kVp. While the number of quanta per mas increases with kVp because of the improved x-ray production efficiency, the mR per mas also increases. The weak dependence on kVp makes this an effective method for experimental measurements. Notably, the 21 mm of aluminum used as added filtration in this laboratory is the same as that specified in an international standard (IEC 61267) for the RQA5 standard beam condition. RQA5 uses a nominal 70 kVp, but kVp is adjusted to achieve a spectrum with an aluminum half value layer of 7.1 mm. Typically, this is achieved with a kVp of 72 to 78.

The x-ray energy spectrum exiting the 21 mm aluminum filtration is intended to emulate the spectral shape of a thick tissue object. Using the script written for this laboratory, you can easily verify that NEF/mR and Q/mR are similar with muscle attenuation. Change the added filtration material to 'muscleNBS' with a thicknesses of 25 cm and rerun the script. Use different file names for the results data obtained for Aluminum and for muscle (i.e. L07-Det-A_21mmAl.txt and L07-Det-A_Muscle.txt) Plot the results from the two data files so that NEF/mR is shown for both 21 mm Al and 25 cm muscle.

It is also of interest to compute the ideal SNR as the total number of quanta in the spectra which would be appropriate if a counting detector were used. Add a line in this script to compute the total number of quanta in the spectra per mR, #Q/mR, using the intSpect tcl procedure within the body of the script. This procedure returns the number of quanta as the first element and the units as a second elements. Then add an additional column of data to the output file, neq.txt, using [expr $Quanta/$mR/100.0] to obtain similar units of ../mm2. Run this for both 21 mm Al and 25 cm muscle and updated the two results files (L07-Det-A_21mmAl.txt and L07-Det-A_Muscle.txt) Now generatae a plot with four curves showing both NEF/mR and Q/mR for both 21 mm Al and 25 cm muscle. Be sure and use appropriate legends for each of the four curves by using the title argument in the gnuplot plot command. Also add an appropriate title at the top of the plot. (save this as L07-Det_idealSNR.png)


Lab07 Results:

For this module, turn in the final script producing both NEF/mR and total quanta/mR for either 21 mm Al or 25 cm muscle. Also turn in the two results data files and the final plot with the four curves.

  • L07-Det-A.tcl : final tcl script for this lab (NEF/mR & Q/mR, 21 mm Al or muscle).
  • L07-Det-A_21mmAl.txt : Five column result data file for 21 mm Al.
  • L07-Det-A_Muscle.txt : Five column result data file for 25 cm muscle.
  • L07-Det_idealSNR.png : Plot with NEF/mR & Q/mR for 21 mm Al & 25 cm muscle.

L07_Det-A3 Reference script: L07_Det-A3

A similar script can easily be assembled for a Molybdenum target x-ray tube that computes NEQ/mr and Q/mR over the energy range from 24 to 34 kVp with either a breast tissue equivalent material (BR12) or an aluminum object.

See Lab07_Det-A3_moly.

Next:

The next module is 08-Detector-B.