The use of the Monte Carlo (MC) technique for modeling radiation interaction with matter has been found to be valuable, particularly when employing human phantoms to study the interaction of ionizing radiation with organs in the human body (Hakimabad and Motavalli 2008; Park et al. 2006; Krstic et al. 2014; Qiu et al. 2008; Han et al. 2006; Krstic and Nikezic 2007; Krstic and Nikezic 2009; Shahmohammadi Beni et al. 2021a, 2017; Kramer et al. 2002). Several types of human phantom models were developed with different ranges of complexities and details. Generally, three main types of widely used phantoms would be (1) analytical, (2) voxel, and (3) mesh-type phantoms. The human organs in analytical phantoms are defined using 3-dimensional (3D) analytical equations (Zankl et al. 1992; Yamaguchi 1994; Chou et al. 2003; Kim et al. 2006). On the other hand, human organs in voxel phantoms are defined using a large number of small elements (i.e., volume-pixels) (Xu et al. 2000; Caon 2004). The mesh-type phantoms were developed by converting voxel phantoms to a high quality mesh format (Kim et al. 2018)
Previously, Oak Ridge National Laboratory (ORNL) proposed analytical equations to model the human body, and we used these data to generate mathematical phantoms of the human body for the Monte Carlo N-Particle (MCNP) package (Krstic and Nikezic 2007). The developed ORNL phantoms were widely used in studying the interaction of several types of ionizing radiations with the organs in the human body (Shahmohammadi Beni et al. 2021a, 2017). In addition, we recently developed the MCHP (Monte Carlo simulations + Human Phantoms) platform to facilitate teaching nuclear radiation physics, mainly to enhance students’ understating of the interaction of ionizing radiation with the human body and the importance of shielding in reducing the absorbed dose to vital organs (Shahmohammadi Beni et al. 2021b).
Despite that ORNL phantoms are being used widely, new users as well as those experienced may find scripting these phantoms error prone and rather tedious, mainly due to the fact that the input scripts of ORNL phantoms are rather lengthy (>400 lines). In addition, the movement of the modeled phantom relative to the radiation source would be an important step toward a realistic scenario where occupational workers move in the radiation field. A number of previous investigators studied irradiation of the human body in clinical setups by modeling radiotherapy rooms with most features such as the linear accelerator, human phantoms, irradiation room, treatment couch etc. Shahmohammadi Beni et al. and François et al. found the use of the MC method with modeled human phantoms to be valuable in determining the exact absorbed dose in different human organs, which would be practically tedious if not impossible to measure experimentally (Shahmohammadi Beni et al. 2017; François et al. 1988). The relative movement of the radiation source with respect to the human phantom was not considered in a dynamic manner. These relative movements would not be important for a patient under radiotherapy, as the location of the patient would be fixed under the beam of radiation during the treatment period. However, these movements are important for occupational workers who deal with ionizing radiation; for example, those radiation workers dealing with radioactive sources, medical workers (Boice et al. 2020), positron-emitting radioisotopes in medical imaging (Demir et al. 2011), nuclear reactors (Auvinen et al. 2002), radioactive wastes (Ewing et al. 1995; Weber and Roberts 1983), nuclear severe accident aftermaths (Kopecky et al. 2006; Harada et al. 2014; Ishikawa 2017), and radioactive fallout from nuclear detonations (Simon et al. 2022).
Most occupational workers would wear passive detectors such as thermoluminescent dosimeters (TLDs) (Olko et al. 2006; Sneha et al. 2010) or glass dosimeters (Hsu et al. 2006) on their chest to monitor their absorbed radiation doses. However, using such passive detectors outside of the body would not provide an accurate measure of the absorbed dose in each organ. Employing the MC method with human phantom models, it would be possible to determine the absorbed dose in different organs in the human body at a given point in a radiation field. Depending on the number of locations in the radiation field for which one wishes to score dosimetric quantities, the complexity of the modeling process will vary. Upon having more specified locations to score dosimetric data from the modeled phantoms, the number of input scripts that one needs to prepare, run, debug, and extract output data would increase. Such processes would be tedious, time consuming, and error prone. Therefore, it is pertinent to develop an easy-to-use software that can automatically generate human phantoms and allow the users to control the parameters of the irradiation setup. In the present work, we have developed an easy-to-use open-source graphical user interface (GUI) computer program named DynamicMC coupled with the MCNP MC package. The present program can simulate ORNL phantoms in user-defined locations and in a user-defined radiation field in a dynamic manner. Using DynamicMC, users do not need to perform any coding/scripting to model complex ORNL phantoms in their desired radiation field. It is anticipated that the present program will be useful for future studies in the field of nuclear radiation physics both from research and teaching perspectives. The present computer program and its source code are distributed under a GPLv3 license, so users can freely download, modify, and redistribute the program without any restrictions.
MATERIALS AND METHODS
Structure of DynamicMC program
The program has four main parts; namely, (1) GUI, (2) graphical coordinate input, (3) dynamic phantom generator, and (4) shell run script. The simplified view of the program structure is shown in Fig. 1. Initially, users interact with the GUI and provide the required inputs to the program. The GUI was written in C++ programming language using the QT5 libraries (https://www.qt.io/). The core part of the program is the dynamic phantom generator module that was written in FORTRAN90 programming language. A dedicated graphical coordinate input program was developed using C++ programming language using SFML libraries (https://www.sfml-dev.org/), which enables the users to graphically set the relative movement of the radiation source and an adult male ORNL phantom in the radiation field.
The dynamic phantom generator has four main parts that communicate with the main program (see Fig. 1). Based on the user inputs, ORNL phantoms would be generated at user-specified locations in the radiation field, and their respective run sequence and run file would be generated. It needs to be noted that a correct execution of sequences of the phantom movement would be important in reflecting realistic scenarios, where the phantom moves from point A to B and so on. Incorrect execution of movement sequences will result in incorrect output results; therefore, the sequencer and run file generator modules are important parts of the program.
Graphical user interface
The entire DynamicMC program has about 3,800 lines of code executable in GNU/Linux and MacOS terminal environments. The GCC (https://gcc.gnu.org/) compiler package was used to compile the present program. The program GUI is shown in Fig. 2, which can be run by users to set the required inputs such as source definition (discrete or spectrum), beam energy, number of spectrum energy and probability points, source particle type, source material, source density, source radius (source considered to be a sphere in this program), transport mode, particle type to tally, importance of particles in the model, number of coordinates (on xy plane) for dynamic movement of the phantom, source height relative to the human phantom height, number of histories, and MCNP path for the program to invoke MC run on the generated scripts. It needs to be noted that the current version of the DynamicMC program does not take time range values; rather, it takes coordinates of relative movements at different time points. This type of input provides a better flexibility for the users to control these relative movements rather precisely. Another option would be the material definition option (i.e., mat. opt. shown in Fig. 2), where the users would have the ability to define materials either in atomic percent (at%) or weight percent (wt%) in the present program. The examples shown in the present paper have used atomic percent material definition.
The callback buttons in the GUI were programmed to perform different tasks; for example, the “Graphical input” button runs the dedicated graphical coordinate input program where users can simply choose xy coordinates to determine the distances between the source and the phantom. The set of boundary conditions was implemented into the graphical coordinate input program so those so-called “out-of-bound” coordinates will not be saved. These boundary conditions will make sure that the radiation source will not overlap with the phantom, considering the user-inputted source radius; this makes the task easier for the users to have error-free MC runs. The out-of-bound and within-bound examples of the graphical coordinate input program are shown in Fig. 3.
In the present work, the maximum size of the radiation field in x, y, and z dimensions is set to be 900 × 900 × 900 cm3. Therefore, the graphical coordinate input program window is set to be 900 × 900 pixels, and every pixel has an integer value that would be used as the distance between the source and the phantom chosen by the user. The 900 × 900 pixels were translated into four quadrants in a two-dimensional (2D) cartesian system, which would provide a range from −450 to 450 cm for the x and y axes, respectively. For more accurate coordinates, users can input these numerically directly into the GUI as shown in the “Dynamics” section of Fig. 2. Furthermore, the “Generate phantom(s)” button would create a set of phantom input scripts, run files, and run sequence files based on user inputs. The “Run MCNP” button invokes MCNP to run the generated input scripts for dynamic movement of the modeled phantom based on the user-defined path to the MCNP executable file on their computer system.
Autogenerated organ tallies
The present program automatically adds flux (F4) and energy deposition (F6) tallies for a number of important organs, such as right and left lungs, skin, liver, stomach and content, testes, brain, spine, skull, thyroid, kidneys, pancreas, spleen, and heart. Flux and energy deposition tallies would be added automatically to every generated phantom in the user-defined dynamic set. In addition, users can add custom tallies for their desired cases to the program source code and recompile the entire program. The program and its full source code can be downloaded from: https://figshare.com/articles/software/DynamicMC/20486118.
Since the program automatically generates the lengthy input script for the adult male ORNL phantom, it would be pertinent to benchmark this with the original ORNL phantom script that we have initially developed for the MCNP package (Krstic and Nikezic 2007). In the initial ORNL phantom model, a point-like 137Cs source was placed in front of the face of the phantom at a distance of 1 m. The generated input script using the DynamicMC program and the snapshot of the entries used in the GUI can be downloaded from https://figshare.com/articles/software/DynamicMC/20486118.
Two different dynamic examples were chosen to demonstrate the capabilities of the present program. The first example simulates a photon transport problem with 1 MeV photons irradiating the human phantom at four different locations. The coordinates of the source-to-phantom relative movement were (0, 50), (100, 0), (0, −50) and (−100, 0) at time t1, t2, t3, and t4, respectively (note that all length units are in cm). The source was placed at a height 50% of the total height of the phantom. The source radius was set at 1 cm, and the source material was assumed to be air (i.e., virtual photon emitting source in ambient air). The movements between the source and the phantom for this example are shown in Fig. 4.
The second example simulates a neutron transport problem with 10 MeV neutrons irradiating the human phantom at 10 different locations. The source was placed at a height 96% of the total height of the phantom. The source radius was set at 2 cm, and the source material was assumed to be air (i.e., virtual neutron emitting source in ambient air). The movements between the source and the phantom movement for this example are shown in Insert Fig. 5.
The modeled phantom and the source were placed in an air-filled room. The phantom is set to be fixed at the origin while the source moves relative to the phantom position. It needs to be noted that there is no difference between moving the source relative to the phantom or vice versa, since the dynamic changes in the relative distance between the source and phantom would be the same in both cases. Users who wish to strictly interpret the movement of the phantom relative to the source can simply change the direction of their coordinate inputs. For example, if the phantom must move 100 cm in the positive x-axis direction and 50 cm in the negative y-axis direction, the inputs to the program would be (−100,50). This shows that the source should move 100 cm in the negative x-axis direction and 50 cm in the positive y-axis direction. However, movement of the source relative to the phantom should be rather straightforward and more easily handled by the users. In addition, moving the source (which is a spherical isotropic source emitting particles in all directions) would make the task easier for users to model rotation of the source relative to the phantom. However, the present version of the program does not support special cases involving complex rotations; for example, transmission scan for medical imaging that involves complex rotations and relative coordinate calculations between the source and the target. All computations were performed using the MCNP5 package (X-5 Monte Carlo Team 2003).
RESULTS AND DISCUSSION
Benchmarking of ORNL phantom generator
The main part of the program is the phantom generator module, which is responsible for creating the ORNL phantom input script for the MCNP package. The comparison between the original ORNL phantom script (Krstic and Nikezic 2007) and that generated by DynamicMC is shown in Fig. 6.
The comparison shown in Fig. 6 verifies that the organ doses from the original ORNL phantom and those generated by DynamicMC are in close agreement. Slight differences are due to (1) different versions of MCNP employed, (2) different operating systems used to run these computations, and (3) only integer intervals of 1 cm were used in the slider in DynamicMC when defining the source height (see Fig. 2). In the original ORNL phantom, the source was placed at 91.45 cm; however, using DynamicMC, users can only set integer height values. Despite the slight differences between the organ doses shown in Fig. 6, the generated ORNL phantom using DynamicMC is deemed accurate when compared with the original ORNL phantom. In addition to the comparison using numerical organ doses, a graphical comparison using visualization has also been presented in Fig. A1.
DynamicMC example 1: photon irradiation of ORNL phantom with four relative movement coordinates
The absorbed dose in the spine, brain, thyroid, skin, and testes at four different locations within the radiation field were calculated and are shown in Fig. 7. It needs to be noted that the ORNL phantom is facing position 3 in all cases (see Fig. 4). From the results shown in Fig. 7, it can be seen that organ dose varies with the change of relative distance between the source and the phantom. At position 1, the source is located behind the phantom, which leads to the highest absorbed dose to the spine. At position 2, the relative distance between the source and the phantom has been increased, which leads to lower absorbed doses in all organs when compared to the values obtained at positions 1 and 3, which have relatively shorter source-to-phantom distance. The decrease in the absorbed dose with the increase in the source-to-phantom distance is mainly due to the reduction in the radiation fluence/flux, which agrees with our basic understanding of radiation and particle transport. At position 3, since the phantom is facing the source, the absorbed dose to spine has been decreased when compared to position 1. However, the highest absorbed dose in testes has been obtained at this location. In addition, the absorbed dose in thyroid has been found to be highest at position 3, since the phantom is directly facing the radiation source. At position 4, the dose values for the organs considered in the present work have been found to be close to those at position 2. This is due mainly to the fact that in both cases, the phantom would be irradiated sidewise and the considered organs are mostly at the center of the human body. As expected, irradiation from the right or left side would not lead to significant differences in the absorbed doses to these organs. Interestingly, the absorbed dose in the skin shows no strong dependency on the orientation of irradiation (i.e., front/back or right/left irradiation) and only changes significantly when the source-to-phantom distance changes, which is explained by the pervasive nature of skin over the entire human body (Shahmohammadi Beni et al. 2017).
In order to better demonstrate the variation between radiation interaction with the phantom and the source-to-phantom distance, the radiation tracks for the modeled four positions shown in Fig. 4 were visualized (see Fig. 8). Similar to our previous work (Shahmohammadi Beni et al. 2021b), the visualizations were prepared using Vised (http://www.mcnpvised.com/), which was bundled with the MCNP package. From the graphical representation shown in Fig. 8, it can be seen that the number of radiation hits decreases as the source-to-phantom distance increases. At position 3 (when the phantom faces the source), the organs located at the front side of the human body received more radiation hits compared to position 1 (when the phantom’s back was facing the source). At positions 2 and 4, the number of radiation hits at the center of the phantom do not show a significant difference.
DynamicMC example 2: neutron irradiation of ORNL phantom with 10 relative movement coordinates
The present example demonstrates more complex relative movement between the source and the phantom (see Fig. 5). The absorbed doses in the spine, brain, thyroid, skin, and testes were determined at 10 different positions and shown in Fig. 9. Since position 2 has the shortest relative distance between the source and the phantom, the absorbed dose at position 2 is highest for almost all organs except testes. The highest absorbed dose in testes was found to be at position 1 because the phantom was facing down toward the negative y-direction (same direction as in DynamicMC example 1 in the previous section). The absorbed dose decreases as the relative distance between the source and the phantom increases. The developed DynamicMC program was found to be capable of modeling such complex movements with multiple user-input positions.
Variations in the organ doses with respect to dynamic changes in the relative distance between the source and the phantom were found to be significant. In addition, it is important to perform organ-based dosimetry, since the orientation of the source relative to the phantom can change the dose absorbed by a specific organ significantly.
In the present work, we developed an open-source GUI computer program that could model the relative dynamic movement between the radiation source and the ORNL phantom in 3D cartesian space (i.e., radiation field). The present program makes organ-based dosimetry of the human body much easier, as users are not required to write lengthy scripts or deal with programming that would be tedious, time-consuming, and error-prone. In addition, it was found that the relative position and the orientation of the phantom (i.e., movement and rotation) have significant effects on the absorbed dose in each organ. The present program will also be a valuable tool for teaching nuclear radiation physics and its interaction with the human body.
The present work was supported by the Special Grant for the Development of Virtual Teaching and Learning (VTL) no. 6430120 from the University Grants Committee of Hong Kong and also by the JSPS KAKENHI grant number 21F21103 and JSPS grant number JPJSBP120218804.
Data availability: All data, executables and source code files can be downloaded from https://figshare.com/articles/software/DynamicMC/20486118.
Auvinen A, Pukkala E, Hyvönen H, Hakama M, Rytömaa T. Cancer incidence among Finnish nuclear reactor workers. J Occup Environ Med 1:634–638; 2002.
Boice J Jr, Dauer LT, Kase KR, Mettler FA Jr, Vetter RJ. Evolution of radiation protection for medical workers. Br J Radiol 93:20200282; 2020.
Caon M. Voxel-based computational models of real human anatomy: a review. Radiat Environ Biophys 42:229–235; 2004.
Chou DP, Wang JN, Chen IJ, Chang BJ. Age-dependent protection quantities for external neutron irradiation. Radiat Protect Dosim 104:5–16; 2003.
Demir M, Demir B, Sayman H, Sager S, Sabbir Ahmed A, Uslu I. Radiation protection for accompanying person and radiation workers in PET/CT. Radiat Protect Dosim 147:528–532; 2011.
Ewing RC, Weber WJ, Clinard FW Jr. Radiation effects in nuclear waste forms for high-level radioactive waste. Prog Nucl Energy 29:63–127; 1995.
François P, Beurtheret C, Dutreix A. Calculation of the dose delivered to organs outside the radiation beams. Med Phys 15:879–883; 1988.
Hakimabad HM, Motavalli LR. Evaluation of specific absorbed fractions from internal photon sources in ORNL analytical adult phantom. Radiat Protect Dosim 128:427–431; 2008.
Han EY, Bolch WE, Eckerman KF. Revisions to the ORNL series of adult and pediatric computational phantoms for use with the MIRD schema. Health Phys 90:337–356; 2006.
Harada KH, Niisoe T, Imanaka M, Takahashi T, Amako K, Fujii Y, Kanameishi M, Ohse K, Nakai Y, Nishikawa T, Saito Y. Radiation dose rates now and in the future for residents neighboring restricted areas of the Fukushima Daiichi Nuclear Power Plant. Proc Natl Acad Sci USA 111:E914–E923; 2014.
Hsu SM, Yeh SH, Lin MS, Chen WL. Comparison on characteristics of radiophotoluminescent glass dosemeters and thermoluminescent dosemeters. Radiat Protect Dosim 119:327–331; 2006.
Ishikawa T. Radiation doses and associated risk from the Fukushima nuclear accident: a review of recent publications. Asia Pac J Public Health 29:18S–28S; 2017.
Kim CH, Yeom YS, Nguyen TT, Han MC, Choi C, Lee H, Han H, Shin B, Lee JK, Kim HS, Zankl M. New mesh-type phantoms and their dosimetric applications, including emergencies. Ann ICRP 47:45–62; 2018.
Kim JH, Whang JH, Kim CS. Paired-organ and other selected absorbed fraction for the Korean reference adult male model. Radiat Protect Dosim 118:395–401; 2006.
Kopecky KJ, Stepanenko V, Rivkind N, Voillequé P, Onstad L, Shakhtarin V, Parshkov E, Kulikov S, Lushnikov E, Abrosimov A, Troshin V. Childhood thyroid cancer, radiation dose from Chernobyl, and dose uncertainties in Bryansk Oblast, Russia: a population-based case-control study. Radiat Res 166:367–374; 2006.
Kramer GH, Burns LC, Guerriere S. Monte Carlo simulation of a scanning detector whole body counter and the effect of BOMAB phantom size on the calibration. Health Phys 83:526–533; 2002.
Krstic D, Markovic VM, Jovanovic Z, Milenkovic B, Nikezic D, Atanackovic J. Monte Carlo calculations of lung dose in ORNL phantom for boron neutron capture therapy. Radiat Protect Dosim 161:269–273; 2014.
Krstić D, Nikezić D. Input files with ORNL—mathematical phantoms of the human body for MCNP-4B. Comput Phys Commun 176:33–37; 2007.
Krstic D, Nikezic D. Calculation of indoor effective dose factors in ORNL phantoms series due to natural radioactivity in building materials. Health Phys 97:299–302; 2009.
Olko P, Currivan L, Van Dijk JW, Lopez MA, Wernli C. Thermoluminescent detectors applied in individual monitoring of radiation workers in Europe—a review based on the EURADOS questionnaire. Radiat Protect Dosim 120:298–302; 2006.
Park S, Lee JK, Lee C. Development of a Korean adult male computational phantom for internal dosimetry calculation. Radiat Protect Dosim 121:257–264; 2006.
Qiu R, Li J, Zhang Z, Wu Z, Zeng Z, Fan J. Photon SAF calculation based on the Chinese mathematical phantom and comparison with the ORNL phantoms. Health Phys 95:716–724; 2008.
Shahmohammadi Beni M, Ng CY, Krstic D, Nikezic D, Yu KN. Conversion coefficients for determination of dispersed photon dose during radiotherapy: NRUrad input code for MCNP. PLoS One 12:e0174836; 2017.
Shahmohammadi Beni M, Krstic D, Nikezic D, Yu KN. A comparative study on dispersed doses during photon and proton radiation therapy in pediatric applications. PLoS One 16:e0248300; 2021a.
Shahmohammadi Beni M, Watabe H, Krstic D, Nikezic D, Yu KN. MCHP (Monte Carlo+ human phantom): platform to facilitate teaching nuclear radiation physics. PLoS One 16:e0257638; 2021b.
Simon SL, Bouville A, Beck HL, Anspaugh LR, Thiessen KM, Hoffman FO, Shinkarev S. Dose estimation for exposure to radioactive fallout from nuclear detonations. Health Phys 122:1–20; 2022.
Sneha C, Pradhan SM, Adtani MM. Study of minimum detection limit of TLD personnel monitoring system in India. Radiat Protect Dosim 141:168–172; 2010.
Weber WJ, Roberts FP. A review of radiation effects in solid nuclear waste forms. Nucl Technol 60:178–198; 1983.
X-5 Monte Carlo Team. MCNP—a general Monte Carlo N-particle transport code, version 5. Los Alamos, NM: Los Alamos National Laboratory; LA-UR-03-1987; 2003.
Xu XG, Chao TC, Bozkurt A. VIP-Man: an image-based whole-body adult male model constructed from color photographs of the Visible Human Project for multi-particle Monte Carlo calculations. Health Phys 78:476–486; 2000.
Yamaguchi Y. Age-dependent effective doses for external photons. Radiat Protect Dosim 55:123–129; 1994.
Zankl M, Petoussi N, Drexler G. Effective dose and effective dose equivalent–the impact of the new ICRP definition for external photon irradiation. Health Phys 62:395–399; 1992.