LogoUSherbrookesource forge logo   Home     
CuteHeader2

MenuFont2
TIRIUS - Tomographic Image Reconstruction Interface
of the Université de Sherbrooke
Home Features License Installation Download Documentation Mailing lists Links

  Features

  Introduction

This 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 and/or a 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 the other 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.

  Overview
The 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 the GATE Monte Carlo 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:
  • The TIRIUS window
  • The Frame Selector window
  • The Image Viewer window
  • The Projection Data Converter window
The functionalities of all these user-interface windows are resumed in the following sections. A section relating to the computation of System Matrix Models and a section relating to other Complementary Programs that can be used with the TIRIUS software are also presented.

  TIRIUS Window (main window)


The 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 sections:
  1. Algorithm Settings
  2. System Matrix
  3. Sinogram
Most image reconstruction algorithm implemented in TIRIUS will required these three elements for the image reconstruction procedure. However, some direct methods, like the Filtered Back Projection (FBP) will not required a system matrix model.

Main window       Features summary:
  • All other windows can be opened from this main window:
    • Data Converter
    • Frame Selector 
    • Image Viewer
  • Selection of the image reconstruction algorithms 
  • Set the algorithm parameters
  • Start the image reconstruction
  • Load/free the system probability matrix
  • Load/free/show the projection data (sinogram)

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

The 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 position frames, 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.

    Features summary:
  • Allows to select how many frames to reconstruct:
    • Time frames
    • Bed position frames 
    • Gated frames
  • Selection of corrections to apply to the projection data. 
  • Allows to reconstruct and show one image.
  • Allows to reconstruct and save one or all images.
Frame Selector Window

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.

  Image Viewer Window

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.

Image Viewer window    Features summary:
  • Display one 2D image slice at a time of a 3D image.
  • Image slices can be selected.
  • Image can be rescaled:
    • Pixel duplication
    • Pixel interpolation
  • Image contrast can be adjusted.
  • Load/save images in different format (raw, text, jpg, png, bmp... eventually DICOM)

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.

  Projection Data Converter Window

The Projection Data Converter window is used to convert projection data (list mode acquisition or sinogram data) into a 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 in TIRIUS:

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.

List Mode Converter window    Features summary:
  • Load list mode acquisition data from different apparatus.
  • Display some information on the acquisition.
  • Allows to divide the acquisition into time, bed and/or gated frames.
  • Conversion of the projection data into a sinogram format compatible with the TIRIUS software.

Figure 4. Print screen and feature summary of the List Mode Data page of the Projection Data Converter window.


GATE Converter window    Features summary:
  • Load GATE simulation ASCII files for different apparatus.
  • Allows to adjust the coincidence sorter parameters (energy cut, coincidence window width, events to reject).
  • Allows to divide the acquisition into time and/or bed frames.
  • Display the GATE simulation event count statistics.
  • Conversion of the projection data into a sinogram format compatible with the TIRIUS software.

Figure 5. Print screen and feature summary of the GATE Data page of the Projection Data Converter window.


Sinogram Converter window     Features summary:
  • Allows to load projection data in an histogram or sinogram format specific to some commercial apparatus.
  • Allows to save projection data in a sinogram format compatible with TIRIUS.
  • Adjust the maximum ring difference and the FOV diameter of the projection data.
  • Selection of some correction parameters to apply or to save with the sinogram output.

Figure 6. Print screen and feature summary of the Sinogram page of the Projection Data Converter window.


  System Matrix Model


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.

  Monte Carlo Simulation (with GATE)

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 system matrices.    

  Complementary Softwares

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

Introduction
Overview
TIRIUS window
Frame selector
Image viewer
Projection data converter
System matrix model
Monte Carlo simulation
Complementary softwares