Abstract
Our group supports two emission tomography simulation packages: SimSET, which is in the public domain, and ASIM, which we are planning to re-engineer and release as open-source software. Currently the inputs and outputs for the two programs, though conceptually similar, have very different formats. We are creating a common input meta-language for SimSET and ASIM. We plan to make this language general enough that it will be suitable for other emission tomography simulation packages. This language will make it easier for users to use multiple simulation packages and will facilitate definition of similar simulations for various packages.
I. Introduction
Simulation plays an important role in emission tomography research. Our group has developed two simulation packages, a public domain photon tracking simulation, SimSET [1], and an in-house analytic PET simulation, ASIM [2], which we are re-engineering as open source software. We plan to use SimSET to help develop realistic models for data contaminants, such as scatter and randoms, for ASIM simulations. This will require the user to run similar simulations on the two platforms, a non trivial matter as the two simulations have different parameter input formats, tomograph models, and output choices (Fig. 1). Furthermore, a large number of parameters need to be specified, a situation, which lends itself to mistakes in setting up runs. To aid the user, we are working on a common input parameter format, an input meta-language, for the two simulations. We may also create a common output structure (Fig. 2). We are planning to make this language general enough to be supported by the developers other simulation packages (Fig. 3). Adoption of a unified input format would ease the difficulty of setting up similar simulations with different packages and make it easier for users to learn and use multiple simulation packages.
Fig. 1.

Currently SimSET and ASIM have different input and output formats.
Fig. 2.

We are developing a common input meta-language and, perhaps, output format for ASIM and SimSET.
Fig. 3.

We will strive to make these formats general enough that they could be supported by other simulation packages.
II. Meta-Language Proposal
Defining a simulation with a meta-language cannot both be simple and still support all the complex options that SimSET or other photon-tracking simulations allow. SimSET can simulate options that ASIM is not able to (for example, SPECT or coincidence-photon non-collinearity) and vice versa. It is unlikely that the options available in the meta-language will exactly match those of ASIM, SimSET or any other package (Fig.4). A mechanism will be needed to handle options not realizable in a given simulation. These considerations lead us to the following requirements for the meta-language:
The meta-language will be operating system and simulation system independent (although in some cases parameters will be ignored as discussed in requirement 5.f).
The meta-language will be easily extensible.
The meta-language will be both human-readable and machine-parsable.
The meta-language will be relatively simple and compact. Thus the range of realizable simulations will be smaller than the range of all conceivable simulations.
- The meta-language will be able to specify a wide range of emission tomography (ET) simulations.
- The meta-language will be able to specify a wide range of phantom geometries, including those used in the common specification standards for PET and SPECT.
- The meta-language will be able to specify approximations of the most common tomograph geometries. This will include common crystal and collimator geometries, but will not necessarily include other elements of the tomograph, e.g., detector housing, photomultiplier tubes (PMTs), or the patient table.
- The meta-language will be able to specify the protocols defined by the common specification standards for PET and SPECT as well as for some of the most common clinical protocols.
- The meta-language will be able to specify the standard forms of output histograms for PET and SPECT scanners, augmented with optional binning by scatter status, secondary photon status (e.g., photon arising from lead x-rays or pair production), random/prompt status etc.
- The meta-language will be able to specify the most common physical modeling options allowed by photon-tracking simulations, e.g., lead x-rays, positron-range, polarization, or coherent-scatter.
- The meta-language will support simulation-system-specific tags for parameters that may be required by certain systems but which do not have relevance to the physical situation being simulated. For example, such a tag would be used if a simulation required the parameter files to specify what operating system the simulation would be run under. Such definitions, however, will be clearly identified in the meta-language schema.
A simulation system will be considered supported if there exists a translator program that will take a meta-language file and produce input parameter files for that system (Fig. 5).
If an option specified in the meta-language file is not available in a given simulation-system, the translator program will either terminate processing and issue an error message alerting the user, or, if the option tends to have a small effect, may ignore the option and issue a warning to the user.
Fig. 4.

The options available in supported simulation packages and the meta-language will overlap, but each will have options that the others don’t. For instance, the meta-language may support electronics simulation, which neither ASIM or SimSET do; SimSET supports SPECT, which ASIM doesn’t; and ASIM supports phantoms composed of geometric primitives while SimSET requires voxelized phantoms.
Fig. 5.

Meta-language parameter generation scheme. There will be SimSET options which will not be available through the meta-language, and meta-language options that will not be available in ASIM. For instance, only SimSET will be able to simulate irregular detector arrays, while both SimSET and the meta-language will support SPECT. Cylindrical PET will be available in SimSET, the meta-language and ASIM. In this case, defining a simulation in the meta-language and translating it into the SimSET and ASIM runs will lead to the same simulation configuration for the two simulations. The option will exist for other users to add translators for other simulation packages (e.g. SIMIND [3], MCNP [4], or GATE [5]).
Based on requirements 5.a-5.e we have identified five general description categories: object, scanner, protocol, binning, physical model (Fig. 6). It is likely that for most simulation systems there will be options that are not available in the meta-language. We could add a simulation-system-specific section to accommodate requirement 5.f. However, a user already conversant with a simulation package could either use the meta-language created parameter files unmodified or edit/extend the parameter files to use special features or more complex options than are supported in the meta-language.
Fig. 6.

Top level structure of the proposed meta-language.
We have decided to implement our meta-language in XML [6]. This will allow it to meet the first three of the above requirements. Furthermore, there are a great many open source and low cost tools available for the creation, modification and manipulation of XML files. This could facilitate the generation of the translator programs, user I/O routines, and programs to generate graphics of the phantom and tomograph being simulated. The flexibility of XML will make it easy to incorporate other simulation systems into the meta-language if other developers are interested in doing so.
III. Discussion
We are developing a common input format for our two simulation packages, SimSET and ASIM, to facilitate creation of similar simulations using the two packages. We have decided to realize this generalized input format as a meta-language in XML. This will allow other simulation developers to support the common input format by writing a translator program from the meta-language to the input format of their simulation. While the initial cost of implementing the translator program for a simulation package will be non-trivial, a common input format will simplify learning new packages for users and allow for inter-simulation synergy in development of new input and display software.
We are also considering a common output format for data generated by the simulation programs. We welcome comments from simulation developers and users on both input and output formats.
Acknowledgments
This work was supported in part by PHS grants CA42593, CA74135, and CA126593.
References
- [1].Lewellen TK, Harrison RL, Vannoy S. The SimSET program. In: Ljungberg M, Strand S-E, King MA, editors. Monte Carlo Calculations in Nuclear Medicine, Medical Science Series. Institute of Physics Publishing; Bristol: 1998. pp. 77–92. [Google Scholar]
- [2].Comtat C, Kinahan PE, Defrise M, Michel C, Lartizien C, Townsend DW. Simulating whole-body PET scanning with rapid analytical methods; Proceedings of: IEEE Nuclear Science Symposium and Medical Imaging Conference; Seattle, WA. October 24-30.1999. pp. 1260–1264. [Google Scholar]
- [3].Ljungberg M, Strand SE. A Monte-Carlo program for the simulation of scintillation camera characteristics. Comp. Meth. & Progr. BioMed. 1989 Aug;29(4):257–272. doi: 10.1016/0169-2607(89)90111-9. [DOI] [PubMed] [Google Scholar]
- [4].Forster RA, Cox LJ, Barrett RF, et al. MCNP™ Version 5. Nucl. Instr. Meth. Physics Res. B. 2004 Jan;213(1):82–86. [Google Scholar]
- [5].Jan S, et al. GATE: a simulation toolkit for PET and SPECT. Phys. Med. Biol. 2004 Oct. 7;49(19):4543–4561. doi: 10.1088/0031-9155/49/19/007. [DOI] [PMC free article] [PubMed] [Google Scholar]
- [6].“XML,” http://en.wikipedia.org/wiki/XML
