Roy and Niels

Roy and Niels

Monday, March 21, 2011

The "ideal" Monte Carlo user interface

If you have read many of our posts, you probably know that radiation Monte Carlo software plays a large role in both Niels' and my research efforts. Niels wrote an insightful and entertaining overview of the available Monte Carlo engines relevant for particle therapy. I'm going to talk about one of the things that most MC users have surely thought about or at least been frustrated by: user interfaces.

I'll start by making a disclaimer. Monte Carlo for radiation / particle transport is not a simple problem. It takes many person years worth of effort to produce a codebase that gives reasonable results. This post is mostly my musings about some ideal user interface. I am the proverbial beggar who also wants to be a chooser :)

Most interaction with MC programs is performed by creating input files of some sort (in Geant4 these are called macro files and can function in largely the same way). Usually these input files allow you to set the majority of important parameters relevant to your simulation (e.g. beam parameters, target geometry, detector geometry, scoring parameters, etc). While initially cryptic (see Fluka and MCNP input files), these text input files are extremely flexible and can be generated programatically or with a GUI. The problem of course, is that your typical input file format is not very intuitive, designed to be machine parsible, rather than human friendly. And as all new MC users know, input files and their syntax are one of the major hurdles in getting up and running.

A Fluka input file.

So what would the ideal MC user interface look like? Radiation physics users of MC engines want to irradiate something and score some quantity. For medical physics users, that usually means irradiating a human or water phantom and scoring dose or fluence. To me the obvious interface for MC codes would be identical to 3D CAD (computer-aided design).


The open source FreeCAD CAD program.

A 3D CAD style interface would put you directly in the geometry of the simulation world. Build your target from simple shapes or import existing geometries (e.g. DICOM files), graphically designate your beam source, type, and direction, and set up your detector geometries. More importantly, you would be able to manage your simulation end-to-end in the interface.

It can be argued that 3D CAD is as hard or harder to learn than a given MC engine. My approach for a user interface would be to expose the minimum useful controls, making advanced options discoverable through menus and configurable with shortcuts.

The follow-up disclaimer is that 3D CAD is also not an easy problem, so we are unlikely to see this soon. In fact many of the MC programs can import geometries from CAD programs (see SimpleGeo), but I'm unaware of any that have attempted to fully integrate a CAD-style GUI as a primary user interface.

What's your ideal Monte Carlo user interface? Leave us a comment and let us know.

Monday, March 14, 2011

How to Produce Antiprotons

Both Roy and I work on the AD-4/ACE project at CERN where we investigate antiprotons as candidate particles for use in cancer therapy. We have about one week of beam time every year where we conduct radiobiological and dosimetric experiments at the beam line in a very interdisciplinary team consisting of physicists, radiobiologists and radiation oncologists from more than 10 universities and university hospitals.

CERN is the only place in the world, where we have a antiproton beam at sufficiently *low* energy, that is, around 100 MeV which corresponds to a range of ~10 cm in water. The LHC is not involved in the production at all. In fact, for antiproton production only a relatively small amount of the CERN complex is used. However, the production is still very cumbersome. First a high energy proton beam must be made. This happens at the Proton Synchrotron (PS), the old workhorse of CERN. It was inaugurated by our great Dane Niels Bohr in 1959.
The proton beam is accelerated up to 26 GeV, and then dumped into a target followed by a so-called magnetic horn.

Antiproton production target.


Basically, it is an air cooled iridium target. When the beam is dumped, two protons are converted into three protons and an antiproton. During the dump a powerful current is sent along the beam axis, which generates a magnetic field, keeping as many antiprotons as possible on axis. Immediately after the target there is a “lithium lens” (a Russian invention), which tries to capture even more of the very precious antiprotons. The created antiprotons have a very high energy of several GeV and are then captured by the Antiproton Decelerator (AD). It then takes more than 80 seconds for the beam to slow down. The deceleration is actually not the time consuming issue, but rather shaping the beam, making it small and narrow, so antiprotons are not lost during the deceleration process.
This is realized using stochastic cooling. Along with electron cooling (which was invented by G.I. Budker, and is widely applied), this will remove energy from the transverse movements of the antiprotons, thereby reducing the emittance of the beam.

Yesterday (while following Dag Rune Olsens twitter account) I learned that Simon van der Meer, inventor of stochastic cooling - and winner of the Nobel Prize, died on 4 March 2011.
From our last antiproton run at CERN I have a large amount of video material of technicians working at the AD, which also demonstrates antiproton production and stochastic cooling of the resulting beam. Check out the excerpt below:


And yes, of all those computers, only one of them was running windows. :)

At 1:49 you can see the AD hall. The antiproton decelerater is under that ring of concrete. Those large coils at the far end, which can be seen at 1:54, are delay coax cables which “short circuit” the AD ring across the middle.
At 2:00 you see the bullseye of the production target and at 2:20 the 26 GeV proton beam hits the target as the antiprotons are made. These are slowed down, and the oscilloscope shows how emittance is reduced by stochastic cooling. The beam is then stepwise ramped down to 126 MeV, and cooled in between those steps. Finally the 126 MeV antiproton beam is extracted.
(I plan to produce more videos about the AD-4/ACE experiments, but currently kdenlive crashes frequently and corrupts my project files. It took me almost one entire day to edit those 4 min of video.)

Here is another video which shows the construction of the antiproton production target and the collector. The white cylindrical object behind the target is the lithium lens.


http://cdsweb.cern.ch/record/1063081

This is one of the “hottest” sites at CERN. Things are designed to require minimal human intervention. Here is a very old video of how a faulty magnet had to replaced near the production target. People have to plan each step in advance before they enter the zone.

http://cdsweb.cern.ch/record/1171261

Monday, February 21, 2011

Notes from the 2011 Geant4 Winter Course Tutorial


In January I traveled to Texas A&M University in College Station, TX, USA to attend the Geant4 Winter Course Tutorial to brush up on my Geant4 skills. Here are some of my impressions from the tutorial. The tutorial was from 10-14 January and, despite being in Texas, was on the cold side. Though hosted by the Texas A&M Dept. of Nuclear Engineering, the tutorial itself was held in the main auditorium of the Texas A&M Institute for Preclinical Studies (TIPS). There were about 100 attendees from all over the world, with a sizable fraction from A&M.

So what goes on at one of these tutorials? As described in Niels' earlier post about the different Monte Carlo "codes", Geant4 is not a program, per se, but rather a toolkit, primarily consisting of a set of C++ libraries and data files. The tutorial was aimed at bringing Geant4 newbies and post-newbies up to speed and slightly beyond. To accomplish this, we attended classes for five days in the stadium style auditorium with lectures covering a myriad of topics. Each day had one or two "hands on" sessions, in which we'd work through examples and have our questions answered. In many ways, the hands on sessions were the most useful, because of the one-on-one help. The actual exercises may not have been terribly useful, but having the time to ask questions with laptop-at-the-ready was when things came together. I certainly asked a few questions that were completely unrelated to the tutorial (but not unrelated to my research!) (Thanks again Sebastian!). The other thing I found extremely helpful was simply having time to discuss things with the Geant4 developers and other users. On the last day there were break-out sessions for medical physics, high energy physics, and on DNA damage. I attended the medical physics session with about 30 other people.

Other random notes:
  • The attendees were a good mix of medical physics, nuclear applications, high energy physics, and others.
  • I met a number of people involved with proton therapy projects as well as a post-doc from Wayne State working on their re-commissioned fast neutron therapy project.
  • To keep small animals outside of TIPS, they had several poisonous plastic rocks outside the building (yes, really).
  • We got a nice tour of TIPS, which included seeing the "most powerful" PET/CT scanner in existence.
  • Catering by Jason's Deli all week
  • Possibility of using cloud computing for distributed Geant4 was mentioned in a lecture by Asai. This is a subject of one of my projects (see arXiv:1009,5282v1 [physics.med-ph]).
  • Looked a lot like a web surfing conference.




Overall it was a good tutorial. We learned that we were taking some wrong (or at least more difficult) paths in our code. Certainly Geant4 is a vast topic and a tutorial like this can be very helpful, if only to meet the right people for when you need to ask questions.

Monday, January 31, 2011

Making Bubbles: The Particle Way

BTI BubbleTech Industries manufacture neutron detectors intended for personal dosimetry. Theses devices contain a polymer gel holding very small droplets of a superheated gas. When a neutron interacts with these superheated droplets, a phase transition happen from liquid phase to gas phase expanding the volume dramatically - a bubble appears.

The video below demonstrates how such a detector responds to a (weak) Americium-Beryllium neutron source:



The activity of the AmBe source was 2.64E+4 neutrons per second. The detectors we had were calibrated against ICRP-60 in terms of dose equivalent, according to BTI. The sensitivity of the particular detector shown in the video above was about 0.7 bubbles / µSv dose equivalent.

The detectors come with an integrated piston which repressurizes them, so they can be reused, however not indefinitely. We used our detectors rarely, and kept them refrigerated. However, after two years the encapsulation/pressurization system leaked.

The bubble detectors can be bought with varying sensitivity ranges and BTI even offers a set of detectors which are sensitive above a varying energy threshold. Deconvoluting the counts in each detector of this set will yield a coarse energy spectrum, in e.g. 6 energy bins.

We have used the these bubble detectors in our antiproton beam line at CERN in order to get a coarse measure of the amount of fast neutrons emitted from the antiproton annihilation. We used both the personal dosimeter type and the BDS spectrometer.



The picture above show how multiple personal dosimeter detectors are places at a certain distance from the annihilation vertex.

Unfortunately we had some trouble interpreting the results from the spectrometer. The BDS spectrometer counts seemed to be simply unphysical and a spectrum could not be deconvoluted. The readings from the personal dosimeter also seemed to be off by an order of magnitude.

After some investigations we started to suspect that these bubble detectors were not only sensitive to fast neutrons, but also to charged particles, such as protons. From the antiproton annihilation we do get a similar amount of protons and a threefold multiplicity of energetic pions, which have a long range, far beyond the position of the bubble detectors.

A paper in NIM B, which was published a few years ago by us, lists our findings. Basically we conclude that the sensitivity (# of neutrons per bubble) is quite comparable to that for protons, and perhaps a bit less for pions. The proton part we could test at our storage ring, ASTRID, which we have in the basement of our Physics Department in Aarhus.

In the video you are about to see, we extract a few million protons at about 50 MeV from the synchrotron. The bubble detector here is immersed in a water bath.



The range of the protons are clearly visible. A distinct Bragg peak does not really form, the effect is primarily related to nuclear interaction cross sections.

Friday, January 14, 2011

Open access, medical physics, and arXiv.org

If you read research papers, chances are you’ve heard the term open access. In this post I’m going to talk about what open access is, the state of open access in medical physics, and what medical physicists can do if they want to make their work open access using sites such as arXiv.org. The quick summary is: the primary obstacle to open access in medical physics is adoption by authors. Most journals are already on-board in important ways. If you want to make your medical physics publications open access, you probably can and I encourage you to do so.

According to our friends at Wikipedia, open access is “unrestricted online access to articles published in scholarly journals”. Open access is generally placed into two categories: “Green” open access and “Gold” open access. Green access is defined as author “self-archiving”, when the author places a copy of a paper on their own site or on an e-print server. Gold access is free access provided directly by journals.

No-fee access has many benefits for researchers. For medical physics, these benefits are potentially greater than for other fields, due to the fact that medical physicists are found in a wide variety of settings with varying levels of paid journal access (i.e. universities, community hospitals, small clinics, etc). Even being located at a large university with a large medical center, I have personally run into access barriers. For example, I can only access Medical Physics with my personal subscription; for a time the library subscribed to the Red Journal, but not the Green Journal; the university has no love for Radiation Protection Dosimetry whatsoever. In the current economic climate I’m not optimistic that institutional subscriptions will be on the increase. Ultimately, open access offers availability of information to all regardless of institutional affiliation or budget. (Also, I hate messing with proxies... :) )

While open access is strongly established in some disciplines, particularly physics, computer science, math, and earth science, medical physics seems to have lagged behind the curve greatly, especially in self-archiving.

“The availability of gold and green OA copies by scientific discipline. The disciplines are shown by the gold ratio in descending order, rather than in alphabetical order.” CCA 3.0. Björk B-C, Welling P, Laakso M, Majlender P, Hedlund T, Gudnason G. doi:10.1371/journal.pone.0011273

The above plot from Björk et al. shows the percentage of publications that are made open access in different disciplines. In some sub-disciples of physics, such as high energy physics, the rate of self-archiving is up to 100%. For reasons unknown to me, medical physicists have not embraced open access, despite the supportive polices of medical physics journals (see lists below). I suspect that medical physicists are largely ignorant of the journals’ policies. If medical physicists want to provide open access to their work, they have options to both self-archive (green) or publish in open access journals directly (gold).

arXiv.org
In 1991, high energy physicists began self-archiving their publications on a site called the arXiv (that X is supposed to be like a Greek “chi”). Since then, the arXiv has expanded to cover all of physics, as well as other fields, such as mathematics and computer science. As the leader in physics self-archiving, the arXiv is a logical destination for medical physicists to post their papers. In fact, the arXiv has a medical physics category. Currently, the medical physics category of the arXiv has very low activity relative to the number of medical physics articles published that are eligible to be posted. (I plan to investigate the posting rates in a future blog post.) While the activity is low, it is encouraging to see prominent medical physics researchers, such as Steve Jiang (UCSD) and Thomas Bortfeld (MGH/Harvard), posting articles. (Thanks!) In fact, one tiny area of medical physics that seems to be very well covered on the arXiv is GPU based calculations in medical physics. That’s probably due to Jiang’s group leading the way in posting their publications.

Medical journals
While medical physics journals all allow self-archiving to servers such as arXiv.org, medical journals related to medical physics seem to be much less enthusiastic about open access (see the list for details). The Elsevier journals allow pre-prints and self-hosted archiving, but the main radiology journals have open access “hostile” policies. The one thing that has seemed to crack journals such as those from RSNA is government mandates. One example is the recent rule requiring NIH funded research publications to be made available as open access on PubMed Central within 12 months of initial publication. This rule has had a wide ranging effect on journals and led to much discussion. Funding agencies in other countries have instituted similar rules.

What does this all mean for you?
  1. If you’ve published in medical physics journals, you can probably make your work open access right now by posting your articles to arXiv.org.
  2. If you are planning to submit an article to a journal, you should read the journal’s copyright policy before submitting and before posting a pre-print (or post-print). Some journals have very strange policies, unfortunately, and this has to be taken into account when submitting for publication.
I encourage authors to strongly consider making their work open access, either by self-archiving to the arXiv or publishing in one of the gold access journals. Ultimately, the arXiv is just an example of an e-print repository, but it seems to be the best choice for now. If, for example, a dedicated medical physics repository were created and critical mass were achieved, the papers on the arXiv could be stored there as well. I haven’t discussed the concerns some people have with open access (see the Wikipedia entry). If there is interest, I might talk about that in another post.

Journal policies
Below I will list the current (Jan. 2011) policies of the journals (as far as I can tell, UAYOR, YMMV, IANAL, etc). You can find out more information about the open access policies of these journals and others by using the SHERPA/RoMEO tool.

The state of open access in medical physics journals:
The state of open access in medical journals related to medical physics:

Wednesday, January 5, 2011

libdEdx version 1.0 released

Version 1.0 of libdEdx is now available at sourceforge.net

List of features:
  • ICRU 49 date tables for protons and Helium ions (PSTAR, ASTAR)
  • MSTAR for heavy ions
  • ICRU 73 with and without the erratum for water target
  • A Bethe implementation for any ion, including Linhard-Sørensen equation for low energies
  • Support for 278 ICRU target materials, i.e. the complete ESTAR material table, all with default I-values for the Bethe equation
  • I-values can be overridden for elements
  • Automatic application of Bragg's additivity rule, if requested target material does not exist in default table for e.g. MSTAR.
  • Detailed documentation, and multiple example files
  • CMAKE based installer, with uninstall target.
  • getdedx as a frontend command line program for querying the library
  • Two modes of operation: simple for lazy programmers and fast for e.g. MC codes.
  • GPL license (non-GPL versions available upon request)



How to use libdEdx, simplest possible example.

Demonstration of command line program getdedx. 100 MeV protons using PSTAR on water:

Usage: getdedx program_id  Z icru_target_id energy.

bassler@kepler:~$ getdedx 2 1 276 100
100.000000 MeV/u HYDROGEN ions on WATER target using PSTAR
dEdx = 7.286E+00 MeV cm2/g

Carbon ions on alanine target, using ICRU 73:

bassler@kepler: getdedx 5 6 105 400
400.000000 MeV/u CARBON ions on ALANINE target using ICRU73
 Bragg's additivity rule was applied,
 since compound ALANINE is not in ICRU73 data table.
dEdx = 1.068E+02 MeV cm2/g

For reporting bugs and feature request, you can use our trac ticket system or drop us an email.

Thursday, December 30, 2010

Happy new year...

... and a few wishes for 2011:

libdEdx: I hoped I could announce first official release of the stopping power library before 2011. Unfortunately, there are a few minor problems with the Bethe implementation which Jakob wanted to fix first. It is almost done...
Just to give an idea what's coming up: libdEdx 1.0 will probably be a Linux-only release and we most likely won't include ESTAR tables. Good news are that PSTAR, ASTAR, MSTAR and the ICRU 73 (old and new) tables seem to work. The entire ESTAR ICRU material composition table is supported, so if the user of the library calls a non-standard compound, Braggs additivity rule is automatically applied according to the stochiometric compositions defined by ICRU (see list here).
The Bethe-equation implementation allows the user to override the mean exitation potential for elements. Also, an uninstall target is now provided in the CMake configuration.
If you can't wait for the 1.0 release of libdEdx you may test revision 85 in the SVN repository which is quite close to something functioning.
Enough said about that.

So, regardning the current status of SHIELD-HIT10A: The main developer and maintainer Prof. Nikolaj Sobolevsky from INR Moscow visited us again in Aarhus for a month (a few pictures to be added later). Basically, we discussed the changes from 08 to 10A, the fitting of nuclear models to recently published experimental data and  the development framework in general.  More importantly, we try to encourage a clearer road map for SHIELD-HIT. In particular, this involves settling on a clear license model and terms of use. This process is ongoing and takes time, but surely we still see SHIELD-HIT filling a gap which neither FLUKA or Geant4 fills when it comes to combining ease-of-use while still having access to the source code. Stay tuned for more on this.

Now for something completely different: Since this blog (<-- beware of the recursion) quite unintentionally has turned more or less into a blog on topics in computing, medical physics and particle therapy, I have invited a fellow blogger Roy Keyes from University of New Mexico (Albuquerque) to contribute. Roy and I have shared many night shifts at CERN running our antiproton experiments.
Roy Keyes' (to the left) inexhaustible repository of real life anecdotes helped me to stay awake during the long night shifts at CERN October 2011. Thanks, Roy. Everyone, say hi to Roy...
Common work topics are also Monte Carlo simulations, mostly FLUKA, which UNM is running in the Amazon cloud (awesome idea!). In addition, Roy works on an open source DICOM-RT viewer dicompyler. Dicompyler resembles in many ways my PyTRiP project, which is supposed to be a versatile python visualization tool for the heavy ion treatment planning program TRiP, including a GUI. Probably these projects will merge at some point and take over the world. Again, more on this later.

BTW: You can meet Roy in a little test video I made about the CERN antiproton experiments. Alas, since kdenlive crashes big time in the current version at project loading, I never made it further than the intro and gave up the editing. I'll have to wait until kdenlive is updated in Debian testing repo. But I got looooots of wonderful footage, including details of antiproton production and french speaking technicians fixing dead synchrotrons! :-)

Plenty of plans, only little time, but surely this blog will become much more lively 2011. With these words, I wish you all a happy new year!

Cheers,
Niels

P.S.: Future non-work related blog entries from my side will be published on http://opasnajazona.blogspot.com. (The similarity to a nuclear waste dump is not coincidental.)