Luminescence (version 0.8.6)

verify_SingleGrainData: Verify single grain data sets and check for invalid grains, i.e. zero-light level grains


This function tries to identify automatically zero-light level curves (grains) from single grain data measurements.


verify_SingleGrainData(object, threshold = 10, cleanup = FALSE,
  cleanup_level = "aliquot", verbose = TRUE, plot = FALSE)



'>Risoe.BINfileData or '>RLum.Analysis (required): input object. The function also accepts a list with objects of allowed type.


numeric (with default): numeric threshold value for the allowed difference between the mean and the var of the count values (see details)


logical (with default): if set to TRUE curves indentified as zero light level curves are automatically removed. Ouput is an object as same type as the input, i.e. either '>Risoe.BINfileData or '>RLum.Analysis


character (with default): selects the level for the cleanup of the input data sets. Two options are allowed: "curve" or "aliquot":

  • If "curve" is selected every single curve marked as invalid is removed.

  • If "aliquot" is selected, curves of one aliquot (grain or disc) can be marked as invalid, but will not be removed. An aliquot will be only removed if all curves of this aliquot are marked as invalid.


logical (with default): enables or disables the terminal feedback


logical (with default): enables or disables the graphical feedback


The function returns

----------------------------------- [ NUMERICAL OUTPUT ] -----------------------------------



Element Type Description
$unique_pairs data.frame the unique position and grain pairs
$selection_id numeric the selection as record ID
$selection_full data.frame implemented models used in the baSAR-model core


The original function call

Output variation

For cleanup = TRUE the same object as the input is returned, but cleaned up (invalid curves were removed). This means: Either an '>Risoe.BINfileData or an '>RLum.Analysis object is returned in such cases. An '>Risoe.BINfileData object can be exported to a BIN-file by using the function write_R2BIN.

Function version

0.2.0 (2018-01-21 17:22:38)

How to cite

Kreutzer, S. (2018). verify_SingleGrainData(): Verify single grain data sets and check for invalid grains, i.e. zero-light level grains. Function version 0.2.0. In: Kreutzer, S., Burow, C., Dietze, M., Fuchs, M.C., Schmidt, C., Fischer, M., Friedrich, J. (2018). Luminescence: Comprehensive Luminescence Dating Data Analysis. R package version 0.8.6.


How does the method work?

The function compares the expected values (\(E(X)\)) and the variance (\(Var(X)\)) of the count values for each curve. Assuming that the background roughly follows a poisson distribution the absolute difference of both values should be zero or at least around zero as

$$E(x) = Var(x) = \lambda$$

Thus the function checks for:

$$abs(E(x) - Var(x)) >= \Theta$$

With \(\Theta\) an arbitray, user defined, threshold. Values above the threshold indicating curves comprising a signal.

Note: the absolute difference of \(E(X)\) and \(Var(x)\) instead of the ratio was chosen as both terms can become 0 which would result in 0 or Inf, if the ratio is calculated.

See Also

'>Risoe.BINfileData, '>RLum.Analysis, write_R2BIN, read_BIN2R


##01 - basic example I
##just show how to apply the function
data(ExampleData.XSYG, envir = environment())

##verify and get data.frame out of it

##02 - basic example II
data(ExampleData.BINfileData, envir = environment())
id <- verify_SingleGrainData(object = CWOSL.SAR.Data,
cleanup_level = "aliquot")$selection_id

# }
##03 - advanced example I
##importing and exporting a BIN-file

##select and import file
file <- file.choose()
object <- read_BIN2R(file)

##remove invalid aliquots(!)
object <- verify_SingleGrainData(object, cleanup = TRUE)

##export to new BIN-file
write_R2BIN(object, paste0(dirname(file),"/", basename(file), "_CLEANED.BIN"))
# }
# }