How does the import function work?
The function uses the 'XML'
package to parse the file structure. Each
sequence is subsequently translated into an RLum.Analysis object.
General structure XSYG format
<?xml?>
<Sample>
<Sequence>
<Record>
<Curve name="first curve" />
<Curve name="curve with data">x0 , y0 ; x1 , y1 ; x2 , y2 ; x3 , y3</Curve>
</Record>
</Sequence>
</Sample>
So far, each
XSYG file can only contain one <Sample></Sample>
, but multiple
sequences.
Each record may comprise several curves.
TL curve recalculation
On the FI lexsyg device TL curves are recorded as time against count values.
Temperature values are monitored on the heating plate and stored in a
separate curve (time vs. temperature). If the option
recalculate.TL.curves = TRUE
is chosen, the time values for each TL
curve are replaced by temperature values.
Practically, this means combining two matrices (Time vs. Counts and Time vs.
Temperature) with different row numbers by their time values. Three cases
are considered:
HE: Heating element
PMT: Photomultiplier tube
Interpolation is done using the function approx
CASE (1): nrow(matrix(PMT))
> nrow(matrix(HE))
Missing temperature values from the heating element are calculated using
time values from the PMT measurement.
CASE (2): nrow(matrix(PMT))
< nrow(matrix(HE))
Missing count values from the PMT are calculated using time values from the
heating element measurement.
CASE (3): nrow(matrix(PMT))
== nrow(matrix(HE))
A new matrix is produced using temperature values from the heating element
and count values from the PMT.
Note:
Please note that due to the recalculation of the temperature
values based on values delivered by the heating element, it may happen that
multiple count values exists for each temperature value and temperature
values may also decrease during heating, not only increase.
Advanced file import
To allow for a more efficient usage of the function, instead of single path
to a file just a directory can be passed as input. In this particular case
the function tries to extract all XSYG-files found in the directory and import
them all. Using this option internally the function constructs as list of
the XSYG-files found in the directory. Please note no recursive detection
is supported as this may lead to endless loops.