View source: R/convert_Wavelength2Energy.R
convert_Wavelength2Energy | R Documentation |
The function provides a convenient and fast way to convert emission spectra wavelength to energy scales. The function works on RLum.Data.Spectrum, data.frame and matrix and a list of such objects. The function was written to smooth the workflow while analysing emission spectra data. This is in particular useful if you want to further treat your data and apply, e.g., a signal deconvolution.
convert_Wavelength2Energy(object, digits = 3L, order = FALSE)
object |
RLum.Data.Spectrum, data.frame, matrix (required): input object to be converted. If the input is not an RLum.Data.Spectrum, the first column is always treated as the wavelength column. The function supports a list of allowed input objects. |
digits |
integer (with default): set the number of digits on the returned energy axis |
order |
logical (with default): enables/disables sorting of the values in ascending energy order. After the conversion the longest wavelength has the lowest energy value and the shortest wavelength the highest. While this is correct, some R functions expect increasing x-values. |
The intensity of the spectrum is re-calculated using the following approach to recalculate wavelength and corresponding intensity values (e.g., Appendix 4 in Blasse and Grabmeier, 1994; Mooney and Kambhampati, 2013):
\phi_{E} = \phi_{\lambda} * \lambda^2 / (hc)
with
\phi_{E}
the intensity per interval of energy E
(1/eV),
\phi_{\lambda}
the intensity per interval of wavelength \lambda
(1/nm) and
h
(eV * s) the Planck constant and c
(nm/s) the velocity of light.
For transforming the wavelength axis (x-values) the equation as follow is used
E = hc/\lambda
The same object class as provided as input is returned.
0.1.1
Kreutzer, S., 2024. convert_Wavelength2Energy(): Emission Spectra Conversion from Wavelength to Energy Scales (Jacobian Conversion). Function version 0.1.1. In: Kreutzer, S., Burow, C., Dietze, M., Fuchs, M.C., Schmidt, C., Fischer, M., Friedrich, J., Mercier, N., Philippe, A., Riedesel, S., Autzen, M., Mittelstrass, D., Gray, H.J., Galharret, J., 2024. Luminescence: Comprehensive Luminescence Dating Data Analysis. R package version 0.9.24. https://CRAN.R-project.org/package=Luminescence
This conversion works solely for emission spectra. In case of absorption spectra only the x-axis has to be converted.
Sebastian Kreutzer, Institute of Geography, Heidelberg University (Germany) , RLum Developer Team
Blasse, G., Grabmaier, B.C., 1994. Luminescent Materials. Springer.
Mooney, J., Kambhampati, P., 2013. Get the Basics Right: Jacobian Conversion of Wavelength and Energy Scales for Quantitative Analysis of Emission Spectra. J. Phys. Chem. Lett. 4, 3316–3318. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1021/jz401508t")}
Mooney, J., Kambhampati, P., 2013. Correction to “Get the Basics Right: Jacobian Conversion of Wavelength and Energy Scales for Quantitative Analysis of Emission Spectra.” J. Phys. Chem. Lett. 4, 3316–3318. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1021/jz401508t")}
Further reading
Angulo, G., Grampp, G., Rosspeintner, A., 2006. Recalling the appropriate representation of electronic spectra. Spectrochimica Acta Part A: Molecular and Biomolecular Spectroscopy 65, 727–731. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.saa.2006.01.007")}
Wang, Y., Townsend, P.D., 2013. Potential problems in collection and data processing of luminescence signals. Journal of Luminescence 142, 202–211. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.jlumin.2013.03.052")}
RLum.Data.Spectrum, plot_RLum
##=====================##
##(1) Literature example after Mooney et al. (2013)
##(1.1) create matrix
m <- matrix(
data = c(seq(400, 800, 50), rep(1, 9)), ncol = 2)
##(1.2) set plot function to reproduce the
##literature figure
p <- function(m) {
plot(x = m[, 1], y = m[, 2])
polygon(
x = c(m[, 1], rev(m[, 1])),
y = c(m[, 2], rep(0, nrow(m))))
for (i in 1:nrow(m)) {
lines(x = rep(m[i, 1], 2), y = c(0, m[i, 2]))
}
}
##(1.3) plot curves
par(mfrow = c(1,2))
p(m)
p(convert_Wavelength2Energy(m))
##=====================##
##(2) Another example using density curves
##create dataset
xy <- density(
c(rnorm(n = 100, mean = 500, sd = 20),
rnorm(n = 100, mean = 800, sd = 20)))
xy <- data.frame(xy$x, xy$y)
##plot
par(mfrow = c(1,2))
plot(
xy,
type = "l",
xlim = c(150, 1000),
xlab = "Wavelength [nm]",
ylab = "Luminescence [a.u.]"
)
plot(
convert_Wavelength2Energy(xy),
xy$y,
type = "l",
xlim = c(1.23, 8.3),
xlab = "Energy [eV]",
ylab = "Luminescence [a.u.]"
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.