1 %> @brief Picks region area, region peak, or value at fixed x-position
5 %> @arg <code>
'f'</code> Value at fixed x-position
6 %> @arg <code>
'm'</code> Maximum within range
7 %> @arg <code>
'a'</code> Area within range
12 %> location/range vector, given in x-axis units
18 o.classtitle = 'Various';
22 function o = illustrate(o, data, obsidx)
26 vidx =
v_x2ind(o.v, data.fea_x);
29 if o.type == 'f' || o.type == 'm'
31 irerror('Please supply a 2-element wavenumbers vector!');
35 irerror('It seems that the vector elements are in inverted order!');
39 irerror('Wavenumber vector is empty!');
44 y = data.X(obsidx(1, 1), :);
55 plot(x(vidx(1, 1))*[1, 1], [0, y(vidx(1, 1))], 'r', 'LineWidth', scaled(2));
59 vidx2 = vidx(1):vidx(2);
60 plot(x(vidx(1, 1))*[1, 1], [0, max(y)], 'r--', 'LineWidth', scaled(2));
61 plot(x(vidx(1, end))*[1, 1], [0, max(y)], 'r--', 'LineWidth', scaled(2));
62 [vv, ii] = max(y(vidx2));
66 vidx2 = vidx(1):vidx(2);
69 fill([x_, x_(end), x_(1)], [y_, 0, 0], [1, .5, .5], 'LineWidth', scaled(2), 'EdgeColor', [1, 0, 0]);
78 methods(Access=protected)
79 function data = do_use(o, data)
81 vidx =
v_x2ind(o.v, data.fea_x);
85 data.X = data.X(:, vidx);
86 data.fea_x = data.fea_x(vidx);
88 data.X = max(data.X(:, vidx(1):vidx(2)), [], 2);
90 data.fea_names = {
'Maximum'};
94 data.X = sum(data.X(:, vidx(1):vidx(2)), 2);
96 data.fea_names = {
'Area'};
function draw_peaks(in x, in y, in indexes, in flag_text, in color, in marker, in markersize)
Measure: calculates one scalar per dataset row.
function v_x2ind(in v, in x)
Picks region area, region peak, or value at fixed x-position.
function plot_curve_pieces(in x, in y, in varargin)
Property v
location/range vector, given in x-axis units