|
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.
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.
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
-
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!
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.
Last revised by: Robert Harrison
Revision date: 1 September 2019