home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: Science
/
Science.zip
/
gammas13.zip
/
gammasun.HLP
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1995-02-06
|
1MB
|
1,547 lines
ΓòÉΓòÉΓòÉ 1. About GammaSun ΓòÉΓòÉΓòÉ
Welcome to GammaSun V1.3 !
GammaSun is a gamma Spectra unfolding software package, developed in the PTB
(Physikalisch-Technische Bundesanstalt) in Braunschweig (Germany). The primary
task of GammaSun is to unfold and analyse X-ray spectra, measured with
CdTe-detectors (Cadmium-Telluride). If you have an analytical description of
the convolution function or the response matrix as ASCII-data GammaSun can be
used for these convolution problems too.
Unfolding is a mathematical procedure of removing the effects due to the
response of the measuring system from the measured data in order to obtain the
original "true" data. See convolution - the problem. In our case the data are
spectra measured by gamma-detectors. The response of these detectors is
determined by various physical effects inside the detector material like
Compton Scattering, photoeffect etc. The measured spectra of the detector look
like this And for what do be spend such an effort? For a spectrum like that:
The spectra were recorded by a spectrometer looking over an opening angle of
180 degrees.
The following picture shows a portable in-situ gamma-spectrometer containing
the CdTe-dectectors. The purpose of the spectrometer is the measurement of the
angular and spectral distribution of gamma and X-ray fields at workplaces.
The spectrometer consists of three hemispherical CdTe detectors, each
surrounded by cylindrical shielding to suppress radiation incident from
undesired directions. Each reverse detector segment is covered by another
segment in forward direction, so that the incident radiation from a solid angle
of 2 Pi is recorded separately and simultaneous for the tree different ranges
of the solid angle. Each of the CdTe-detector and its preamplifier is
capsulated by a Al aluminium case of 5 cm in diameter: The angular and energy
dependence of the absorption of the shieldings was investigated by using X-ray
fields of the ISO narrow spectrum series A80, A300 and gamma radiation from a
Cs-137 source.
The following picture shows the 420 keV X-ray tube of the PTB laboratory 6.21
used for the calibration of the spectrometer. in the PTB. GammaSun also
calculates the personal doses H┬░, H' H_x for photon radiation. These results
are only valid for this spectrometer, since the angular and energy dependence
of the absorption of the shieldings is unique for this spectrometer.
ΓòÉΓòÉΓòÉ 2. Thanks ΓòÉΓòÉΓòÉ
This program is a (one) result of my diploma under the guidance of Dr. G.
Hilgers. So I have to give my special thanks to my scientific supervisor Dr. G.
Hilgers for his practical suggestions, constructive critics and for his
response function for CdTe-detectors. Without his engagement GammaSun wouldn't
have come to what it is now.
Thank you, Gerd.
Thanks to Mrs Kern for teaching the art of "schnetzeln" and numerous
peculiarities concerning the PTB.
I also had to thank Dr. Ambrosi, Dr. BФhm, Dr. Grosswendt for their hints, tips
and tricks. A special thank to Dr. Ambrosi for trusting in my handling with all
the laboratory equipment and for explaining so many details to me. Sorry for
the controller of the stepping motor, Mr Buchholz. Thank to Dr. U. Schneider
and Dr. M. Schneider for their Cs-137 source.
Thanks to Dr. Matzke for his FORTRAN implementation and his explanation of the
SAND II algorithm.
Thanks to cand. inform. Urs ThБrmann for his help of implementing the matrix
parser.
I also want to thank IBM for their OS/2 support, especially for their OS/2
platform and the supported C-compiler. The developer assistance program (DAP)
was a great idea helping developers.
Thanks to Prof Keyser for the putting the diploma theme.
Last but not least I want to greet the members of laboratory 6.21 in the PTB in
which I worked, having a lot of fun.
ΓòÉΓòÉΓòÉ 3. Copyright / Motivation / Support ΓòÉΓòÉΓòÉ
Version 1.3 of GammaSun is public domain and comes with absolutely no warranty.
You can copy it as often as you want but commercial utilization is strictly
forbidden. If you want to utilize GammaSun in a commercial you have to contact
the author
GammaSun was developed within the research project St. Sch. 4059 of the BfS
(Bundesamt fБr Strahlenschutz) (Internal PTB-no: 6204) to support the
investigation of the angular and spectral distribution in gamma- and X-ray
fields at work places. This research project was financially supported by the
Minister of Environment, Nature Conservation and Reactor Safety of the Federal
republic of Germany.
GammaSun was realized in the programming language "C" under OS/2 with the aid
of the Developer Assistance Program (DAP) and Developer Connection (DEVCON) of
IBM due to some substantial advantages of OS/2 compared to other platforms like
DOS or Windows mainly its significant higher speed during mathematical
calculations and its real multitasking.
ΓòÉΓòÉΓòÉ 4. The Authors ΓòÉΓòÉΓòÉ
If you have any more ideas or additional suggestions for GammaSun, the
unfolding method or if you found bugs, we are always interested in your reports
and mail. Send a notification to:
Physikalisch-Technische Bundesanstalt (PTB)
Labor 6.21
Dr. G. Hilgers / Reinhard Alt
Bundesallee 100
38116 Braunschweig
Germany
or to the private address of Reinhard Alt. From Dr. G Hilgers you can receive
also a PASCAL-Version of the deconvolution program (dose calculation, peak
analysis, nucleus data excluded, but his program has additional features)
running under Windows(Tm). If you have questions to GammaSun you should ask
Reinhard Alt.
ΓòÉΓòÉΓòÉ 5. Versions of GammaSun ΓòÉΓòÉΓòÉ
o Version 1.0 PTB internal
- Matrix parser added
- file format for matrices changed
- calibration factor for energy added
- set base vector from response matrix menu changed
o Version 1.1 PTB internal
- change: exported fluence was in dependence of matrices pack factor
- change: matrix export. In older version the log( matrix element) * 1e22
instead of matrix element is exported.
o Version 1.2
- bug fix: in version 1.1 there is added an constant background when
clearing the input vector with the panel for setting the input vector.
- inverting by Gauс-Jordan
- now every dimension of matrices can be used
- base vectors can be multiplied by transmission vector
- inverting by Gauс-Jordan in long double
- calculation of the spur
- calculation of the determinant
- calculation of residuum
- bug in calculation of H_x fixed
o Version 1.3
- when exporting data for ASCII input path was taken instead of output path
- matrix binary format has changed -- the energy for the base vectors is
saved too. The matrices in the old format must be exported with the
relating version of GammaSun and imported as ASCII in the new version of
GammaSun
- residuum can be checked graphically
- error corrected on option notebook page matrix the calibration unit is
eV/channel not keV/channel
- exported 3 column data couldn't be read in older versions.
- now, peak analysis is possible
- bug fixed: The first by unfold many menu item selected file is not
processed if the view dose dependence in output notebook page is disabled.
- additional feature: plot emission probability coefficients for X-ray and
gamma-ray of some nuclei in dependence of the energy resolution of the
response matrix. You can fold them with any detector response matrix and
do a comparison with spectra measured on the same detector.
- new pack algorithm implemented: the old one is only able to pack input
vectors if the dimension of the vector is a multiple of the dimension of
the matrix. Now, the input vector may have every dimension.
- every plot in a graphic window can be folded with a response matrix
- every added line in the GammaSun comment window cost one OS/2 page (4
kBytes). Avoid the loss of resources by switching off the comments of the
SAND iteration (in Notebook)
ΓòÉΓòÉΓòÉ 6. Known bugs and problems ΓòÉΓòÉΓòÉ
Known bugs
There are some problems because of the using several threads in the program.
The programming overhead for controlling these threads is in some cases not
even small. In the future I try to correct these problems.
o When exporting data of a window, program bugs if the SAND iteration is going
on. Avoid exporting data during iteration.
o Avoid examining matrices during calculation of response matrix. (possible
underflow exception)
Known problems
o For every added line in the main window the presentation manager allocates an
extra memory block. After many messages the system may slow down because of
the swapping activities on the hard disk. For that reason you should free the
allocated memory by resetting the protocol buffer or switch the comment
output on the SAND II notebook page off (Because the most output to the
message window is done by the SAND II iterations).
o The cursor in the evaluation window is only updated if you press a control
key like <Alt> <Ctrl> etc. When I have a little more time, I will r.t.f.m.
o GammaSun is not yet optimized under the aspect of runtime behavior. There is
a potential to make the program faster.
ΓòÉΓòÉΓòÉ 7. Smilie precedence ΓòÉΓòÉΓòÉ
:-) all is running as expected -- don't worry, be happy!
:-O Gammasun presents some results, data and so on
:-| presents information only for experts -- continue working with GammaSun
:-( something has gone wrong. Think about the message and r.t.f.m.
:-(( an heavy internal error occurred. If the error has been seen during file
operations, check the paths and the existence of the files! If there is
no memory, you should spend some money for a new bigger swapping drive.
In all other cases you should inform the programmer by I-Mehl and spend a
thought about leaving the program.
ΓòÉΓòÉΓòÉ 8. Why is GammaSun beeping? ΓòÉΓòÉΓòÉ
During the startup of GammaSun some data files were loaded:
standard.par this file contains all option notebook and the path information.
kermatab.dat contains the conversion factors from fluence to air kerma.
convc007.dat contains the angular dependence factor for slab phantoms in 0.07
mm depth. For details have a look at the header of this file.
convc10.dat contains the angular dependence factor for slab phantoms in 10 mm
depth. For details have a look at the header of this file.
angular.dat contains the angular transmission function of the detector
shielding. For details have a look at the header of this file.
All of these files must be located in the same directory as gammasun.exe. If
these files are not located in the expected directory, GammaSun beeps for every
missing file. GammaSun also beeps if the structure of the files or the comment
symbols are not correct. The default comment symbol is the ; character. You can
set it in the output notebook page.
GammaSun logs all problems over stderr. The standard error file descriptor is
in most cases connected with the console, but in Presentation Manager
Application stderr is connected with nothing. The command
gammasun.exe 2>error.log
redirects the standard output to a file ("error.log"). Now, all messages are
collected in a file.
ΓòÉΓòÉΓòÉ 9. Main Menu ΓòÉΓòÉΓòÉ
The main program opens an message/error output window, which receives
notifications, messages and errors from called subroutines. If something is
going wrong you will be informed by this window.
main window printing information and errors
ΓòÉΓòÉΓòÉ 10. File ΓòÉΓòÉΓòÉ
In this menu you will find all operations for im- and exporting matrix and
spectrum data. You have the possibility of saving data in an binary packed form
(save and load menu items). You also can write the data in a more human
representation (ASCII). You do this by using import and export menu items.
ΓòÉΓòÉΓòÉ 10.1. load response matrix ΓòÉΓòÉΓòÉ
You can load binary saved response matricefiles with the menu entry "load
responsematrix". In dependence of the number of used channels, you need up to
25 MBytes of RAM or swap space.
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé channels Γöé unprepared Γöé prepared Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 128 Γöé 131 kB Γöé 393 kB Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 256 Γöé 524 kB Γöé 1572 kB Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 512 Γöé 2097 kB Γöé 6291 kB Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 1024 Γöé 8388 kB Γöé 25165 kB Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
This menu item is queued to the second calculating thread thus loading is
blocked during calculation of the response matrix.
The matrices are stored in an effective data format for quick loading and
storing. The data format in the file is:
MTXINFO matrix_information;
MATRIX_INF response_matrix;
The structures MTXINFO and MATRIX_INF contains information about the dimension
of the matrix and a pointer to the data (not used in the file but in memory).
typedef struct
{
long used_channels;
INVERSIONMETHOD inversion_method;
double e_calibration;
} MTXINFO;
typedef struct _MATRIX_INF
{
long zeilen, /* rows */
spalten; /* columns */
double **matrix; /* in file not used pointer to data */
} MATRIX_INF;
used_channels number of used channels is equivalent to zeilen and spalten
inversion_method indicates the inversion method an the number of written
matrices
typedef enum
{
INVERSE_NO, /* no inverse one matrix saved */
INVERSE_BY_SVD, /* matrix inversion by SVD-decomposition */
INVERSE_BY_LU, /* matrix inversion by LU-decomposition */
INVERSE_BY_GJ, /* matrix inversion by GAUSS-JORDAN */
INVERSE_BY_LDGJ, /* matrix inversion by GAUSS-JORDAN (long double) */
INVERSE_ONLY /* only inverse matrix */
} INVERSIONMETHOD;
e_calibration energy increment between two base vectors in eV
After the header information MATRIX_INF of the matrix zeilen*spalten*8 Bytes
data are written.
If inversion_method != INVERSE_NO the following matrices were appended
MATRIX_INF matrix_u;
MATRIX_INF matrix_v;
VECTOR_INF matrix_w;
The VECTOR_INF structure is similar to the MATRIX_INF structure
typedef struct _VECTOR_INF
{
long zeilen; /* rows */
double *vector;
} VECTOR_INF;
ΓòÉΓòÉΓòÉ 10.2. save response matrix ΓòÉΓòÉΓòÉ
You can save binary response matrices with the menu entry "save
responsematrix". Depending on the number of used channels, you need up to 25
MBytes of RAM or swap space.
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé channels Γöé unprepared Γöé prepared Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 128 Γöé 131 kB Γöé 393 kB Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 256 Γöé 524 kB Γöé 1572 kB Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 512 Γöé 2097 kB Γöé 6291 kB Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé 1024 Γöé 8388 kB Γöé 25165 kB Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
This menu item is queued to the second calculating thread thus loading is
blocked during calculation of the response matrix. The format of the data is
descripten in matrix load panel
ΓòÉΓòÉΓòÉ 10.3. export matrix (ASCII) ΓòÉΓòÉΓòÉ
For some applications i.e. Origin(TM) ASCII data is needed. The data is written
in an array of the dimension of the matrix (aha)! The space required for the
file is extremely large --- make sure that this space is available on your hard
disc. Otherwise you might get in trouble. You should only use the smallest
matrix dimensions.
ΓòÉΓòÉΓòÉ 10.4. import response matrix ΓòÉΓòÉΓòÉ
You can import a response matrix by using this menu entry. The data format must
be ASCII. Every row must be separated by a newline character "\n" every number
in a row by a space. A tab character is not accepted as a delimiter. Comments
may be included by a comment character on the first column. The comment
character is chosen on the output notebook page. If needed, the inverse matrix
must calculated by setting the preferred inversion algorithm on the matrix:
matrix parameters notebook page The imported matrix must be a square matrix.
ΓòÉΓòÉΓòÉ 10.5. import inverse response matrix ΓòÉΓòÉΓòÉ
If you have inverted a matrix with your own inversion program, you can import
this matrix in ASCII format by selecting this menu item. Every row must be
separated by a newline character "\n" every number in a row by a space. A tab
character is not accepted as a delimiter. Comments may be included by a comment
character on the first column. The comment character is chosen on the output
notebook page. If you want to import response and inverse matrix, you had to
import the response matrix first because in other importing sequence the
inverse matrix is thrown away.
ΓòÉΓòÉΓòÉ 10.6. import data (Target) ΓòÉΓòÉΓòÉ
The measured spectrum is typically stored in binary form. But, fortunately some
analog-digital converter programs stores the scanned data in ASCII format. This
menu choice expects the data as a stream with typically 8 numbers per row
separated by a comma. (TARGET Software)
ΓòÉΓòÉΓòÉ 10.7. import data (ASCII) ΓòÉΓòÉΓòÉ
Data may be imported using this menu. The data file must had to consist of two
columns. The first columns represents the x-value the second the y-value.
ΓòÉΓòÉΓòÉ 10.8. export input vector (ASCII) ΓòÉΓòÉΓòÉ
The folded input vector may be exported using this menu. The data file must had
to consist of two columns. The first columns represents the x-value the second
the y-value.
ΓòÉΓòÉΓòÉ 10.9. export output vector (ASCII) ΓòÉΓòÉΓòÉ
The unfolded output vector may be exported using this menu. The data file must
had to consist of two columns. The first columns represents the x-value the
second the y-value.
ΓòÉΓòÉΓòÉ 11. action ΓòÉΓòÉΓòÉ
This menu item provides you all operations for calculating, testing and viewing
the matrices, starting the deconvolution of one, many or all spectra. For the
deconvolution procedure the parameters are used as set in the option notebook.
ΓòÉΓòÉΓòÉ 11.1. calc response matrices ΓòÉΓòÉΓòÉ
For the deconvolution procedure you need a response matrix. Either you load the
response matrix or calculate a specific matrix for our CdTe-Detektors. The
matrix will be calculated with the parameters chosen in the corresponding
option notebook page . There you have to set the number of used channels and
the energy per channel. The quotient 1024/channels may not have a rest --
otherwise the matrix is not packed. The used response function is described in
section Generation of the response matrix of hemispherical CdTe detectors.
First, the matrix is calculated in the dimension 1024 and then packed in the
dimension you specified in the notebook. The energy calibration for our special
matrix for CdTe is 1310 eV/channel.
ΓòÉΓòÉΓòÉ 11.2. evaluate response matrices ΓòÉΓòÉΓòÉ
This menu item provides you a simple way to calculate any matrix. You can
evaluate the matrix dimensioned by the corresponding notebook page by building
two for loops in which inner loop you calculate a matrix cell by any
mathematical expression.
o further information for evaluating matrices
ΓòÉΓòÉΓòÉ 11.3. deconvolute one spectrum ΓòÉΓòÉΓòÉ
Unfold the actual loaded spectrum with this menu item. You must have loaded an
input spectrum and a response matrix. The deconvolution options chosen in the
option notebook are used for the deconvolution process. The main window logs
the process.
ΓòÉΓòÉΓòÉ 11.4. deconvolute all spectra ΓòÉΓòÉΓòÉ
Unfold all spectra with this menu item. You must have loaded a response matrix.
The deconvolution options chosen in the option notebook are used for the
deconvolution process. The main window logs the process. The routine processes
all files in the chosen input path.
ΓòÉΓòÉΓòÉ 11.5. deconvolute selected spectra ΓòÉΓòÉΓòÉ
Deconvolute selected spectra with this menu item. You must have loaded a
response matrix. The deconvolution options chosen in the option notebook are
used for the unfolding procedure. The main window logs the procedure.
ΓòÉΓòÉΓòÉ 11.6. fold output vector to input vector ΓòÉΓòÉΓòÉ
Normally you load a convoluted input vector and unfold this vector. The result
is now the deconvoluted output vector. By folding the output vector with the
response matrix, you can control the numerical stability. Another method is to
calculate the residuum
ΓòÉΓòÉΓòÉ 11.7. fold output vector to graphic ΓòÉΓòÉΓòÉ
The functionality of this menu item is equal to fold output vector to input
vector. The folded output vector is plotted in a graphic window.
ΓòÉΓòÉΓòÉ 11.8. stop SAND ΓòÉΓòÉΓòÉ
The iterative deconvolution algorithm is very time consummating for response
functions of higher dimension. The iteration can be stopped by this menu item.
ΓòÉΓòÉΓòÉ 11.9. calculate inverse matrix ΓòÉΓòÉΓòÉ
The inverse matrix is calculated in dependence of the chosen methods in the
matrix: matrix parameters notebook page .
After you have calculated the matrix you should test the result.
See calculate neutral matrix
ΓòÉΓòÉΓòÉ 11.10. calc neutral matrix ΓòÉΓòÉΓòÉ
If you inverted response matrix for the unfolding, the inverse matrix should be
tested by computing the neutral element (unit matrix 1).
1 = R * R^(-1)
The results for the diagonal elements should be near to 1 whereas the other
elements have to be zero.
In the protocol window you will see something like this:
Additionally the condition number N of the response matrix R is computed. The
condition number is defined as:
N = Max( R ) / Min( R )
ΓòÉΓòÉΓòÉ 11.11. calculate spur ΓòÉΓòÉΓòÉ
Calculates the sum over the diagonal elements of the
response matrix
matrix U (inverse matrix using Gauss-Jordan)
matrix V (used by SVD)
ΓòÉΓòÉΓòÉ 11.12. calculate determinant ΓòÉΓòÉΓòÉ
Calculates the determinant of the
response matrix
matrix U (inverse matrix using Gauss-Jordan)
matrix V (used by SVD)
ΓòÉΓòÉΓòÉ 11.13. calculate residuum ΓòÉΓòÉΓòÉ
The deconvoluted result should be tested. One method is to calculate the
residuum. The residuum is the difference between measured spectrum and the by R
folded deconvoluted spectrum. You got a good result if the content of all
channels are near to zero.
ΓòÉΓòÉΓòÉ 11.14. set base vector as input ΓòÉΓòÉΓòÉ
It is a good idea to test the unfolding algorithm by deconvoluting one base
vector of the response matrix. Choosing this menu item you can do that by the
following panel:
The Pushbutton Add can be used for adding a base vector of the response matrix
to the input vector. With the Pushbutton Clear you are dismissing the old one.
A typical base vector of a response matrix for our CdTe detector looks like
this.
ΓòÉΓòÉΓòÉ 11.15. make noise to input spectra ΓòÉΓòÉΓòÉ
The more noise is found on the input spectra the more problematic the
deconvolution will be. You can simulate noise by this menu item. You may apply
this as often as you want.
ΓòÉΓòÉΓòÉ 11.16. integrate spectra ΓòÉΓòÉΓòÉ
If you want to integrate a set of spectra you can do this by this panel:
All files matching the file mask are integrated from the left to the right
channel. You may subtract an background at a special channel number. The
subtracted background is calculated by averaging over some channels at the left
borders of the integration interval. The data is written into two files: the
data file containing only the integrals of the spectra and the comment file
containing the file name and the integrals.
ΓòÉΓòÉΓòÉ 11.17. pack input spectra ΓòÉΓòÉΓòÉ
Allows packing of the input vector to the dimension of the response matrix. The
input vector is replaced by the packed result.
ΓòÉΓòÉΓòÉ 12. view ΓòÉΓòÉΓòÉ
Offers examining matrices and vectors.
ΓòÉΓòÉΓòÉ 12.1. view input spectrum ΓòÉΓòÉΓòÉ
Pops up a graphic window containing the folded input spectrum.
ΓòÉΓòÉΓòÉ 12.2. view output spectrum ΓòÉΓòÉΓòÉ
Pops up a graphic window containing the unfolded out spectrum.
ΓòÉΓòÉΓòÉ 12.3. view transmission function ΓòÉΓòÉΓòÉ
Pops up a graphic window containing the transmission function used for the
matrix generation.
ΓòÉΓòÉΓòÉ 12.4. view response matrix ΓòÉΓòÉΓòÉ
Pops up a graphic window containing a base vector of the response matrix.
Additional a matrix examiner is popped up for switching between the base
vectors. See matrix examiner
ΓòÉΓòÉΓòÉ 12.5. view matrix U ΓòÉΓòÉΓòÉ
Pops up a graphic window containing a base vector of the matrix U. Additional a
matrix examiner is popped up for switching between the base vectors. See matrix
examiner
ΓòÉΓòÉΓòÉ 12.6. view matrix V ΓòÉΓòÉΓòÉ
Pops up a graphic window containing a base vector of the matrix V. Additional a
matrix examiner is popped up for switching between the base vectors. See matrix
examiner
ΓòÉΓòÉΓòÉ 12.7. view diagonal matrix w ΓòÉΓòÉΓòÉ
Pops up a graphic window containing the diagonal of the matrix W.
ΓòÉΓòÉΓòÉ 12.8. matrix examiner ΓòÉΓòÉΓòÉ
The matrix examiner is connected with one graphic window showing the related
matrix. With the spin button you can switch trough the rows or columns of the
matrix.
ΓòÉΓòÉΓòÉ 13. emission ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 13.1. import data file ΓòÉΓòÉΓòÉ
The data file containing the emission data of gamma-ray must be loaded by this
menu item. The data file "nuklide.asc" should be placed where gammasun.exe can
be found. "nuklide.asc" contains the emission probability of gammas for several
radioactive nucleus observed and collected by [10].
ΓòÉΓòÉΓòÉ 13.2. free data file ΓòÉΓòÉΓòÉ
Frees the internal data structures containing emission probability's for
gamma-ray.
ΓòÉΓòÉΓòÉ 13.3. view emission data file ΓòÉΓòÉΓòÉ
The nuklid analyser shows in the main window the emission probability of
gamma's, the relating energy per decay. The third column present the relative
emission probability in percent. The entry field synonym contains the usual
synonym of the nucleus. The push button view plot a the emission probability
for the selected nuclei. The energy calibration and the used channels are taken
from the matrix: matrix parameters notebook page.
ΓòÉΓòÉΓòÉ 14. options ΓòÉΓòÉΓòÉ
Here you will find the option notebook in which you can set up:
the input and output path for matrices and spectra
the parameters of the unfolding procedure
load unfolding parameters
save unfolding parameters
reset protocol buffer
ΓòÉΓòÉΓòÉ 14.1. Choose path ΓòÉΓòÉΓòÉ
With this panel the input and output path for spectra and matrices are set. the
buttons on the left side open a file selection box in which you may choose the
directories. Optional you can enter the paths in the right entry field. It is
necessary that you omit the finishing "\" in the path names.
ΓòÉΓòÉΓòÉ 14.2. Help option notebook ΓòÉΓòÉΓòÉ
For the unfolding procedure many parameters are needed, for example the
calculation of the starting values for SAND II algorithm or the smoothing
filter and its parameters used for preparing the input spectra and so on. All
these parameters can simply be set in the corresponding pages of the option
notebook.
On the right hand side of the notebook you see on the tab fingers which shows
the content of the specific notebook page. Choose
method: starting method for SAND II and input smoothing
SAND II: for SAND II parameters
dose: for dose calculation
output: saving parameters for a none manual deconvolution
matrix: matrix parameters
ΓòÉΓòÉΓòÉ 14.2.1. method for the start values for SAND II ΓòÉΓòÉΓòÉ
o It is a good idea smoothing the input spectra. To do so click on the
checkbutton pre smooth. With view you can examine your result. You can set
the smoothing method and the parameters with the button smoothing parameters.
o For spectra containing a significant background it is necessary to subtract
the background. Therefore use subtract background. The parameter avoid
negative values leads to better results. You can view the remaining spectrum
with the checkbutton view rest.
o You can perform a post smoothing of the background corrected spectrum in the
above descripted way. But be careful -- you may loose information when
smoothing at this point.
o The following is the most important procedure in GammaSun: the unfolding
procedure. You have to choose one out of four possibilities
- SVD-Fit If you have a well conditioned matrix you may get reliable results
with this method. In most cases you will find oscillations on the
resulting spectrum.
- use constant sets the starting values to the value shown beside this
radiobutton. This method should be used only if you use the iterative SAND
II algorithm. Otherwise the output vector is simply the constant entered
in the entryfield.
- multiply with inverse calculates the deconvoluted spectrum by multiplying
with the inverted response matrix. This method is in theory the only exact
method if the response matrix is regular but it is for some matrices (i.e.
the constructed matrix for CdTe) numerically not very stable!
- stripping the stripping technique evaluating the best results of all
implemented methods. The spinbutton should always show 100 percent. The
value represents the factor of each base vector subtracted from the input
vector
o You can view the result of the deconvolution method be enabling the view
output checkbutton.
o The deconvoluted result should be tested. One method is to calculate the
residuum. The residuum is the difference between measured spectrum and the by
R folded deconvoluted spectrum. You got a good result if there are zeros in
all channels.
ΓòÉΓòÉΓòÉ 14.2.2. SAND II parameters ΓòÉΓòÉΓòÉ
o If you select the use SAND II checkbutton the SAND II iteration will be
executed. Otherwise the following settings are unused.
o You can smooth the deconvoluted (resulting from the starting method) spectrum
with the checkbutton pre smooth and view the result with the checkbutton
view.
o SAND II algorithm parameters
- For faster convergence you can enable a predictor mechanism with the
checkbutton use predictor
- In some cases it is necessary to force a minimum number of iteration runs.
This can be done by enabling the force check button and setting up the
minimum number of iterations.
- The maximum of iterations is set with the max iteration spinbutton.
- In some cases it seems to be useful to reduce the ratio between maximum
and minimum of the deconvoluted input spectrum. You can do this with the
force reduced dynamic checkbutton. The ratio can be chosen set between 10
and 10^15.
o During SAND II iterations you can examine the progress by viewing the actual
deconvoluted vector. You have the options:
- skip -- no output
- in dynamic window -- every step will be shown in the same window
- in extra window -- every step will be shown in an extra window. You can
choose the step rate for every window to be shown
o You can view the resulting spectrum by selecting show result
ΓòÉΓòÉΓòÉ 14.2.3. parameters for dose calculation ΓòÉΓòÉΓòÉ
o The dose calculation can be enabled with the checkbutton calc dose. If this
button is deselected, the following settings are unused.
o You can show the dose spectrum by checking view dose
o You can choose one of the dose classes:
- H┬░(10mm) the dose class H_stern in 10 mm depth is a conservative
calculation of the ambient dose equivalent for the whole body with the
assumption of an isotrope radiation field
- H_p(0,07mm) personal dose equivalent in 0,07mm depth
- H_p(10mm) personal dose equivalent in 10mm depth
- H'(10mm,0┬░) directional dose equivalent in 10 mm depth under an incident
angle of 0 degree
- H_x Exposure
o For the dose classes H┬░(10mm), H_p(0,07mm) and H_p(10mm) a special
calculation model is implemented considering the influence of the shielding
in dependence on the angle of incidence and on the energy of the incident
radiation. For these three dose classes the integration of the unfolded
spectrum with respect to energy and angle of incidence has to be carried out
considering appropriate conversion coefficients So, you have to set the
differentials d_Energy and d_angle and the integration limits for the angle.
You don't need it for energy limits because the energy is always limited in
the range [0,1340] keV or [0,1340/4] keV for the quadruple amplificated
matrix.
- delta step energy not implemented yet (not necessary)
- delta step angle d_energy differential
- outer angle, inner angle set this according to the angular range of the
shielding
ΓòÉΓòÉΓòÉ 14.2.4. parameters for output file ΓòÉΓòÉΓòÉ
o If you want to save the deconvoluted spectrum to a file you must enable the
save spectrum checkbutton. If you have started the deconvolution process with
"unfold one" from the action menu, the output spectrum won't be saved. The
chosen output file name is the input file name with the extension .dat.
o You may write the deconvolution parameters into the same output file by
enabling the write parameters to output spectrum checkbutton. The parameters
are written as a header with a starting comment character at the beginning of
each line into the output file.
o The comment character can be chosen by the entryfield
o You can decide whether you want to write only the fluence spectrum or fluence
spectrum and dose spectrum if calculated.
o If you want to examine the dose in dependence on the time, you should enable
the view dose dependence checkbutton. The sequence of the added dose
plotpoints depends on the alphanumeric sorted sequence of the input files.
ΓòÉΓòÉΓòÉ 14.2.5. matrix parameters ΓòÉΓòÉΓòÉ
o The dimension of the response matrix can be chosen with the spin button
channel width in the dimensions 128*128, 256*256, 512*512 and 1024*1024
elements. Have a strong look on resources required. The response matrix
consumes up to 8 Megs RAM.
o You always need the inverse response matrix for the deconvolution method
multiplying with inverse. You can calculate the inverse matrix by enabling
the precompute inverse matrix checkbutton. !!!Attention!!! The 1024*1024
inversion requires some hours computing time and 25 Megs RAM or swap space.
o For better inverting performance you can reduce the ratio between Maximum and
Minimum between 10 and 10^50 (matrix conditioning). Use the force button for
conditioning the response matrix.
o The calibration factor is the difference in keV between two channels of the
response. The calibration factor for the descripted CdTe matrix is 1310 keV
per channel.
o For CdTe matrices the absorption calculation is needed. The data is taken a
from file with two columns. The first column of the file is energy the second
the transmission factor. The number of rows must be equal to the dimension of
the response matrix. Every column of the response matrix is multiplicated by
the transmission factor belonging to the energy of the base vector of the
response matrix.
ΓòÉΓòÉΓòÉ 14.3. load deconvolution parameters ΓòÉΓòÉΓòÉ
All paths and deconvolution parameters you can set with the panels for
the input and output path for matrices and spectra
parameters of the deconvolution process
can be loaded from a parameter file "*.par" on the disk. The parameter file
"standard.par" is loaded automatically when starting GammaSun.
ΓòÉΓòÉΓòÉ 14.4. save deconvolution parameters ΓòÉΓòÉΓòÉ
All paths and deconvolution parameters you have set with the panels for
the input and output path for matrices and spectra
parameters of the deconvolution process
can be written to a parameter file "*.par" on the disk. The parameter file
"standard.par" is loaded automatically when starting GammaSun.
ΓòÉΓòÉΓòÉ 14.5. reset protocol file ΓòÉΓòÉΓòÉ
All operations, errors and messages were written in the main window:
With this menu item the protocol buffer in this window can be reseted.
ΓòÉΓòÉΓòÉ 15. Graphic Window ΓòÉΓòÉΓòÉ
The graphic window plots the specified vector. You can load and save new
vectors. The smoothing filters and operators can be used for smoothing. The
original data will not be changed.
ΓòÉΓòÉΓòÉ 15.1. Filter/operator panel ΓòÉΓòÉΓòÉ
If you have statistics on your data it is recommended to smooth the data. On
this panel you will find some filter algorithms an operators. Before an ln,
sqrt, or Fourier smooth operator is applied, the spectrum is shifted up so that
the minimum is at 1. The shifting factor will be stored. After Fourier
smoothing or applying the operators e^x, sqr the spectrum is shifted down.
Note: there is only place for storing one shift factor. If you use base
operators more than once you will be in trouble
o Savitzky-Golay filter see panel description for Savitzky Golay filter
o simple Fourier smooth means an Fourier transform with smoothing over the
points you have set by the spinbutton. If you choose 4 points for a spectrum
of 1024 channels you don't make a mistake.
o Fourier smooth (LLS) means sqr(exp(exp(FFTSM(ln(ln(sqrt(data))))))) you get
it? :-) With the sqrt() and ln() operators you reduce the ratio between
maximum and minimum. If you do then a Fourier smoothing you might get better
results. [5] . After smoothing we have to apply the inverse operators.
o Fourier smooth (ln/log^-1) means 10^(FFTSM(ln(data))). In difference to the
operator above we use the inverse operator 10^x to ln instead of e^x. The
data is stretched by the power ln(10) -1.
o exp calculate e^(data) -- inverse operator: ln
o ln calculate ln(data) -- inverse operator: exp
o sqr calculate (data)^2 -- inverse operator: sqrt
o sqrt calculate (data)^(1/2) = square root -- inverse operator: sqr
o sqr exp exp calculate (e^(e^(data))^2 -- inverse operator: ln ln sqrt
o ln ln sqrt ln(ln((data)^(1/2))) -- inverse operator: sqr exp exp
If you are interested in Fourier Transforms and their applications have a look
at [1] chapter 12+13. The ideas of enhancements in FFT techniques are / will
be published in [5] .
ΓòÉΓòÉΓòÉ 15.2. Savitzky Golay smoothing ΓòÉΓòÉΓòÉ
The Savitzky Golay smoothing filter may be used for smoothing the spectra. With
this filter you can smooth without throwing away high momentums. But be
careful, when you try to smooth near the high momentums, you might get
numerical under- or overflow exiting the program. On the smoothing panel you
can set four parameters for Savitzky Golay smoothing.
o number of data points to left: this is the width of the smoothing window to
the left side
o number of data points to right: this parameter sets the width of the
smoothing window to the right side.
o order of derivative desired:
For further details have a look in [1] page 650
ΓòÉΓòÉΓòÉ 16. Convolution - the problem ΓòÉΓòÉΓòÉ
The problem of convolution can be written as:
If we approximate the integral by a sum and discretisize the continuous
functions M(E) and Phi(E_Ph), we find:
So the problem of convolution can be written as a multiplication of a vector by
a matrix. The solution for Phi is simply the product of the inverse matrix of R
and the vector M. In some cases the inversion of the response matrix R is not
numerical stable, we can try to solve the system with iterative algorithms like
SAND II .
ΓòÉΓòÉΓòÉ 17. generate any matrix ΓòÉΓòÉΓòÉ
Before doing a deconvolution you must have generated the response matrix R. You
can:
o calculate the response matrix for CdTe (1310 keV per channel)
o import a square matrix in ASCII format
o generate R by an analytical description
The last one can be done by using a small set of operators for the matrix
calculation. You can ask the question why entering the the calculation code in
this panel instead reconstructing and recompiling the source code. The answer
is short and simple: It's much more easier, isn't it? But we had to concede
that interpreting the expression is up to 8 times slower that compiling the
mathematical expression in the code of GammaSun.
The central expression is matrix(x,y) = (in small letters) evaluating the
elements of the matrix. You can choose the variables for row and column as you
believe. The first parameter is the row, the second is the column index. If you
want to increment the indexes, you may use therefore the for loop construct.
You also can use an if then else statement. (You must use the else keyword!).
Now, a list of the available operators:
o statements
- for ( expression1; expression2; expression3 ) statement
- if ( condition ) statement1;
- or
- if ( condition ) statement1 else statement2;
- matrix( row, col ) = expression;
- packmatrix( pack_factor );
o variables must start with a character. The variable DIM has the special
meaning of the matrix dimension. You should use it as a delimiter in a for
loop.
o math operators sin, sinh, asin, cos, acos, cosh, tan, atan, tanh, log, log10,
exp, pow, fabs, floor, +, -, /, *, !
o pre- and post increment / decrement operators ++, --
o assignment = *= /= -= +=
o condition operators < > >= <= != ==
What's going on if nothing happens? Perhaps you have built in some errors. A
typical error is to exchange the assignment operator "=" with the condition
operator "==". Another error is the implement an endless loop. So babes --
beeee careful!
ΓòÉΓòÉΓòÉ 18. The SAND II algorithm ΓòÉΓòÉΓòÉ
When solving an deconvolution problem, you either have calculate the inverse of
R and multiply it by the convoluted data M or you have to minimize the
expression
after chi. In this equation means M the measured data and Phi the searched true
solution vector. R is the response of the measuring system/detector (in some
papers R is called instrument function). Minimizing can be done by many
algorithms i.e. SAND II algorithm;
For further details of the SAND-II algorithm have a look in [1], [6] .
ΓòÉΓòÉΓòÉ 19. angular dependence of the transmission function W(E,theta) ΓòÉΓòÉΓòÉ
The angular dependence of the detector and the shielding lead was measured at
three energies. This information is needed for the dose calculation. Here we
have a picture of the simple experiment.
You have a look at the spectrometer in front of a 120 keV tube.
ΓòÉΓòÉΓòÉ 19.1. at A80 ΓòÉΓòÉΓòÉ
normalized transmission function W(theta) for A80
ΓòÉΓòÉΓòÉ 19.2. at A300 ΓòÉΓòÉΓòÉ
normalized transmission function W(theta) for A300
ΓòÉΓòÉΓòÉ 19.3. at Cs137 (662 keV) ΓòÉΓòÉΓòÉ
normalized transmission function W(theta) for Cs137 (662keV)
ΓòÉΓòÉΓòÉ 20. Kerma function ΓòÉΓòÉΓòÉ
For the dose calculation the conversion factors from fluence to Air-Kerma
(Kinetic energy released in matter) are needed. The are taken for photons from
[2] .
ΓòÉΓòÉΓòÉ 21. angular dependence factor R(E,d,theta) and conversion coefficient h_0(d,0┬░) ΓòÉΓòÉΓòÉ
For the dose calculation the conversion factors from Air-Kerma (Kinetic energy
released in matter) to equivalent dose h_0 and the angular dependence factor
R(E,d,theta) are needed. The are taken for photons from [4] .
ΓòÉΓòÉΓòÉ 21.1. angular dependence factor R( d, alpha ) ΓòÉΓòÉΓòÉ
angular dependence factor R(0,07mm, alpha) of the dose equivalent of the ICRU
tissue-equivalent slab phantom
angular dependence factor R(10mm, alpha) of the dose equivalent of the ICRU
tissue-equivalent slab phantom
ΓòÉΓòÉΓòÉ 21.2. conversion coefficient h_0( d, 0┬░ ) depth ΓòÉΓòÉΓòÉ
conversion coefficient h_0 between Air-KERMA and dose equivalent for photons in
0.07 mm and 10 mm depth of the ICRU tissue-equivalent slab phantom
ΓòÉΓòÉΓòÉ 22. dose calculation ΓòÉΓòÉΓòÉ
You can calculate four dose categories with GammaSun. They are named in german
terminology:
o PhotonenДquivalentdosis
o RichtungsДquivalentdosis
o UmgebungsДquivalentdosis
o PersonenДquivalentdosis
You see in equation for H* and H_p the real angular distributed fluence Phi_w,
which is calculated from only one measured fluence Phi_m. It is omitted that
the distribution of Phi_w is isotrop. So, we have to calculate Phi_w!
With this result for Phi_w the equations for H* and H_p can be completed to
ΓòÉΓòÉΓòÉ 23. calculated dose in dependence of exposure quality ΓòÉΓòÉΓòÉ
For testing the generated matrix for the CdTe detectors and the dose
calculation we had measured 0.01 mSv at A40, A60, A80, A100, A120, A150, A200,
A250 and A300 and calculated the dose from unfolded fluence vector.
The dose is calculated with 128 channel.
In the case of 512 channels we find:
The next picture shows a dose calculation for a various number of channels
without considering the absorption of the Al case and without dead layer:
ΓòÉΓòÉΓòÉ 24. transmission coefficient for CdTe-detector ΓòÉΓòÉΓòÉ
The expected dead layer and the absorption of 0,5 mm Al case has to be
considered when calculating the base vectors of the response matrix. This was
done by multiplying every base vector by the transmission coefficient of the
same energy. The transmission in dependence of the energy was calculated by the
program Photcoef from AIC Software.
ΓòÉΓòÉΓòÉ 25. Generation of the response matrix of hemispherical CdTe detectors ΓòÉΓòÉΓòÉ
Now, some words belonging to the generation of a response matrix for
hemispherical CdTe detectors. The energy of the detected photon is transported
to the semiconductor by several effects. Every transporting mechanism is
descripted by a partial function R_i. The complete response function R is the
sum over all partial functions R_i.
o The Photo- and the Backscatterpeak is descripted by a symmetric Gaussian
distribution function R_Backsym and R_Photsym . These peaks are superposed
by an asymmetric term R_Backasym and R_Photasym .
o The Compton edge and is descripted by a parabola R_Compt .
o The multiple compton events between Photopeak are descripted by a background
function R_Ugrd
In the upper half you see Cs-137 gamma-radiation spectrum measured by a CdTe
detector (black dotted curve) superposed by the modelated response function R
(upper red curve) for 662 keV (so, this is the base vector of R belonging to
662 keV)
In the lower half of the picture you see the partial functions R_i (various
colors) used for every characteristic structure found in the spectrum.
For further details, have a look in [3] and [8]
ΓòÉΓòÉΓòÉ 25.1. Photo- and Backscatter symmetry term ΓòÉΓòÉΓòÉ
Parameter 1 Parameter 2 Parameter 3 Parameter 12 Parameter 13 Parameter 14
ΓòÉΓòÉΓòÉ 25.2. Photo- and Backscatter asymmetry term ΓòÉΓòÉΓòÉ
Parameter 4 Parameter 5 Parameter 6 Parameter 15 Parameter 16 Parameter 17
ΓòÉΓòÉΓòÉ 25.3. Compton parabola ΓòÉΓòÉΓòÉ
Parameter 7 Parameter 8 Parameter 9 Parameter 10 Parameter 11
ΓòÉΓòÉΓòÉ 25.4. multiple compton events ΓòÉΓòÉΓòÉ
Parameter 13 Parameter 16 Parameter 18 Parameter 19
ΓòÉΓòÉΓòÉ 25.5. used parameters for the generation ΓòÉΓòÉΓòÉ
In all 19 plots you find the fitted data as black dots. The red curve shows the
function fitted as the parameter function P(E_Ph).
Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5 Parameter 6
Parameter 7 Parameter 8 Parameter 9 Parameter 10 Parameter 11 Parameter 12
Parameter 13 Parameter 14 Parameter 15 Parameter 16 Parameter 17 Parameter 18
Parameter 19
ΓòÉΓòÉΓòÉ 25.5.1. Parameter 1 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.2. Parameter 2 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.3. Parameter 3 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.4. Parameter 4 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.5. Parameter 5 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.6. Parameter 6 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.7. Parameter 7 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.8. Parameter 8 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.9. Parameter 9 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.10. Parameter 10 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.11. Parameter 11 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.12. Parameter 12 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.13. Parameter 13 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.14. Parameter 14 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.15. Parameter 15 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.16. Parameter 16 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.17. Parameter 17 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.18. Parameter 18 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.5.19. Parameter 19 ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 25.6. The generated response matrix ΓòÉΓòÉΓòÉ
Here is an example of a response matrix for a CdTe-Detector constructed by
means of eleven radioisotopes emitting monoenergetic gamma radiation.
In the future, other matrices can be loaded from the ftp server of the PTB
(Braunschweig, Germany) ftp.bs.ptb.de. Several matrices for Germanium detectors
and NE213 liquid scintillators calculated by BБermann et al. ([] For details
contact Reinhard Alt
ΓòÉΓòÉΓòÉ 26. comparision of HMFW of 6 CdTe detectors ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 27. Deconvoluted fluorescent target spectra ΓòÉΓòÉΓòÉ
At a 420 keV X-ray generator we measured some spectra remitted by fluorescent
target materials with our CdTe detector:
The spectra are commonly not filtered by secondary filters. The spectral
sharpness can be increased by using such filters and by changing the thickness
of the target material. After the deconvolution process you will find some
monoenergetic lines:
In the next picture every curve is normalized in the maximum to 1
ΓòÉΓòÉΓòÉ 28. numerical stability when inverting matrices ΓòÉΓòÉΓòÉ
All numbers used by GammaSun are represented as floating-point numbers with a
fixed number of decimals. The floating-point error for IEEE-compliant machines
is in [1] for double precision determined as 2.22E-16. The chains of
mathematical operations leads to potention of errors especially when inverting
matrices. The stability can be tested by inverting matrices like hilbert
matrices (defined as 1/i+j-1; (i,j) = (row, column) ), because this matrix is
hard to invert. By comparing the spur of the calculated inverse matrix with the
theoretic values you will get an impression of the numeric stability of the
inversion process.
You also can test the stability by calculating the 1 matrix. Normally you
should find a correlation between errors in the spur of the inverse and the
calculated neutral element.
The following table shows the spur of the inverse in dependence of the matrix
dimension.
1 1
2 16
3 381
4 10496
5 307505
6 9316560
7 288307285
8 9052917760
9 287307428985
10 9192433560080
11 295998598024613
12 9580548525151488
13 311414673789269713
14 10158681128480830288
15 332394269045633574405
16 10904463909222273843200
17 358543696456299951516425
18 11812620544521950432768400
19 389867492885354165707445125
20 12887566326807788905307572480
21 426616207607754544251863848521
22 14140219813175204648567582751056
23 469219026472377416163740242479341
24 15586583096827971039283673209982976
25 518254444421003978869482886271850025
26 17247165393855476493945528598316619280
27 574440185171866732524181449940436647605
28 19146859133783979450599612207034093927680
29 638634090747109846780296990700518321151505
30 21315090645878727896677380101009425025182800
^ if you get exactly this result you must have
| a very quick computer and a good numeric
| implementation of floating-point operations!
If you want to reproduce this number worms, have a look at your campus licence
of Mathematica and enter the following lines.
dim=30;
m=Table[1/(i+j-1),{i,1,dim},{j,1,dim}];
minv = Inverse[m];
result=Sum[minv[[i,i]],{i,dim}]
But be careful, have a look at the angry faces of the other users on the same
machine. Calculations like this one may costs a little bit of time.
ΓòÉΓòÉΓòÉ 29. peak-analysis ΓòÉΓòÉΓòÉ
GammaSun allows peak analysis of the deconvoluted spectrum.
The peaks and their peak-area are found by differentiating the input spectrum
two times. Then, the largest (negative) peak max is searched in the second
derivative. All peaks in the range between this maximum and max / dynamic amp.
are examined. The integral area of those peaks is calculated by integrating all
channels between the area borders in dependence of the height at the peak (full
width x height FWxH). Some channels at the beginning of the spectra might be
left off It is possible to show the result graphically. In the data window of
the peak analysis panel the channel number, the corresponding energy, the
integral under the peak and the relative part of each in relation to the sum of
all peak integrals is printed.
ΓòÉΓòÉΓòÉ 30. further reading and cited references ΓòÉΓòÉΓòÉ
o [1] Numerical Recipes in C; The Art of Scientific Computing; Second Edition
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
o [2] Measurement of Dose Equivalents from External Photon and Electron
Radiation, ICRU report 47, International commission on radiation units and
measurements
o [3] The generation of the response matrix of hemispherical CdTe detectors; R.
Alt, P. Ambrosi, J. BФhm, G. Hilgers, Physikalisch-Technische Bundesanstalt,
Germany; M. Jordan, K.-H. Ritzenhoff; Staatliches MaterialprБfungsamt NRW,
Germany.
o [4] The angular dependence and irradiation geometry factor for the dose
equivalent for photons in slab phantoms of tissue-equivalent material and
PMMA; B. Grosswendt; Physikalisch-Technische Bundesanstalt, Germany;
Radiation Protection and Dosimetry 35/4 p. 221-235 (1991)
o [5] Fast-Fourier-Transform Spectral Enhancement Techniques for gamma-Ray
Spectroscopy; C. V. Hampton, B. Lian Wm. C McHarris; to be published in
Nuclear Instruments and Methods for Physics Research.
o [6] W. N. McElroy, S. Berg, T. Crockett and R. G. Hawkins, SAND-II, a
computer-Automated Iterative Method for Neutron Flux Spectra Determination by
Foil Activation, Report AFWL-TR-67-41, US Air Force Weapons Laboratory (1967)
o [7] Stephen Wolfram, Mathematica - A System for Doing Mathematics by Computer
o [8] R. Alt; Diplomarbeit, WinkelauflФsendes in-situ-gamma Spektrometer,
TU-Braunschweig, Germany (postscript file is available, ask Reinhard Alt )
o [9] L. BБermann, S. Ding, S. Guldbakke, H. Klein, T. Novotny and M. Tichy;
Response of NE213 liquid scintillation detectors to high-energy photons
E_gamma > 3 MeV; Nuclear Instruments and Methods In Physics Research A 332
(1993) 483-492
o [10] U. SchФtzig und H. Schrader, Halbwertszeiten und Photonen-
Emissionswahrscheinlichkeiten von hДufig verwendeten Radionukliden,
PTB-Ra-16/4, Physikalisch Technische Bundesanstalt, ISBN 3-89429-349-7
o [11] R.Alt, P. Ambrosi, J. BФhm, G. Hilgers, M. Jordan, K.-H. Ritzenhoff; The
generation of the response matrix of hemispherical CdTe detectors; Nuclear
Instruments and Methods in Physics Research; A353 (1994) 71-75
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
My private address is:
ReAl-Soft Computing
Reinhard Alt
Cyriaksring 3
38118 Braunschweig
Germany
Tel / FAX / DATA: 0531-896605
email: R.Alt@tu-bs.de (only to 31.3.95)
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Have a nice result with GammaSun!