Division of Nuclear Medicine

SimSET Resources :
List Mode Data Library

[News] [Installation guide] [User guide] [Programmers' info] [Resources] [Contacts]


Contents

 

Introduction

This library contains list mode files, both phantom and patient data, with their associated DICOM CT files. These files can be re-binnned based on variables like energy window, time per view (≤ actual time per view in the original data), and sinogram matrix size. This allows evaluation of image reconstructions and other data handling options with standard sets of data.

The phantom studies include ACR phantoms with and without additional layers of scattering material, hot spheres in a warm bath, and unique UW designed lung phantoms. The patient data sets include samples of bone scans, DatScans, GI Bleed, Heart PY, Lung Perfusion, Lung Ventilation and Perfusion, Lymph node, MAA mapping, Parathyroid, TCS, Thallium, and Y90 scans. The studies were collected on two SPECT/CT systems – Philips Precedence and a GE D670. This presents a complication for the library as vendors have different data formats for list mode files. In addition, some of the information in the list mode headers maybe considered proprietary. As a result, we developed our own format for such files to purge them of any possible patient identification and strip them down to the basics required for typical image reconstructions.  Each study in the library consists of three files.  One is the DICOM export of the associated CT data set (also purged of patient information). The second is a text file that describes details about the SPECT list mode file. The third is a binary file with the SPECT list mode data.


Text Description file format

Each of the list mode files in the library has an associated text description file that describes its contents. The entries in this file are all of the form /key/value.   All entries are in ASCII text.  Not all entries need be included in all studies.  For example, if only one isotope is imaged, then the key pair /Isotope2/second isotope is not included in the file.  Another example is the number of energy windows used.  In both of these examples, the intent to allow any number of isotopes or energies, we just impose the the list be sequential as Energy1, Energy2, Energy3, Energy4,…    The allowed entries with an example are:

Field
Sample entry
/StudyType/type of study /Study/phantom
/StudyName/study name /20 cm circular phantom
/CT/name of CT DICOM file /CT/CTimage.dcm
/SpectFile/file name /SpectFile/phantom_1.data
/Vendor/name of vendor
/Vendor/GE
/Model/vendor system model
/Model/670-16
/Collimator/collimator model /Collimator/HR
/Isotope1/isotope used /Isotope1/Tc99
/Isotope2/second isotope /Isotope2/In
... (/Isotope3, etc., can be included as required)

/Energy1/lower,upper window /Energy1/120,150
/Energy2/lower,upper window /Energy2/110,120
/Energy3/lower,upper window /Energy3/150,160
... (/Energy4, etc., can be included as required)
/CorrectionsInWindow/type,type /Corrections/linearity, energy, sensitivity
/CorrectionsOutOfWindow/type /CorrectionsOutOfWindow/energy
/gantryPositionsPerHead /gantryPositionsPerHead/64
/angleRangePerHead
/angleRangePerHead/32
/timePerStopInSeconds /timePerStopInSeconds/20
/XScale/mm per pixel /XScale/0.5
/YScale/mm per pixel
/YScale/0.5
/ZoomCenter/x,y in mm /ZoomCenter/10.0,-10.0
/Mode/head anguar separation
/Mode/180
   
Examples of text description files can be found in the list mode library below.

 

Binary list mode file format

The binary files are made up of three different types of records - time stamps, movements, and events - each with different length and formatting. Thus a byte before each record gives the type of the following record. The following table gives the format of each piece of data in the list mode files.
Parameter
Number type
Allowed values
Unit
Record type
Byte
0xF0 for time stamp
0xF1 for movement
0xF2 for event
-
Time stamp record



Time stamp
32-bit unsigned integer
≥ 0
milliseconds
Movement record



Rotation position
32-bit unsigned integer ≥ 0
0.001 degrees
Head1 radial position
32-bit unsigned integer ≥ 0
0.001 mm
Head2 radial position
32-bit unsigned integer ≥ 0
0.001 mm
Table linear position
32-bit unsigned integer ≥ 0
0.001 mm
Event record



Energy (uncorrected)
16-bit unsigned integer ≥ 0
1/32 keV
Energy (corrected)
16-bit unsigned integer ≥ 0
1/32 keV
Detector head number
Byte
0x00 or 0x01
-
Event weight (uniformity correction)
16-bit unsigned integer ≥ 0
0.001
x position (pixel) relative to detector center
16-bit signed integer integer
-
y position (pixel) relative to detector center 16-bit signed integer integer
-

 

List mode file library

This section is currently under construction: we are currently validating our list mode files and the tools we use to process them. Look for more in a few days, we're in the process of validating the first list mode files!
http://depts.washington.edu/simset/downloads/listmode_library/.


 

Comments on tools for handling list mode libraries

Users will need to create their own tools for handling the list mode files. The tools will be application-specific and depend on the systems / software you are using. To date we have developed tools to reintroduce the list mode data, or sinogram data binned from the list mode data, back into the manufacturers' image reconstruction processing stream. This will allow us to test our own data correction and image reconstruction algorithms (e.g., scatter correction) against the manufacturers' software. We are making some of our tools, written for Matlab, available as examples of how to access the data.

http://depts.washington.edu/simset/downloads/listmode_library/tools/.


We plan to supplement this section with more details as our own research progresses.

 

[top of page]

 

Last revised by: Robert Harrison
Revision date: 1 September 2019