Checkpoint List


Positron Emission Tomography (PET) is a medical imaging technique which is commonly used to map out metabolic activity in the body. Typically, a $\beta^+$-emitting (positron-emitting) radionuclide (such as ${}^{18}\textrm{F}$) attached to a glucose molecule is injected into the body where it is taken up by tissues in proportion to their metabolic activity. Positrons produced by the decay of the radionuclide usually travel less than 1 mm in human tissue before they bind with an electron, and quickly annihilate. Most of the positron-electron annihilations result in the emission of a back-to-back pair of 511 keV photons. These photon pairs leave the body and can be detected. Areas of the body where there is high metabolic activity – such as cancer cells or active regions in the brain – will be more intense emitters of these 511 keV photon pairs. In a PET scanner, arrays of scintillator+PMT detectors are used to measure the intensity of this radiation along well defined planes (referred to as slices) passing through the patient's body. Tomography is the process of reconstructing a three-dimensional image of positron emission intensity from these slices.

In this experiment, you will use PET to create a two-dimensional image of a sample box containing several positron sources of unknown strength at unknown locations.

(source: Wikipedia)


1 Goals

In this experiment you will use positron emission tomography to identify the positions and relative intensities of two unknown positron emitters inside a sealed box. Specifically, your goals for this experiment include the following:

  • to understand the formation of positronium and the annihilation of electron-positron pairs;
  • to interpret the physical meaning of a one-dimensional coincidence scan
  • to understand how one-dimensional scans are combined into a two-dimensional image
  • to investigate what factors affect scan results, and the limitations of the results.
  • to use your knowledge of the method to locate areas of high positron emissions in an unknown sample, and estimate their relative intensity.

The last goal here represents a typical use case for PET scanning: a chemical called Fluorodeoxyglucose that contains Fluorine-18 is administered to a patient, which the body treats as regular glucose. Cells with rapid metabolisms (e.g. cancer) take in glucose much more rapidly than other tissues, and thus will end up with higher concentrations of beta-emitting ${}^{18}$F.

PET scans and other radioimaging techniques are often performed/overseen by medical physicists; for information on this career path look into the American Association of Physicists in Medicine or the University of Chicago Medical Physics Ph.D. Program. On another front, some relatively recent research has begun to look into PET imaging using Na22 laden nanoparticles. These have the upside of combining the (relatively) long 2.6 yr half-life of sodium-22 with the lesser bio-availability of nanoparticles. This both ensures that the radioactive material doesn't accumulate in the body and eliminates the need of on-site generation of radio-isotopes.

2 Prelab Research

To start out, you should do a bit of background research. Some suggested topics are the following:

  • What is a positron emission tomography (PET) scan?
    • What are they used for typically?
  • What is special about positron decay?
    • How do the gammas produced by a decaying positron differ from those produced by other forms of radioactive decay? 
    • What property do they have that is useful for distinguishing them from other gamma rays?
  • What sort of signals might we be looking for with our NaI+PMT detectors?
    • How can multiple PMT detectors be used to detect when a positron has decayed?
  • What energy of gamma rays will be be expecting from the decay of sodium-22 (Na-22)?
    • How picky will we be when looking for coincidences?
  • What will we do with the data we gather to create an image?

3 Positron emission tomography technique

3.1 Positronium

How are positrons produced and used?

The positron emitter that we will use in this experiment is sodium-22, which decays to an excited state of neon-22 by either electron capture or by positron emission. The neon later decays to its ground state by the emission of a 1.27 MeV gamma. (See Fig. 1.)

Figure 1: Nuclear decay scheme for sodium-22. (Source: C. Michael Lederer, Jack M. Hollander, and Isadore Perlman, Table of Isotopes, 6th Edition, John Wiley & Sons, 1967.)

The emitted positrons are slowed down and are captured by electrons in the source to form an electron-positron bound state called, a hydrogen-like “atom.” The ground state of positronium, which has a binding energy of 6.8 eV, has two possible configurations depending on the relative orientation of the electron and positron spins. The state with anti-parallel spins has net spin equal to 0, and is variously referred to as the singlet state, para-positronium, or, in spectroscopic notation, the state $1S^0$. This state decays into an even number of photons, with the most likely result being two back-to-back photons with equal energy and oppositely directed momentum. The state with parallel spins has net spin equal to 1, and is referred to as the triplet state, ortho-positronium, or the state $3S^1$. This state decays into odd numbers of photons, most commonly three.

For reasons having to do with the lifetime of the two states and with the likelihood of triplet states flipping into singlet states, the two photon decay is much more likely. Since the rest masses $m_0$ of the electron and positron are converted to energy in the annihilation process, each of the resulting two photons has energy $E = m_0c^2 = 511 \,\textrm{keV}$ , and are created simultaneously.

3.2 Positron emission tomography technique

How do we use positrons to get a signal?

The photon pairs which PET detects are produced in the following manner. (Letters correspond to features illustrated in Fig. 2.)

  • A positron emitting radionuclide decays. (a)
  • The emitted positron travels only a short distance (typically ~1 mm) through living tissue before it binds with an electron forming positronium. (b) Positronium is a bound state of a positron and an electron, analogous to a hydrogen atom. Positronium is unstable, with a lifetime less than $10^{-9}$s.
  • Although positronium has more than one decay mode, the most likely is a decay to two photons. Assuming that the positronium was at (or nearly at) rest when it decays, conservation of momentum and energy dictate that the two photons produced are emitted 180° apart and that each photon carries half of the total rest mass energy of the positronium (c). Since the rest mass energy of the positronium is just the sum of the rest masses of the electron and positron, each decay photon (gamma) has an energy of 511 keV.
  • At these energies, the gammas are very unlikely to interact before leaving the tissue and can be detected by a pair of detectors (NaI+PMT for our experiment) placed along the line defined by the trajectory of the decay gammas (d). This line is called the line of response, abbreviated LoR.

Figure 2: Schematic of PET technique

Medical imaging PET scanners utilize a large number of gamma-ray detector pairs, typically arrayed in an annulus to produce high resolution scans. (See Fig. 3.) The reconstruction of an image from these scanners is can be somewhat computationally intensive, requiring the use of Furthermore, processing all of the signals from such a ring of detectors would be daunting to someone just learning how this technique works.

Figure 3: PET scanner detector configuration. (Source: Wikipedia.)

For the purposes of our experiment, we will use a single detector pair to create a two-dimensional image of a sample containing two sources. This simplified technique allows us to clearly illustrate the basic principles of PET while making use of a very simple tomographic reconstruction algorithm. The downside is that we are effectively collecting our individual scans in series (having to do one angle at a time) rather than parallel (using dozens of detectors). Nevertheless, a medical PET scanner operates on the same set of principles which apply to our scaled-down setup. A schematic of our PET scanner with the single pair of NaI+PMT detectors, a sample container and a sample guide is shown in Fig. 4.

Figure 4: Left: A schematic of our simplified 2-detector PET scanner. Right: Our physical apparatus setup for the PET experiment

3.3 Image reconstruction

A good introduction to the basic techniques we'll use for processing data is this handout on Tomographic Image Reconstruction, from the 41st American Association of Physicists in Medicine conference. We will use what is essentially a discretized version of an unfiltered backprojection operation, but reading further on what other options exist may be interesting.

Between 5-11 minutes of the following video also do a decent job of introducing our basic tomographic reconstruction technique.

We're still working on adapting material from an old version of this lab, so more info may be forthcoming.

4 Experimental procedure

4.1 Apparatus and setup

Figure 9: Apparatus for measuring correlated pair-annihilation gammas.

A schematic of the apparatus is shown in Fig. 9. Individual components are described below. 

[A] PMTs

The NaI(Tl)+PMT detectors are mounted in carriages. One detector is fixed in position (defined a $\theta = 0^\circ$ ) and the other is free to move around a circular track but should be set to 180º, directly opposite the fixed PMT. Anode signals from the PMTs are connected to the Red Pitaya for signal processing.

[B] Red Pitaya

The Red Pitaya is a Field Programmable Gate Array (FPGA) that serves to process signals from the PMTs [A], send signals to control the motors via the Logic Level converter [C], and stop the motor at fixed positions determined by the Feedback Sensors [G]. We can access a Python program to let us interface with the Red Pitaya without needing sophisticated knowledge of its inner workings for now.

[D] Motor Driver

The motor driver acts both as a power supply for the motors as well as an interpreter for the incoming control signals from the Red Pitaya [B]. There are inputs that control the motor direction as well as one that will rotate a motor by a small angle for every individual pulse received from the Red Pitaya.

[E] Sample Platform

The clear acrylic disk will hold the sample that you are scanning for the various parts of this experiment. There is a motor beneath it that can rotate the sample, as well as a small brass flag that is used to ensure that the Feedback Sensors [G] are able to reset the platform to a consistent position.

[F] Linear Stage

This stage consists of another motor connected to a long worm gear, which holds the entire Sample Platform [E]. It translates the sample between the two detectors with better than mm precision thanks to the fine control from the Motor Driver [D].

[G] Feedback Sensors

There are three separate feedback sensors here: one photodetector that senses when the brass flag attached to Sample Platform [E] is aligned, and two switches that keep the linear stage from traveling too far in either direction. While the setup could operate without them, it would reliably resetting the position much more difficult to do.

4.1.5 Experimental procedure

The general process of doing a PET scan is the following:

  • Prepare a sample with positron emitters distributed throughout a space
  • Incrementally move the sample between a pair of scintillation detectors
    • Count the rate of coincidences at each increment
  • Rotate the sample and repeat

A single scan (moving of the sample between detectors) gives you essentially a 1d plot of coincidence rate versus position. By rotating the sample between scans, you gather information about the distribution of sources that could be obscured at some angles (e.g. if some of the sources are co-linear with the detectors they will show up as a single stronger source). By combining data from multiple scans using an algorithm we can reconstruct the spatial positions of the positron emitters without having to disturb the sample or have physical access to the interior. When the sample is, say, a person, they tend to appreciate not having their interior disturbed.

4.2 Controlling the apparatus

We have set up a motorized control stage and digital coincidence counting for this experiment using an instrument called a Red Pitaya. The Red Pitaya combines a Linux computer with a Field Programmable Gate Array (FPGA) and high-speed oscilloscope inputs in one package. One is currently monitoring the air quality on the international space station.

To control the device and gather data, we've developed a way for the Red Pitaya to take in a list of commands and run them in order. The commands are:

  • File
    • BaseFileName defines the save file prefix, a time/date will be appended to the end of the name.
  • ResetLateral
    • Moves the platform to the leftmost edge of the track
  • ResetRotation
    • Rotates the platform to a known $0^\circ$ position.
    • Only works after a lateral reset as the required sensor is on the far edge of the track
  • Move
    • Moves the platform a # of motor steps left or right
      • Dir is 0 for left and 1 (or anything else) for right
      • Dist is the # of motor steps
  • Rotate
    • Rotates the platform a # of motor steps clockwise or counter-clockwise
      • Dir is 0 for clockwise and 1 for counter-clockwise
      • Dist is the # of motor steps
        • 25600 motor steps correspond to one full rotation
  • Scan
    • Counts coincidences between detectors at the current position and saves to a file
      • Time is the time in seconds
  • LOOP
    • Performs a list of commands repeatedly
      • Times is the number of times to repeat
      • List is a list of commands to loop through
  • Threshold
    • Channel defines which input is being set
    • Kind may be either:
      • Lower for the voltage that needs to be exceeded to begin detection or
      • Upper for the voltage that needs to be exceeded for an input to be rejected
    • The values are from 0 to $2^{14}-1 (16383)$, which map to inputs of 1 to -1V

Don't worry, we don't expect you to be writing command lists from scratch. We've provided several to perform basic tasks, but it will be up to you to tweak the settings to do what you want.

To use these commands, you'll open up the FPGA PET Command Interpreter notebook linked on your computer's desktop.

Don't just run this notebook all at once, it needs you to input the file you'll use partway through.

4.2.1 Measurement of spatial resolution perpendicular to the LoR

In deciding how far apart to space one's measurements, several several factors need to be taken into consideration. Spreading out the scans too much will result in poor resolution of the location of the sources. More closely spaced scans will improve resolution, but at the cost of requiring more time to acquire the data as well as increased computing requirements. However an upper limit on how closely to space the scans can be set by measuring the spatial resolution of the detector system perpendicular to the LoR.

Your goal for this section is to use a single Na-22 button source translated orthogonally across the LoR as shown in Fig. 12, to determine the spatial resolution of the system.

Figure 12: Different source positions perpendicular to the LoR.

Use the linearscan.json file as a template for this part of the lab

We'll briefly go through the behavior of the command interpreter notebook here:

  • The top of the cell shows your current thresholds and offset settings, just to keep you aware of what you're using.
  • The 'Current' and 'Previous' command areas show what just finished running and what is happening at the moment.
  • Counts shows the number of coincidences that have been recorded in the active scan.
  • Scan Time shows a progress bar for the current scan (not the entire run).
  • Below all of these is a textbox that will show:
    • The estimated run time.
    • The recorded data after each individual collection run.
    • A link to the data file upon completion of the script.

Exercise: Determining 1d Spatial Resolution (5 points)

Your first task is to investigate the behavior of a single source passing through the detector.

  • Create a plot showing the coincidence count rate as a function of position for a single source passing between the detectors
    • From the plot, estimate the width of the distribution and what position corresponds to the center of the platform being directly between the detectors.

  • Test the sensitivity of the apparatus by choosing an experimental parameter to alter
    • This could be anything from moving the detectors closer/further apart, putting the source off-center, positioning detectors asymmetrically, tweaking the high voltage, etcetera.
    • Predict what effect altering the parameter might have.
    • Test what actually happens.
    • Reflect on how your prediction and results compare.

Exercise: Scripting Language (5 Points)

To demonstrate that you know the scripting language works, you are tasked with doing the following:

  • Move the platform between the two detectors
  • Rotate 10 degrees for each letter in your first name
  • Loop through the following once for each week of the quarter that has passed
    • Move backwards (towards the origin) one centimeter
    • Scan for 1 second

4.2.2 Two Source Spatial Resolution

After you've established how wide the signal distribution is from a single source, you should also empirically determine how close a pair of identical Na22 sources can be before the signal becomes indistinct from a single source.

- How close two sources can be before their signals are no longer distinct?

Again the linearscan.json file will serve as a basis for this part of the lab

Exercise: Two Source Resolution (5 Points)

  • Determine the two-source resolution of the detector setup
    • Specifically, we want you to determine how close together two sources of similar strength can be before the can't be easily distinguished from a single stronger source.

    • We don't have a particular method in mind, what is more important is that you justify your reasoning for your choice. Most reasonable choices can be interconverted.

4.3 Scanning a known configuration

Now that you've got a good idea of the limitations of the system, it's time to scan a known sample from multiple angles and use the data to try out our reconstruction techniques. Set up a configuration like the one shown below:

A system with 3 sources of intensity I1,I2,and I3. I1 is centered, whereas I2 and I3 are separated from it by some know distances d1 and d2.

The specifics aren't critical, but you should measure out the positions of the sources beforehand so that you can calibrate your data reconstruction. The resulting plot of intensities versus position and angle is known as a sinogram because of the tendency of point sources to form sine curves in this format

An example sinogram. There are three sources here, two with low activity and one with high activity.

Now you can use the Three.json file as a template for this part of the experiment

You will want to run at least two scans for the known configuration:

  1. One quick scan to test how the setup works.
  2. One overnight scan (between days 1 and 2) to get some high-resolution data.

You may use either one for the exercise, but be aware that you may want to work on the plotting between lab sessions. The notebook for reconstructing configurations can be found in the next section

Exercise: Interpreting known configurations (10 points)

  • Create a sinogram and 2d intensity plot from your known data
  • Demonstrate how information in the sinogram correlates to the intensity plot
  • Determine the position of the sources in the intensity plot
    • Compare this position to the configuration you used

4.4 Working with Unknown Samples

After you have a good idea of what parameters are needed to resolve our Na22 sources you'll move onto the core piece of the lab: scanning a sample with $\beta^+$ emitters in unknown locations. One such sample is shown below:

The unknown samples with the tops sealed. Note the mark that can be used to align the sample on the platter so you can reliably put it back in the same position from day to day.

It is suggested that you take a quick, low-resolution scan first to have some idea of what you're dealing with, and then to set up a longer scan to run overnight to capture fine details in the setup.

5 Analysis

To create a 2-dimensional image from your data, we've created a Python script that will do the basic reconstruction, which can be accessed here:

If you're moving some before starting your scan, the reconstruction algorithm will do some odd things. One possible fix is to add a new cell before the rotation operation with the following:

pad_amt = 7
new_size = len(shifted_data[0])+pad_amt
padded_data = np.zeros((len(shifted_data),new_size,new_size))
for index,item in enumerate(shifted_data):
    padded_data[index] = np.pad(item, (pad_amt,0))
fig,ax = plt.subplots()

and then change the rotation loop to for index, item in enumerate(padded_data):

You'll have to tweak the pad_amt manually until you get circles instead of rings.

There are instructions on how the code works and what it is doing at each step, and reading through it will be much more helpful than trying to run all of it at once.

You will be able to produce a few different sorts of plots with this code, and are free to modify it as needed.

Ultimately, you should identify the position of all sources within a sample as well as the relative intensities between them.

6 Challenge

For the last day of the lab, we have an optimization task for you. We have another unknown sample prepared for you to scan today. This time, you have the following constraints:

  1. You may only run one script to scan the sample.
  2. You may only use a total of 30 minutes (estimated) time for the scan
  3. You should locate the position of the strongest source to within 5mm
    1. If you can't, justify the precision you do have


Final Data Analysis

Summary of Apparatus Capabilities (25 pts)

You should write a short summary of the capabilities of the system used for this experiment. It should include:

  • Conversion factors for distance & angle (How many motor pulses per cm / degree)
  • 1D spatial resolution
  • Two-source resolution

You should include plots relevant to how you decided any of the above quantities.

Interpretation of Unknown Sample (25 pts)

Present your reconstruction & analysis of the unknown configuration. This should include:

  • The sinogram you used for your reconstruction
  • The reconstructed positions of sources, with axes scaled to the physical dimensions of the apparatus
  • Annotations or captions describing source placements & intensities

Challenge Task Summary (25 pts)

Describe your performance in the challenge task. This should entail:

  • Explaining your choices of scan parameters, and why you picked the values you did.
  • Presenting the reconstruction plot of the sources, with strongest source location indicated
  • Evaluating your performance
    • Did you accomplish the task?
    • If you had to repeat this, what would you change to get better and/or quicker results?