|TIRIUS - Tomographic Image Reconstruction Interface
of the Université de Sherbrooke
page present a quick introduction of the main functionnalities of the
TIRIUS software. This page is not intended to be used as a user guide
developing guide, please consult the Documentation
section for such
information. We suggest reading the user manual before using
the TIRIUS software... especially for the first release which is not
very fail proof if commands are performed in an unexpected manner. On
hand, we believe that reading this page will help you identify
if TIRIUS could answered your needs and become a
valuable tools for your researchs.
Tomographic Image Reconstruction Interface of the Université de
Sherbrooke (TIRIUS) is a user-interface software for
reconstructing 3D images from projection data acquired with real apparatus
and/or with imaging system being modeled and simulated with
simulator. This software is written in C/C++ object-oriented
language. In that respect, different aspects of the software like
reading real or
simulated projection data (sinogram), reading
and/or computing system matrices, reconstructing images using different
algorithms, loading, saving and processing images are handled
by different objects. Moreover,
the software was designed to facilitate the inclusion/excusion of new
image reconstruction algorithm objects and/or to new
object for reading acquisition data coming from different imaging
apparatus and eventually, data coming from
other imaging modalities like
SPECT and CT.
The TIRIUS user-interface was created with the Qt librairies which allow the program to be compile and run under Windows and Linux environments. The TIRIUS software can also be run as a console application (without the user-interface) by making direct calls to functions of the different algorithm objects.
The user-interface is composed of four main windows:
TIRIUS window is the main interface which allows to control most aspects
of the image reconstruction procedure. This window, which is shown in Figure 1, is composed of three main
Figure 1. Print screen and feature summary of the TIRIUS main window.
The first step consists of selecting the desired image reconstruction algorithm. One can then load a given projection data set (sinogram) and load the precomputed 3D system matrix model which correspond to the camera used to acquired the said projection data and which is also compatible with the selected image reconstruction algorithm. Both the system matrix and the projection data must be stored into a predefined file format in order to be read correctly by the TIRIUS software. All aspects relative to these file format are described in the Documentation section. Complementary tools have been integrated in the TIRIUS software to read acquisition data (in list mode or in sinogram format) measured by different imaging system and to convert them into a sinogram format suitable for TIRIUS (see Projection Data Converter section). Other tools are also available for computing 3D system matrix models for a different camera configurations and for saving this information into a file format that can be read by TIRIUS (see the System Matrix Model section).
While most iterative image reconstruction methods implemented in TIRIUS are based on precomputed system matrix, it is also possible to integrate in TIRIUS some iterative methods relying on system matrix that are computed on-the-flag during the image reconstruction process in order to minimize the memory requirements.
An important aspect of the TIRIUS software is that new algorithm class objects can be added and easily integrated in the TIRIUS software without having to care about modifying the source code relating to the user-interface. The only constraints consist of respecting the format of some "public" functions and to derive the object from a common algorithm class. In other words, the object "shell" must be respected to allow right interfacing with the TIRIUS software. Once this is respected, one can add or withdraw easily an algorithm class from TIRIUS by changing only one line of code in a common header file. Moreover, all algorithm parameters can be set by the user through the TIRIUS interface in two different ways: 1) selection between a list of options or 2) a floating point or integer value to set.
Frame Selector window is useful only when the projection data have been
divided into different acquisition frames. The frame division can be
time frames, bed
gated signal frames and clam double sampling frames. Accordingly, when
loading a projection data set only containing one frame, all
options for selecting the frame to reconstruct in the Frame Selector
window are disable and can not be modified. A print screen image of the Frame Selector window is shown in Figure 2.
Figure 2. Print screen and feature summary of the Frame Selector window.
For multi-frame acquisitions, one can decide which frame to reconstruct and to display on one of the four image Viewers. One can also decide to reconstruct some or all of the projection data frames and to save the reconstructed images directly into a given file format.
Another functionality of the Frame Selector window consists of selecting which corrections should be used during the image reconstruction procedure. The corrections are usually integrated directly in the image reconstruction procedure instead of being applied directly to the projection data in a precomputation step. For Positron Emission Tomography (PET), correction can be applied for random coincidences, scattered coincidences, detector efficiency and/or for object attenuation. All theses options are however not always available. For example, when no information on the object attenuation have been saved into the sinogram file that is load with TIRIUS, the object attenuation correction option is disable and could not be used for the image reconstruction procedure.
|The Image Viewer window is used to display the 3D
reconstructed image. Up to four Image Viewers can be active at a time
and display different images. A print screen image of one of these Viewers is shown in Figure 3.
Figure 3. Print screen and feature summary of the Frame Selector window.
Since the viewer can only display 2D images, a slide bar is used to select which slice of the 3D image to display. The viewer also allows to rescale the reconstructed image with pixel duplication or with pixel interpolation. One can also adjust the image contrast using slide bars. The reconstructed image can be saved or loaded using different image formats (raw image, text, jpg, bmp, png in current release).
In fact, the Image Viewer allows very few options for processing and adjusting the color, brightness and contrast of the reconstructed image. It is not in our short term plans to add much more functionality in the next releases since a lot of more powerful and well-designed image processing and viewer software are freely available on the web. Some of them can also display image in three dimensions. Accordingly, we concentrate more on adding more input/output image format support in TIRIUS so that the user can save the reconstructed images and process them in his favourite viewer program.
In future release of the software, we plan on using the Xmedcon library to add more input/output image format support. Adding support for the DICOM image format is one of our priorities.
|The Projection Data Converter window is used to
convert projection data (list mode acquisition or sinogram data)
suitable sinogram format that can be read by the TIRIUS software and
use for the image reconstruction procedure. This interface is
controlling two independent programs that were integrated
1) Program for reading acquisition from real imaging system
2) Program for reading data generated by the GATE Monte Carlo simulator
The design of both the program for handling real apparatus data and GATE simulated data have been done to facilitate the inclusion/exclusion of new object for supporting new camera model.
In order to control both of these programs, the Projection Data Converter window was divided in three different interface pages. The first page allows controlling the first program which handles the reading of acquisition files generated by real apparatus. The second page allow to control the second program which handle the reading of simulated data (ASCII files) produced by the GATE simulator. The last page is shared by both program (depending on which one is active) and allow to control which information should be saved in the sinogram output format that is compatible with TIRIUS (i.e. prompts, randoms, scatters, normalization factor, object attenuation factor, etc..). A print screen image of the List Mode Data page, the GATE Data page and the Sinogram page of the Projection Data Converter window are shown respectively in Figure 4, Figure 5 and Figure 6.
Figure 4. Print screen and feature summary of the List Mode Data page of the Projection Data Converter window.
Figure 5. Print screen and feature summary of the GATE Data page of the Projection Data Converter window.
Figure 6. Print screen and feature summary of the Sinogram page of the Projection Data Converter window.
|For all the iterative image reconstruction methods currently
implemented in TIRIUS, one need to load a precomputed system matrix
corresponding (optimized) to the scanner used to acquired the
projection data we want to reconstruct. While some iterative image
reconstruction algorithms are computing the system matrix on-the-flag
during the image reconstruction, no such algorithms are currently
available in TIRIUS.
In order to reconstruct high quality images, we strongly recommend that you generate your own system matrix model for your camera using some analytical methods, Monte Carlo simulation methods or some other methods. From then, you can use the cMatrixMLEM class to save your system matrix in a format that will be compatible with TIRIUS.
However, if you don't have any program to generate your system matrix, it is possible to generate a matrix model of your system with a low accuracy method implemented in TIRIUS. This method estimates the tube of response function by a infinite thin line joining the two coincident detectors. Another solution would be to use the Software Tomographic Image Reconstruction (STIR) to generate your system matrix, maybe the model of your scanner is already integrated in this software.
For our own research we use an analytical method to generate a system matrix and we have use recently also some Monte Carlo method. For your convenience, an analytical matrix generated for the 2-ring Sherbrooke Animal PET scanner for a 4x64x64 image is available in the Download area. Some "real" projection data acquired with this apparatus are also available in the Download area. The system matrix for the 16-ring version of the Sherbrooke Animal PET scanner (or for a higher resolution 8x128x128 image) is not available on this page due to the size of such matrices.
|As mentioned previously in the Projection Data Converter
section, some functionalities in TIRIUS allow converting projection
data generated by the GATE Monte Carlo simulator into a sinogram format
that can be used by TIRIUS. In order to enable the TIRIUS users to
explore these functionalities without having to design their own GATE
camera model, we have supplied (in the Download section) a GATE camera
model of the 2-ring and of the 16-ring version of the Sherbrooke Animal
PET scanner. These GATE camera model are relatively simple since they
do not model all aspects of our scanner (e.i. dead time, noise,
etc...) but they are accurate enough to generate projection data.
Moreover, we provide an analytical matrix for the 2-ring Sherbrooke
Animal PET scanner for a 4x64x64 image that is available in the
Download area. See the System Matrix section for more information on
|GATE Monte Carlo simulation software:
The GATE simulator is an open-source project which allow to perform Monte Carlo simulation of imaging systems mainly for Positron Emission Tomography (PET) and for Single Photon Emission Computed Tomography (SPECT). I heard that simulation for Computed Tomography (CT), while possible in the current release, will be facilitate in the next release of GATE.
Software for Tomographic Image Reconstruction (STIR):
The STIR software is a very nice open-source project which also includes some functionnalities for loading projection data acquired with the GATE Monte Carlo simulator. Moreover, many objects have been created for loading projection data (sinogram and list mode) acquired with different commercial imaging systems. System matrices can also be computed for these systems. Well, for some of you the STIR software may answer your needs more than the TIRIUS software can. For "mouse click" addicted, the disadvantage of STIR may be that it has no user-interface. In theory, it could be possible to integrate some part of the STIR software in the TIRIUS user-interface creating new algorithm objects that access the STIR functions through a DLL. This could be considered in a future release of TIRIUS.
3D Image Viewer:
For the current release of TIRIUS, the user-interface can not display a three-dimensional view of the reconstructed image and only basic functions have been implemented to rescale or adjust the contrast of the image. However, the reconstructed image can be saved in different format and reloaded using some 3D image viewer program. Here are some of these that can are freely available on the web:
XMedCon: Very useful for converting the image in different formats including the DICOM format.
ImageJ: A lot of image processing functions (mainly for 2D image display).
Amide: Nice program which is easy to use and support many image input formats.
Slicer: Interesting way of displaying 3D images.
MicroView: Looks like Slicer, very user-friendly.
|On this page
|Projection data converter|
|System matrix model|
|Monte Carlo simulation|