Physics in Medicine & Biology

Related content

Monte Carlo techniques in medical radiation physics To cite this article: P Andreo 1991 Phys. Med. Biol. 36 861

View the article online for updates and enhancements.

- Stopping-power ratios and their uncertainties for clinical electron beam dosimetry P Andreo and A Fransson - Validation of the DOSE3D code at the cellular level J Coulot, M Ricard and B Aubert - Microdosimetric properties of ionizing electrons in water R D Stewart, W E Wilson, J C McDonald et al.

Recent citations - Matt Martineau and Simon McIntosh-Smith - Monte Carlo calculation of proton stopping power and ranges in water for therapeutic energies Ahmet Bozkurt et al - Dosimetric validation of Monaco treatment planning system on an Elekta VersaHD linear accelerator Ganesh Narayanasamy et al

This content was downloaded from IP address 130.209.6.61 on 06/11/2017 at 14:12

Phys. Med. B i d , 1991, Vol. 36, No 7, 861-920. Printed in the UK

Review

Monte Carlo techniques in medical radiation physics Pedro Andreo Department of Radiation Physics, Ka~olimltaInstitute and University of Stockholm. Box 60211,104 01 Stockholm, Sweden

Received 31 A u y s t 1990, in final form 27 February 1991

Contents

1. Introduction 1.1. Scope of this review 2. The basics of the Monte Carlo practice 2.1. Random numbers and other computational details 2.2. Photon transport 2.3. Electron transport 2.3.1. Condensed history (‘macroscopic’) techniques 2.3.2. Detailed history (‘microscopic’) techniques 2.3.3. Variance reduction in electron transport 3. Macroscopic Monte Carlo codes in the public domain 4. Applications in medical radiation physics 4.1. Nuclear medicine 4.1.1. Detectors 4.1.2. Imaging correction techniques 4.1.3. Absorbed dose calculations 4.2. Diagnostic radiology 4.2.1. Detection systems 4.2.2. Determination of physical quantities in diagnostic radiology 4.2.3. Radiation protection aspects 4.3. Radiotherapy physics 4.3.1. Teletherapy sources and dosimetry equipment 4.3.2. In-phantom simulations 4.3.3. Treatment planning applications 4.3.4. Calculations in brachytherapy 4.4. Radiation protection 4.5. Applications based on microscopic Monte Carlo techniques 4.5.1. Electron microscopy 4.5.2. Radiation track structure and microdosimetry 5. Inverse Monte Carlo techniques 6. Vectorized and parallel Monte Carlo simulation 7. Conclusions Acknowledgments References

862 862 863 863 866 868 869 870 871 875 881 881 881 882 884 885 885 886 886 887 888 890 891 893 895 897 897 898 901 904 908 909 909

0031-9155/91/070861+60%03.50 @ 1991 IOP Publishing Ltd

861

862

P Andreo

1. Introduction

Since the review article by Raeside (1976), where the principles of the Monte Carlo method and its first applications in medical physics were described, the number of publications in this field using t h e simulation of the transport of radiation continues to increase. Following Nahum (1988a), today practically one scientific article per issue is being published in Physics in Medicine and Biology for instance, and a similar rate can be observed in parallel journals. Several hooks with comprehensive reviews, ‘technical descriptions’ or proceedings from Monte Carlo courses, have also been published recently (Morin 1988, Jenkins e l a/ 1988, Kase et a / 1990). At the time of the 1976 review article by Raeside most of the Monte Carlo work had been developed at large research centers using mainframe computer systems. This was the case with most of today’s well known Monte Carlo codes such as ETRAN (Berger and Seltzer 1968), EGS (Ford and Nelson 1978), MCNP (Thompson 1979, based on previous codes by Cashwell e l a/ 1972, 1973), or MORSE (Straker el a/ 1976), some of which will be discussed in this article. The basic references in the field of photon and electron transport simulation were already available at that time (Cashwell and Everett 1959, Berger 1963, etc). A number of Monte Carlo codes were written during the 1970s for application to medical physics, mainly radiotherapy physics. The codes developed by Patau (1972), Nahum (1976) and Abou Mandour (1978) belong to this group, all of them developed on mainframe computer systems and with a strong emphasis on the simulation of electron transport. This aspect explains the weight given to data calculated with ETRAN for comparisons, as the other codes mentioned were generally related to either reactor neutron/photon physics (MCNP, MORSE) or high-energy physics (EGS). The availability of minicomputers (mainly DEC/PDP-II) in many medical institutions made possible the development of ‘smaller’ Monte Carlo codes capable of simulating either specific problems in radiotherapy physics with photon beams (Webb and Parker 1978, Webb 1979), the transport of photons in Compton-scatter tissue densitometry (Battista and Bronskill 1978) or the full electromagnetic cascade used to derive quantities for electron dosimetry in water (Andreo 1980, 1981). The power of many of the mainframe computer systems initially used for Monte Carlo simulations is available today in many departments of hospital physics around the world, sometimes even on t h e desk of a hospital physicist. At the same time, some of the general purpose computer codes have become widely distributed through institutions like the Radiation Shielding Information Center (RSIC) at Oak Ridge National Laboratory in USA or the Nuclear Energy Agency Data Bank (NEA) at Gif-sur-Yvette (France) in Europe. The result is a broader group of scientists with knowledge of Monte Carlo techniques; as a consequence, the range of applications for the Monte Carlo method continues to increase. 1.1. Scope o f l h i s reuiew

The main purpose of this work is to review the techniques and applications of the Monte Carlo method in medical radiation physics since Raeside’s review article in 1976. Emphasis will be given to applications where photon and/or electron transport in matter is simulated. Although the method has also been applied to neutrons and heavy charged particles in radiotherapy physics (cf Biiche and Przybilla 1981, Sisterson et a/ 1989, Smith e t a/ 1989), or in the simulation of their track structures (cf Paretzke 1987) the considerably smaller number of applications with these particles, and the

Monte Carlo techniques in medical radiaiion physics

863

limited space for this review, excludes them from a detailed survey. The use of Monte Carlo techniques in non-radiation medical physics also falls outside the scope of this review. Some practical aspects of Monte Carlo practice, mainly related to random numhers and other computational details, will be discussed in connection with common computing facilities available in hospital environments. Basic aspects of electron and photon transport will he reviewed, followed by the presentation of the Monte Carlo codes widely available in the public domain. Applications in different areas of medical radiation physics, such as nuclear medicine, diagnostic x-rays, radiotherapy physics (including dosimetry), and radiation protection, and also microdosimetry and electron microscopy, will he presented. Actual and future trends in the field, like Inverse Monte Carlo methods, vectorization of codes and parallel processors calculations will also be discussed.

2. The basics of the Monte C a r l o p r a c t i c e

The general principles of the Monte Carlo method have been discussed by Raeside (1976) and more recently by Turner e t a1 (1985). They have also been introduced in a number of other publications (cf Cashwell and Everett 1959, Shreider 1966, Carter and Cashwell 1975, James 1980, Lund 1981) and their repetition will be avoided here as much as possible. In what follows some emphasis is given to basic and practical ideas of interest in medical physics.

2.1. Random numbers and oiher computational details Random numbers will be treated first as they play a fundamental role in Monte Carlo calculations. ‘Philosophical’ arguments on sets of ‘truly-random’, ‘pseudo-random’ and ‘quasi-random’ numbers will not he considered here. The basic ideas on random number generators (RNGS) have been discussed in the initial references cited here; updated (and more complete) reviews have been given by James (1980, 1990) and Ehrman (1981). The classic by Knuth (1969) is still mandatory in the field of RNGs and Sowey (1972) has given about 300 references on random number generation and testing covering the period 1927 to 1971. Although some new trends in RNGs have been described recently, including ‘intelligent’ random number techniques (learning and biasing) such as those used in the MCNP code (Booth 1988), Lehmer’s method is still the most commonly used for RNGs. It is called the multiplicative-linear-congruentialmethod. Given a modulus M , a multiplier A , and a starting value t o (‘seed’), random numbers ti are generated according to

ti = (AEi-1 + E ) modulo M

(1)

where B is a constant. In multiplicative-linear-congruentialgenerators M is usually chosen t o be 2‘, b being the number of bits in the integer representation of data in the computer. Constants A and B are chosen to give a ‘well behaved’ RNG, which is a difficult task. Congruential RNGs generally have a maximum repetition period of length 2-2M when M is a power of 2, or M - 1 if A4 is prime (Ehrman 1981), which is long enough for most Monte Carlo simulations.

864

P Andreo

The length of the period of a RNG must he long enough t o avoid repetitions in the sequence of numbers used during the simulation process, as otherwise correlations can he produced. There are simulations, however, where the set of independent numbers needed might exceed the repetition period of the RNG being used. When the generator is ‘well behaved’, even if the sequence of numbers is used more than once, the probability of having more than one particle history starting in the same position of the sequence of random numbers is practically negligible. This means that when the end of the sequence is reached it will be started again during some of the sampling procedures used along the simulation. The final effect will he equivalent to initiating the sequence of random numbers using different ‘seeds’, but it should be investigated for each computer/RNG/application configuration. The risk of repetition can he decreased using RNGs with very long periods, such as the McGill University package ‘Super-Duper’ in IBM assembler (cf James 1980, 1990) or RNG64 due to Bielajew (1986), both of which produce periods as long as one might expect from a 64-bit machine. The use of such R N G s however needs longer calculation times than the generators previously reported and their choice must he based on a careful evaluation. This author’s experiences of the simulation of ionization chambers within a phantom, where hundreds of millions of histories of “CO photons were simulated using the EGS code, did not show any change in the results or in the extremely slow convergence of the low uncertainty being sought when RNG64 or the standard generator in EGS (see later) was used. T h e RNG of congruential type which has probably received more attention in the Monte Carlo literature is the infamous RANDU, distributed by IBM (1968) in computers of their 360 and 370 series, where A = 65539, B = 0 and M = Z31 (32-bit integer, bit zero reserved for the sign, and a period of Z31 - 1). The same RNG has also been implemented by DEC in minicomputer-based operative systems with 16-hit integer arithmetic (RT-11, RSX-IIM, etc), where it is possible to call for modulus 232 using two registers which allow the use of the modulus to any power by shifting. (For compatibility between VAX-11 and PDP-I1 FORTRAN, VAX/VMS offers the option of using this generator also (DEC 1984).) The predicted period for DEC’s RANDU is 230 (in 32-hit DEC machines hit 15 is sign hit) and it produces identical output random numbers to IBM’s generator. The large availability of DEC PDP-11 machines in hospital physics environments during the last 15 years has led to a widespread use of this generator (cf Battista and Bronskill 1978, Bond el a/ 1978, Audreo 1980, etc). A long period is not t h e only desirable property in a R N G and different tests must be applied to verify the true randomness of the sequence. Knuth (1969) is still the standard source of information on random tests, which Morin el a/ (1988) have performed on 16-bit minicomputers for RNGs used in different applications of interest in medical physics. Even if the generator RANDU passed the majority of tests, the so called ‘Marsaglia effect’ or how ‘random numbers fall mainly in planes’ (Marsaglia 1968), has shown that this generator produces correlated triplets of random numbers (cf Coldwell 1974). The use of techniques where vi-tuple random numbers are used for decision-making or branching is common in transport simulation, which should warn us against the use of such RNGs. An improvement of the properties of RANDU has been obtained by changing the multiplier A from 65539 to 69069 (Marsaglia 1972), which is the standard RNG used in VAX FORTRAN (MTHWANDOM) with M = Z32,and in the SLAC RNI generator. Another RNG commonly used today in medical physics calculations is the SLAC RN6 generator which has A = 663608 941 and B = 0 and is included in the EGS code. Both generators have similar properties regarding period

Monte Carlo techniques in medical radiation physics

I

865

length and number of planes in 3-space, RN6 being faster, especially with the ‘inline’ coding included in EGS which avoids subroutine calls (cf Ehrman 1981). Theory predicts a period of about lo9 for these two generators, but a repetition of 2, 3 and 4 consecutive numbers can be found in certain implementations after generating 3.5 x IO7 random numbers approximately. In VAX FORTRAN the RNG generates numbers in the interval 0 5 < 1 (DEC 1984), which can yield obvious run-time errors when expressions like In(e), which are frequent in particle transport, are used. One can alternatively use In(1 - C) which is as random as f . SLAC RN6 on the other hand generates numbers in the interval 0 5 5 I , and therefore a detailed condition to avoid the generation of zeros should be included. A very interesting review of RNGs has been published recently by James (1990), where it is recommended that ‘old-firshioned generators (like the multiplicative-linearcongruential previously described) should be archived and made available only upon special request for historical purposes or in situations where the user really wants a bad generator’ and Fibonacci and shift register (also known as Tansworthe) generators should be used instead. Furthermore they should be implemented in the form of subroutines returning an array of random numbers rather than a function returning one number each time. Fibonacci RNGs are based on the series with the same name (where each element is the sum of the two preceding elements) but use some arithmetic or logical operation between two numbers which have occurred somewhere earlier in the sequence, not necessarily the last two:

Monte Carlo techniques in medical radiation physics.

Physics in Medicine & Biology Related content Monte Carlo techniques in medical radiation physics To cite this article: P Andreo 1991 Phys. Med. Bio...
3MB Sizes 0 Downloads 0 Views