1 %>@brief Plots polynomial baselines, Helps find order
for polynomial-fit baseline correction
2 %>@ingroup interactive demo
5 disp(
'*** Helps find polynomial order for polynomial-fit baseline correction ***');
6 varname = input(
'Enter dataset variable name [Demo Raman dataset]: ',
's');
11 dataset = eval([varname ';']);
13 no = size(dataset.X, 1);
16 idx = input(sprintf('Enter index of spectrum to use (between 1 and %d) [1]: ', no));
17 if isempty(idx) || idx <= 0
21 dataset = dataset.map_rows(idx);
29 order_ = input(sprintf('Enter polynomial order [%d]: ', order));
34 % epsilon_ = input(sprintf('Enter epsilon [%g]: ', epsilon));
35 % if ~isempty(epsilon_)
42 dataset2 = pr.use(dataset);
47 plot(dataset.fea_x, dataset.X, 'r', 'LineWidth', 2);
49 plot(dataset.fea_x, dataset2.X, 'b', 'LineWidth', 2);
50 plot(dataset.fea_x, dataset.X-dataset2.X, 'k', 'LineWidth', 2);
51 legend({
'Before',
'After',
'Baseline'});
54 title(sprintf(
'Order = %d', order));
56 % s_happy = input(sprintf(
'Are you happy with order = %d and epsilon = %g [y/N]? ', order, epsilon),
's');
57 s_happy = input(sprintf(
'Are you happy with order = %d [y/N]? ', order),
's');
58 if ~isempty(intersect({s_happy}, {
'y',
'Y'}))
Polynomial Baseline Correction.
function load_data_raman_sample()