gammalab: a suite of programs for k0-naa and gamma-ray spectrum analysis

6
GammaLab: a suite of programs for k 0 -NAA and gamma-ray spectrum analysis Mohammad Wasim Received: 2 March 2010 / Published online: 25 April 2010 Ó Akade ´miai Kiado ´, Budapest, Hungary 2010 Abstract The GammaLab is a collection of computer codes, written in MATLAB, for performing calculations involved in k 0 neutron activation analysis. The main fea- tures of the program include calibrations including energy- channel, energy-FWHM and energy-efficiency for different geometries, background subtraction, nuclide identification, spectral interference correction, elemental concentration and limit of detection determination. The data input is taken from two files one is the spectrum file stored in IAEA ASCII format and other is report file containing peak energy and peak area data. The information about sample, irradiation and counting conditions, background spectra are retrieved from QAQCData database. GammaLab takes nuclear data such as gamma lines, emission probabilities, half-lives, and k 0 factors from NucData database. The sample results which contain elemental concentrations with uncertainties are stored in the QAQCData database. The program has been evaluated by analyzing several hundred spectra and results were found satisfactory. Keywords GammaLab Á k 0 -NAA Á Software Á QAQCData Á NucData Introduction The development of gamma-ray spectrometry software parallels the availability of cheap computing facilities. It is not uncommon that a data analyst can write scientific programs. The acquisition of the data is the first step in gaining insight into a system. There is a possibility that without an effective data analytical tool, the information stay hidden behind the numbers. Now a day, the role of scientific computing in a modern analytical laboratory plays very important role. Almost all kind of spectrometric techniques offer some kind of software; the same is true for gamma-ray spectrometry. A number of software is avail- able for data reduction and extracting useful information from gamma-ray spectrometric data efficiently. IAEA- TECDOC-1011 [1] provides a good review of software offering spectral as well as further analysis options. The software reported by various laboratories include Hyper- Lab [2], NADA92 [3] and MULTINAA [4], ActAn [5], UNISAMPO–SHAMAN [6], Span [1], ADVNAA [7], ZAKI [8], SPAAC [9], INTERPRET [10], ROMOS [11] and others. The k 0 standardization in neutron activation analysis (NAA) was introduced in early 1970 [12]. The imple- mentation of k 0 -NAA requires careful determination of full peak efficiency calibration coefficients of the detector for different counting geometries and characterization of neutron flux for irradiation channels. For 1/v nuclides, following the HØGDAHL convention [13], reactor neutron flux is characterized by thermal to epithermal flux ratio (f) and epithermal flux shape factor (a).Our laboratory adopted k 0 -NAA standardization for two research reactors, Pakistan Research Reactor-1 (PARR-1) [14] and PARR-2 [15] and found the method accurate [16, 17]. Although the method is experimentally simple, but the calculations involved therein are complicated, which requires appropriate com- puter codes for the job. Moreover, identifying radionuc- lides, associated with peaks in a spectrum, is very time consuming. Initially [14, 15] we used Microsoft Excel for the determination of f, a and elemental concentrations. The whole procedure, starting from flux characterization to M. Wasim (&) Chemistry Division, Pakistan Institute of Nuclear Science and Technology (PINSTECH), P.O. Nilore, Islamabad, Pakistan e-mail: [email protected] 123 J Radioanal Nucl Chem (2010) 285:337–342 DOI 10.1007/s10967-010-0562-0

Upload: mohammad-wasim

Post on 14-Jul-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis

GammaLab: a suite of programs for k0-NAA and gamma-rayspectrum analysis

Mohammad Wasim

Received: 2 March 2010 / Published online: 25 April 2010

� Akademiai Kiado, Budapest, Hungary 2010

Abstract The GammaLab is a collection of computer

codes, written in MATLAB, for performing calculations

involved in k0 neutron activation analysis. The main fea-

tures of the program include calibrations including energy-

channel, energy-FWHM and energy-efficiency for different

geometries, background subtraction, nuclide identification,

spectral interference correction, elemental concentration

and limit of detection determination. The data input is

taken from two files one is the spectrum file stored in IAEA

ASCII format and other is report file containing peak

energy and peak area data. The information about sample,

irradiation and counting conditions, background spectra are

retrieved from QAQCData database. GammaLab takes

nuclear data such as gamma lines, emission probabilities,

half-lives, and k0 factors from NucData database. The

sample results which contain elemental concentrations with

uncertainties are stored in the QAQCData database. The

program has been evaluated by analyzing several hundred

spectra and results were found satisfactory.

Keywords GammaLab � k0-NAA � Software �QAQCData � NucData

Introduction

The development of gamma-ray spectrometry software

parallels the availability of cheap computing facilities. It is

not uncommon that a data analyst can write scientific

programs. The acquisition of the data is the first step in

gaining insight into a system. There is a possibility that

without an effective data analytical tool, the information

stay hidden behind the numbers. Now a day, the role of

scientific computing in a modern analytical laboratory

plays very important role. Almost all kind of spectrometric

techniques offer some kind of software; the same is true for

gamma-ray spectrometry. A number of software is avail-

able for data reduction and extracting useful information

from gamma-ray spectrometric data efficiently. IAEA-

TECDOC-1011 [1] provides a good review of software

offering spectral as well as further analysis options. The

software reported by various laboratories include Hyper-

Lab [2], NADA92 [3] and MULTINAA [4], ActAn [5],

UNISAMPO–SHAMAN [6], Span [1], ADVNAA [7],

ZAKI [8], SPAAC [9], INTERPRET [10], ROMOS [11]

and others.

The k0 standardization in neutron activation analysis

(NAA) was introduced in early 1970 [12]. The imple-

mentation of k0-NAA requires careful determination of

full peak efficiency calibration coefficients of the detector

for different counting geometries and characterization of

neutron flux for irradiation channels. For 1/v nuclides,

following the HØGDAHL convention [13], reactor neutron

flux is characterized by thermal to epithermal flux ratio (f)

and epithermal flux shape factor (a).Our laboratory adopted

k0-NAA standardization for two research reactors, Pakistan

Research Reactor-1 (PARR-1) [14] and PARR-2 [15] and

found the method accurate [16, 17]. Although the method

is experimentally simple, but the calculations involved

therein are complicated, which requires appropriate com-

puter codes for the job. Moreover, identifying radionuc-

lides, associated with peaks in a spectrum, is very time

consuming. Initially [14, 15] we used Microsoft Excel for

the determination of f, a and elemental concentrations. The

whole procedure, starting from flux characterization to

M. Wasim (&)

Chemistry Division, Pakistan Institute of Nuclear Science

and Technology (PINSTECH), P.O. Nilore, Islamabad, Pakistan

e-mail: [email protected]

123

J Radioanal Nucl Chem (2010) 285:337–342

DOI 10.1007/s10967-010-0562-0

Page 2: GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis

elemental concentration determination, was time consum-

ing and tedious especially the nuclide identification. Later

on, we switched to MATLAB� (Mathworks Inc, USA) [18]

to ease out some of the steps involve. Since we have been

using MATLAB for multivariate data analysis, therefore,

we decided to write complete software for k0-NAA in

MATLAB. GammaLab is a collection of all codes written

for flux characterization to spectrum interpretation and

elemental concentration calculations over the last few

years. This paper presents structure of GammaLab and its

salient features.

Main features of the program

In k0-NAA, sample analysis starts with the irradiation at a

particular irradiation channel. In our laboratory all samples,

flux monitors and control samples, irradiated together at the

same position in a rabbit, are assigned a unique batch ID and

each sample is given a unique sample ID. The batch IDs,

sample IDs and irradiation conditions are stored in the

QAQCData database [19]. We use MAESTRO software

(ORTEC, USA) for gamma spectrum acquisition and each

spectrum is given a unique spectrum ID. Using MAESTRO,

the acquired spectra are saved in the IAEA ASCII format.

Once acquisition stops, the spectrum ID with acquisition

conditions are stored in the QAQCData. GammaLab

assumes that all the sample related information has already

been stored in QAQCData before commencing the analysis.

The codes in GammaLab were developed to perform the

following tasks: (a) to perform background correction, (b) to

determine the neutron flux parameters, (c) to associate cor-

rect nuclides to the peaks found in the spectrum, (d) to

correct spectral interferences (e) to calculate elemen-

tal concentrations and detection limits using k0-NAA

standardization. The current version of GammaLab follows

HØGDAHL convention [13]. The structure of GammaLab is

presented in Fig. 1.

Background correction is performed by using the

background spectrum acquired close in time to the sample

acquisition. The peaks identified in the background spec-

trum are matched, within the given energy tolerance, in the

activated sample spectrum. Once a match is found, the

background peak area, normalized to the sample live time,

is subtracted from the sample peak area. All background

corrected areas are checked for their significance and all

those peaks having either negative areas or less than the

significant limit are removed. After background subtraction

the program calculates f and a using Au and Zr spectra.

All codes of GammaLab assure data integrity; if some

information is missing such as sample weight or counting

geometry, etc. then the program moves to the next spec-

trum and record the problem encountered as an Error

Report. GammaLab also contains scripts for fast flux

determination, nuclear interference correction for (n,a),

(n,p) and (n,2n) reactions and concentration calculation

using fast flux based nuclear reactions. Other codes are for

gamma-ray spectrum modelling.

Data input

Input file for GammaLab contains only spectra IDs as

shown in Fig. 2, which shows spectra IDs for Au, Zr and

samples irradiated under the same batch ID. If user wants

to analyze all samples under the same batch ID then it is

sufficient to provide only batch ID at command prompt,

GammaLab retrieves all the required information using the

batch ID and perform the required job.

Using the spectra IDs the program locates two files with

the same name but different extensions; one file containing

GammaLabNuclear Data

(NucData)

Input

Spectra IDs

Report File

(*.res)

Spectrum File

(*.spe)

Users

Parameters

Error File

(*.txt)

Result File

(*.txt)

MATLAB Variable

(*.mat)

Sample related Data

(QAQCData)

Fig. 1 Structure diagram

of GammaLab

338 M. Wasim

123

Page 3: GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis

channel-counts stored as IAEA ASCII format with .spe file

extension and the other file containing information as peak

energies, areas and uncertainties having .res file extension.

The .spe file is required for the determination of gamma

line significance. Currently, .res file is used to get infor-

mation about the location of peaks, using this information

peak counts are modified after baseline subtraction in the

.spe file which leaves .spe file as spectrum background. We

create .spe file with MAESTRO (ORTEC, USA) but it can

also be created by software package developed by IAEA

called WinSPEDAC [20], which offers data conversion

routines from one spectrum format to another. Using .spe

file, peak fitting is performed by another program from

IAEA called ANGES [1]. It is a user-friendly program, and

produces .res file containing peak energy, peak area and

uncertainty information. Figure 3 shows formats of .spe

and ANGES generated .res files of spectrum ID 1140.

GammaLab connects to QAQCData and NucData [21]

databases, using object database connectivity (ODBC)

option of Microsoft Windows, for the retrieval or storage of

information. QAQCData is a relational database developed

by us using Microsoft ACCESS for storing, retrieving and

analysing the information about samples, experimental

conditions and results. It also stores regression coefficients

for energy-channel, energy-FWHM and energy-efficiency

calibrations. Background spectra [22] are also stored in

QAQCData. The database has been designed not only for

storing data but also for quality control purposes.

NucData is another relational database developed by us

using Microsoft ACCESS for storing and retrieving nuclear

data to be used in gamma-ray spectrometry and NAA

related scripts. The database was derived mainly from

IAEA-NUDAT. The current version of database contains

Fig. 2 Format of the input file used in GammaLab

Fig. 3 Format of *.spe and *.res input files

GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis 339

123

Page 4: GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis

half-lives of 767 radionuclides and 22,490 gamma lines

along with emission probabilities. Each line has attributes

of either X-ray, gamma-ray or annihilation line. The k0,Au

factor, Q0 values (resonance integral to 2,200 ms-1 cross-

section ratio) and �Er values (effective resonance energy

[23] in eV) with activation/decay codes, stored in the

database, have been taken from De Corte et al. [24].

compilation. All the programs and databases described in

this paper operate under Windows operating system.

Programming platform: MATLAB

MATLAB stands for MATrix LABoratory. It is a language

for technical computing that integrates computation, visu-

alization and programming in a user-friendly environment.

In MATLAB basic data type is an array with no constraint on

data size. This allows matrix and vector manipulation sim-

ple. MATLAB offers a library of linear algebra functions,

which makes codes small, clean and easily interpretable.

MATLAB provides open source code programming plat-

form. Since changes happen quite frequently at the start of

software development, open source code provides excellent

option for modifications and updates. The language con-

struct is very much similar to other languages.

In GammaLab, the data retrieval and storage from dat-

abases is performed by using structured query language

(SQL) scripts. Using queries the data retrieval and storage

from more than one table with different conditions can be

implemented easily. The determination of f and a in

GammaLab is done by using lsqnonlin [25] optimizing

functions of MATLAB. Current users of GammaLab have

not been allowed to make changes in codes; they can

submit only feedback, which could be implemented in

future versions.

Nuclide identification

Several Nuclide identification (NID) procedures have been

reported in the literature such as DIMEN [26], which is

based on median estimates of peak areas, expert system

Shaman [6], library correlation nuclide identification

algorithm [27] and others.

The NID routines of GammaLab are rule based, which

are similar to expert system Shaman. Nuclide identification

starts with the selection of candidate radionuclides based

on peak energies in the spectrum. Using SQL scripts, each

peak found in spectrum is compared with gamma lines in

NucData. If a match is found within interval defined as

(E ± t 9 FWHM), where E is peak energy and t is user

defined peak search factor and FWHM is full width at half

maximum of the peak, the corresponding radionuclides are

selected. The next step involves the removal of user’s

defined elements stored as a list of ‘‘exclude elements’’.

The current list contains elements from H to Ne. The next

step is the association of production mode to the starting

candidates. Production modes are retrieved from NucData.

The current list of production modes include (n,c), (n,p),

(n,a), (n,2n), natural, daughter (produced in decay chain)

and fission product. In GammaLab user has the provision to

include all or any combination of production modes. Since

spectra are background corrected, therefore, production

mode ‘‘natural’’ is not associated to any nuclide. Then half-

life is checked for all radionuclides, except for those hav-

ing production mode ‘‘daughter’’. In the daughter case,

half-life is checked in relation with its daughter-parent

relationship. Then each radionuclide is checked for the

presence of its primary gamma line, which is the most

significant line of a radionuclide relative to the spectrum.

After the application of the above defined three rules;

majority of the radionuclides are excluded. GammaLab

stores all information in the form of a matrix. At this point,

links are created showing peak to nuclide and nuclide to

peak associations. Moreover, all peaks associated with a

nuclide are ranked according to emission probability of that

nuclide. Once a peak or a nuclide is removed from

the matrix, the links are modified. Further rules include the

confirmation of production mode, significance check of the

next gamma-line not identified, concentration check to see

if it is not more than 100%, within given tolerance, or

negative. At the end single and double escape peaks are

labelled if a peak is within energy tolerance of 511 or

1,022 keV of another photo peak.

In GammaLab the nuclide identification proceeds iter-

atively; the main program keeps track of all changes and

directs the program according to the nature of change.

Finally, the radionuclides having production mode (n,c) are

used for the calculation of elemental concentration using

k0-NAA standardization.

Data output

The main program generates output in three to four formats

as shown in Fig. 1. Most of the information generated

during the execution of GammaLab is stored in QAQCData

and as MATLAB variable (*.mat) to be used for further

data analysis. The data stored as MATLAB variable is in

numeric format, while the nuclides, saved in QAQCData,

are in character format. Another form of output is a text

file (*.txt) containing brief information about the elements

quantified. The fourth type of output is error report

(*ErrReport.txt), only generated if an error occurs during

the execution of the program. The stored information

includes f, a, thermal flux, peak energies, original peak

areas, regressed areas, radionuclides identified, elemental

concentrations with uncertainties, limits of detection,

340 M. Wasim

123

Page 5: GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis

percent of the peak area explained and percent of the

nuclide’s lines explained. All the concentration calcula-

tions are based on regressed areas except for peaks where

peak to nuclide association is single. Since regressed areas

depend on correct NID, it is therefore useful for the analyst

to check and compare the original peak areas with the

regressed peak areas. The saved data also keeps stamp of

the GammaLab version. The data stored in the text file can

be copied into Microsoft EXCEL simply by copy and paste

command for further data analysis. The data stored in

QAQCData can be retrieved using Report option of MS

ACCESS; one such customized report has been presented

in Fig. 4.

Performance testing and future implementations

Several hundred spectra, collected during the last few

years, have been analysed using GammaLab and the results

were found satisfactory. These spectra were obtained from

samples having varied nature of matrices include geologi-

cal, biological, alloys and environmental. The average

processing time, of a spectrum having about 100 peaks, on

a computer equipped with Intel Core2, 2.13 GHz processor

and having 1 GB RAM is not more than 3 min.

All scripts including the main program, written in

GammaLab, run on MATLAB command prompt, which in

future will be available via a graphical user interface.

Fig. 4 Results obtained using Report option of MS ACCESS

GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis 341

123

Page 6: GammaLab: a suite of programs for k0-NAA and gamma-ray spectrum analysis

The reactions which do not follow 1/v law such as176Lu(n,c)177Lu, 151Eu(n,c)152 Eu and others can be quan-

tified using Westcott’s formalism [28] these will be

implemented in the future version of GammaLab most

probably using the approach described by St-Pierre and

Kennedy [29]. Other methods such as relative and mono-

standard methods will also become part of the future

version.

Acknowledgements M. W gratefully acknowledges the valuable

discussions with Dr. J. H. Zaidi about the algorithms used in

GammaLab.

References

1. Intercomparison of gamma ray analysis software packages (1998)

IAEA-TECDOC-1011, IAEA, Vienna

2. Simonits A, Ostor J, Kalvin S, Fazekas B (2003) J Radioanal

Nucl Chem 257:589

3. Landsberger S, Cizek WD, Campbell RH (1994) J Radioanal

Nucl Chem 180:55

4. Lin X, Baumgartner F, Li X (1997) J Radioanal Nucl Chem

215:179

5. Software for nuclear spectrometry (1998) IAEA-TECDOC-1049.

IAEA, Vienna

6. Aarnio PA, Ala-Heikkila JJ, Hakulinen TT (2008) J Radioanal

Nucl Chem 276:455

7. Bangfa N, Pingsheng W, Hulling N, Shuyuan L, Xuefeng L,

Weizhi T (2000) J Radioanal Nucl Chem 244:665

8. Ojo JO, Filby RH (2002) Nucl Instr Methods Phys Res A 481:502

9. Ptasinski J, Janczyszyn J, Pohorecki W, Loska L (1996) J Ra-

dioanal Nucl Chem 207:285

10. Blaauw M (1994) Nucl Instr Methods Phys Res A 353:269

11. Moens L, Roos P (1992) J Radioanal Nucl Chem 160:269

12. Simonits A, De Corte F, Hoste J (1975) J Radioanal Chem 24:31

13. Høgdahl OT (1962) Neutron absorption in pile neutron activation

analysis. Report MMPP-226-1

14. Wasim M, Arif M, Zaidi JH, Anwar Y (2009) Radiochim Acta

97:651

15. Wasim M, Zaidi JH, Arif M, Fatima I (2008) J Radioanal Nucl

Chem 277:525

16. Iqbal MS, Taqi SG, Arif M, Wasim M, Sher M (2009) Biol Trace

Elem Res 130:204

17. Wasim M, Arif M, Zaidi JH, Fatima I (2008) Radiochim Acta

96:863

18. The Mathworks, Matlab. http://www.mathworks.com. Retrieved

March 2010

19. Wasim M (2007) J Radioanal Nucl Chem 272:61

20. WinSpedac. http://www-naweb.iaea.org/napc/physics/PS/Soft

wares/Spedac.htm. Retrieved in February 2010

21. Wasim M, Zaidi JH (2002) Nucl Instr Methods Phys Res A

481:760

22. Wasim M, Arif M, Zaidi JH (2010) The Nucleus 47:55

23. Ryves TB (1969) Metrologia 5:119

24. De Corte F, Simonits A (2003) At Data Nucl Data Tab 85:47

25. Coleman TF, Li Y (1996) SIAM J Optim 6:418

26. Kondrashov SS, Moroz ZD (1993) Nucl Instr Methods Phys Res

A 328:542

27. William RR (2007) Nucl Instr Methods Phys Res A 579:288

28. De Corte F, Simonits A, Bellemanns F, Freitas MC, Jovanovic S,

Smodis B, Erdtmann G, Petri H, De Wispelaere A (1993)

J Radioanal Nucl Chem 169:125

29. St-Pierre J, Kennedy G (2007) J Radioanal Nucl Chem 271:283

342 M. Wasim

123