Learn R Programming

numOSL (version 2.8)

lsNORM: Regenerative-dose signal optimization using the LS-normalisation procedure

Description

Optimizing standardised regenerative-dose signals according to the least-squares normalisation (LS-normalisation) procedure using an iterative scaling and fitting procedure proposed by Li et al. (2016).

Usage

lsNORM(SARdata, model = "gok", origin = FALSE, 
       weight = FALSE, natural.rm = TRUE, 
       norm.dose = NULL, maxiter = 10, 
       plot = TRUE)

Value

Return an invisible list that contains the following elements:

norm.SARdata

SAR data sets optimized using the LS-normalisation procedure

sf

scaling factor of standardised regenerative-dose signals

iter

number of iterations required

LMpars1

optimized parameters for the growth curve before LS-normalisation

value1

minimized objective for the growth curve before LS-normalisation

avg.error1

average fit error for the growth curve before LS-normalisation

RCS1

reduced chi-square value for the growth curve before LS-normalisation

FOM1

figure of merit value for the growth curve before LS-normalisation in percent

LMpars2

optimized parameters for the growth curve after LS-normalisation

value2

minimized objective for the growth curve after LS-normalisation

avg.error2

average fit error for the growth curve after LS-normalisation

RCS2

reduced chi-square value for the growth curve after LS-normalisation

FOM2

figure of merit value for the growth curve after LS-normalisation in percent

Arguments

SARdata

matrix(required): SAR data used for performing the LS-normalisation
procedure, it should contain five columns (i.e., NO, SAR.Cycle, Dose,
Signal, and Signal.Err), see SARdata for details

model

character(with default): model used for growth curve fitting, see fitGrowth for available models

origin

logical(with default): logical value indicating if the growth curve should be forced to pass the origin

weight

logical(with default): logical value indicating if the growth curve should be fitted using a weighted procedure, see function fitGrowth for details

natural.rm

logical(with default): logical value indicating if the standardised natural-dose signal should be removed from SARdata

norm.dose

numeric(optional): regenerative-dose used for re-scaling established gSGC. For example, if norm.dose=100, then the signal value for a dose value of 100 (Gy|s) will be re-scaled to unity

maxiter

integer(with default): allowed maximum number of iterations during the
LS-normalisation optimization process

plot

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

Details

Function lsNORM is used for optimizing regenerative-dose signal data from a number of grains (aliquots) according to the least-squares normalisation (LS-normalisation) procedure outlined by Li et al. (2016) using an iterative scaling and fitting procedure.

The LS-normalisation procedure for growth curve optimization involves the following steps:
(1) Fit standardised regenerative-dose signals from all of the aliquots;
(2) Re-scale the individual growth curve from each aliquot using a scaling factor. The scaling factor for each aliquot is determined in a way such that the sum of squared residuals is minimized. Each aliquots is treated individually, and different scaling factors are calculated for different aliquots.
(3) Iterate the fitting (step 1) and re-scaling (step 2). The iterative procedure is performed repeatedly until there is negligible change in the relative standard deviation of the normalised growth curve data.

References

Li B, Jacobs Z, Roberts RG, 2016. Investigation of the applicability of standardised growth curves for OSL dating of quartz from Haua Fteah cave, Libya. Quaternary Geochronology, 35: 1-15.

See Also

analyseBINdata; fitGrowth; SARdata; scaleSGCN; calSGCED

Examples

Run this code
  ### Example 1:
  data(SARdata)
  # Use only the first five aliquots of SARdata.
  Data <- SARdata[1:40,]
  res_lsNORM <- lsNORM(Data, model="gok")
  res_lsNORM$norm.SARdata

  ### Example 2 (not run):
  # data(BIN)
  # obj_pickBIN <- pickBINdata(BIN, Position=1:48, Grain=0,
  #                            LType="OSL", view=FALSE)
  # obj_analyseBIN <- analyseBINdata(obj_pickBIN, nfchn=3, nlchn=20)
  # lsNORM(obj_analyseBIN$SARdata, norm.dose=300)
  
  

Run the code above in your browser using DataLab