multi_pseudoVoigt: Calculate Pseudo-Voigt Using Numerical Approximation

Description Usage Arguments Value Examples

View source: R/PeakFunctions_multi_pseudoVoigt.R

Description

Calculates the linear combination of gaussian and lorentzian peaks with normalization factor

Usage

1
multi_pseudoVoigt(x, sigmas, gammas, mus, probDensity, ks, returnComponentPks)

Arguments

x

a vector of x-coordinates from which the corrisponding y-coordinates are calculated

sigmas

the standard deviation of the gaussian

gammas

the lorentzian scale parameter specifying the half-width at half-maximum (HWHM)

mus

the mean

probDensity

Should the function produce a probability density function 'TRUE' a peak 'FALSE' with amplitude k? default is 'TRUE'.

ks

Amplitude of the peak. Only used when 'probDensity == FALSE'

returnComponentPks

Should the function return a single vector containing the sum of each individual peak 'FALSE' or a data.frame containing the input vector 'x', each component peak 'peak_n', and the summed result of the component peaks 'peak_sum'. The default is FALSE.

Value

a vector of y-coordinates the same length as x

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#Pseudo-Voigt Probability Distribution from multiple peaks
xVec <- seq(from = 1, to = 100, by = 0.1)
pdist <- multi_pseudoVoigt(x = xVec,
                           mus = c(20, 40, 60),
                           sigmas = c(1, 1, 1),
                           gammas = c(1,2,1.5),
                           probDensity = TRUE,
                           returnComponentPks = FALSE)

pdist_components <- multi_pseudoVoigt(x = xVec,
                                      mus = c(20, 40, 60),
                                      sigmas = c(1, 1, 1),
                                      gammas = c(1,2,1.5),
                                      probDensity = TRUE,
                                      returnComponentPks = TRUE)

plot(x = xVec, y = pdist)
plot(x = pdist_components$x, y = pdist_components$peak_sum)
points(x = pdist_components$x, y = pdist_components$peak_1, col = "red")
points(x = pdist_components$x, y = pdist_components$peak_2, col = "blue")
points(x = pdist_components$x, y = pdist_components$peak_3, col = "green")

pmbrophy/SummitR documentation built on May 20, 2020, 12:36 a.m.