Description Usage Arguments Details Value Note References See Also Examples

Decomposing a CW-OSL or LM-OSL decay curve to a given number of first-order exponential components using a combination of differential evolution and Levenberg-Marquardt algorithm suggested by Bluszcz and Adamiec (2006).

1 2 3 4 5 |

`Sigdata` |
matrix( |

`delay.off` |
vector(with default): a two-elment vector indicating the "Delay" and "Off" |

`ncomp` |
integer(with default): number of decomposed components |

`constant` |
logical(with default): logical value indicating if a constant component should be subtracted from the decay curve |

`typ` |
character(with default): type of a decay curve (i.e., |

`control.args` |
list(with default): arguments used in the differential evolution algorithm, see details |

`weight` |
logical(with default): logical value indicating if the fit should be performed using a weighted procedure |

`plot` |
logical(with default): logical value indicating if the results should be plotted |

`log` |
character(with default): a character string which contains "x" if the x axis is to be logarithmic, "y" if the y axis is to be logarithmic and "xy" or "yx" if both axes are to be logarithmic |

`lwd` |
numeric(with default): width of curves (lines) |

`curve.no` |
numeric(optional): decay curve number |

`SAR.Cycle` |
numeric(optional): SAR cycle of the decay curve, Example: |

`irr.dose` |
numeric(optional): irradiation dose of the decay curve |

`outfile` |
character(optional): if specified, decomposed signal values will be written to a CSV file named |

`transf` |
logical(with default): do not use (for backward compatibility purpose) |

Function decomp decomposes an OSL decay curve to a specified number of components using a combination of differential evolution and Levenberg-Marquardt algorithm. Both CW-OSL and LM-OSL decay curves can be decomposed.

For a CW-OSL decay curve, the fitting model (Bluszcz and Adamiec, 2006) is:

`I(t)=a1*b1*exp(-b1*t)+...+ak*bk*exp(-bk*t)`

,

where `k=1, 2, ..., 7`

, `I(t)`

is the luminescence intensity as a function of time, `a`

is the number of trapped electrons, and `b`

is the detrapping rate. The constant component is `c`

if `constant=TRUE`

.

For a LM-OSL decay curve, the fitting model (Bulur, 2000) is:

`I(t)=a1*b1*(t/P)*exp[-b1*t^2/(2*P)]+...+ak*bk*(t/P)*exp[-bk*t^2/(2*P)]`

,

where `k=1, 2, ..., 7`

, and `I(t)`

is the luminescence intensity as a function of time, `P`

is the total stimulation time, `a`

is the number of trapped electrons, and `b`

is the detrapping rate. The constant component is `c*(t/P)`

if `constant=TRUE`

.

Parameters are initialized using a differential evolution method suggested by Bluszcz and Adamiec (2006), then the Levenberg-Marquardt algorithm (minpack: Fortran 90 version by John Burkardt, freely available at http://people.sc.fsu.edu/~jburkardt/f_src/minpack/minpack.html) will be performed to optimize the parameters. If `weight=TRUE`

, the photon counts will be assumed to follow a Possion distribution with a standard error equal to the square root of the number of photon counts, and the decay curve will be fitted using a weighted procedure. Setting `weight=TRUE`

gives more weight to photon counts from slower decaying components.

Arguments in `control.args`

that control the differential evolution algorithm include:

**(1)** *factor*: the number of population members, `np=factor*ncomp`

, default `factor=20`

;

**(2)** *f*: a weighting factor that lies between `0`

and `1.2`

, default `f=0.5`

;

**(3)** *cr*: a crossover constant that lies between `0`

and `1`

, default `cr=0.99`

;

**(4)** *maxiter*: maximum number of iterations, default `maxiter=500`

;

**(5)** *tol*: tolerance for stopping the iteration, the procedure will be terminated if

all relative standard deviations of parameters are smaller than `tol`

, defalut `tol=0.1`

.

Return an invisible list containing the following elements:

`message` |
return 0 if fit succeeds, else 1 |

`comp.sig` |
a matrix containing time, signal, and fitted signal values for each component |

`LMpars` |
optimized parameters for the decay curve |

`constant` |
estimated constant component, it returns |

`value` |
minimized objective for the decay curve |

`FOM` |
figure of merit value for the decay curve in percent |

Arguments `curve.no`

, `SAR.Cycle`

, and `irr.dose`

have nothing to do with decay curve fitting. They are used only for plotting purpose.

The model to be optimized should not be underdetermined. This means that the number of data points should exceed (or at least be equal to) the number of parameters. For a given model, this routine will return an error if any standard errors of parameters cannot be estimated by numerical difference-approximation. Function `decompc`

in previous versions was bundled to function decomp.

We would like to thank Professor Andrzej Bluszcz who helps us a lot during the programming of this function. Dr Jeong-Heon Choi is thanked for providing published data sets to test this routine.

Bluszcz A, 1996. Exponential function fitting to TL growth data and similar applications. Geochronometria, 13: 135-141.

Bluszcz A, Adamiec G, 2006. Application of differential evolution to fitting OSL decay curves. Radiation Measurements, 41(7-8): 886-891.

Bulur E, 2000. A simple transformation for converting CW-OSL curves to LM-OSL curves. Radiation Measurements, 32(2): 141-145.

Differential evolution algorithm, http://en.wikipedia.org/wiki/Differential_evolution

Jain M, Murray AS, Boetter-Jensen L, 2003. Characterisation of blue-light stimulated luminescence components in different quartz samples: implications for dose measurement. Radiation Measurements, 37(4-5): 441-449.

More JJ, 1978. "The Levenberg-Marquardt algorithm: implementation and theory," in Lecture Notes in Mathematics: Numerical Analysis, Springer-Verlag: Berlin. 105-116.

**Further reading**

Adamiec G, 2005. OSL decay curves-relationship between single- and multiple-grain aliquots. Radiation Measurements, 39(1): 63-75.

Balian HG, Eddy NW, 1977. Figure-of-merit (FOM), an improved criterion over the normalized chi-squared test for assessing goodness-of-fit of gamma-ray spectral peaks. Nuclear Instruments and Methods, 145(2): 389-95.

Choi JH, Duller GAT, Wintle AG, 2006. Analysis of quartz LM-OSL curves. Ancient TL, 24(1): 9-20.

Li SH, Li B, 2006. Dose measurement using the fast component of LM-OSL signals from quartz. Radiation Measurements, 41(5): 534-541.

Peng J, Dong ZB, Han FQ, Han YH, Dai XL, 2014. Estimating the number of components in an OSL decay curve using the Bayesian Information Criterion. Geochronometria, 41(4): 334-341.

Signaldata; pickBINdata; fastED

1 2 3 4 5 6 7 8 9 10 | ```
### Example 1:
data(Signaldata)
decomp(Signaldata$lm,ncomp=3,typ="lm",
control.args=list(maxiter=10))
### Example 2 (not run):
# data(BIN)
# obj_pickBIN <- pickBINdata(BIN, Position=2, Run=2, view=TRUE,
# LType="OSL", force.matrix=TRUE)
# decomp(obj_pickBIN$BINdata[[1]], ncomp=2, log="xy")
``` |

```
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.