This function deconvolves thermogravimetric data using a Fraser-Suzuki mixture model

deconvolve(
  process_object,
  lower_temp = 120,
  upper_temp = 700,
  seed = 1,
  n_peaks = NULL,
  start_vec = NULL,
  lower_vec = NULL,
  upper_vec = NULL
)

Arguments

process_object

process object obtained from process function

lower_temp

lower temperature bound to crop dataset, default to 120

upper_temp

upper temperature bound to crop dataset, default to 700

seed

random seed for nloptr optimiser

n_peaks

number of curves optional specification

start_vec

vector of starting values for nls function. Only specify this vector if you have selected the number of curves in the n_peaks parameter.

lower_vec

vector of lower bound values for nls. Only specify this vector if you have selected the number of curves in the n_peaks parameter.

upper_vec

vector of upper bound values for nls. Only specify this vector if you have selected the number of curves in the n_peaks parameter.

Value

decon list containing amended dataframe, temperature bounds, minpack.lm model fit, the number of curves fit, and estimated component weights

Examples

# \donttest{
data(juncus)
tmp <- process(juncus, init_mass = 18.96,
               temp = 'temp_C', mass_loss = 'mass_loss')
output <- deconvolve(tmp)
my_starting_vec <- c(height_1 = 0.003, skew_1 = -0.15, position_1 = 250, width_1 = 50,
                     height_2 = 0.006, skew_2 = -0.15, position_2 = 320, width_2 = 30,
                     height_3 = 0.001, skew_3 = -0.15, position_3 = 390, width_3 = 200)
output <- deconvolve(tmp, n_peaks = 3, start_vec = my_starting_vec)
# }