IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
classlabels2classmap.m
Go to the documentation of this file.
1 %> @ingroup conversion classlabelsgroup
2 %> @file
3 %> @brief Creates class map from a list of class labels
4 %>
5 %> This functions searches from a list of labels within the @c classlabels complete list and returns their indexes. It can also work in complement mode (xor with complete list). It searches within one combination of class levels.
6 %
7 %> @param classlabels Full list of class labels
8 %> @param classlabels_select Class labels to be selected
9 %> @param levels Combination of levels (won't do search within individual levels, but will instead assume that the elements inside @c classlabels_select) are made to match elements of classlabels when they are re-mounted taken into account @c levels only
10 %> @param flag_complement =0 Option to return the complement classes instead
11 %> @return idxs
12 function idxs = classlabels2classmap(classlabels, classlabels_select, levels, flag_complement)
13 
14 
15 
16 cellmaps = classlabels2cell(classlabels, levels);
17 
18 nl = numel(classlabels_select);
19 
20 idxs = [];
21 for i = 1:nl
22  idxs = [idxs, find(strcmp(classlabels_select, cellmaps(:, 3)))];
23 end;
24 
25 if flag_complement
26  idxs = setxor(idxs, 1:size(cellmaps, 1));
27 end;
28 % varnames = unique(cellmaps(:, 3));
29 % o = classsplitter();
30 % o.classlabels = classlabels;
31 % o.hie_base = hie_base;
32 % o.hie_split = hie_split;
33 % for i = 1:numel(varnames)
34 % o = o.set_baselabel(varnames{i});
35 % eval([varnames{i} ' = o;']);
36 % end;
37 %
38 % for i = 1:numel(ss)
39 % oo = eval(ss{i});
40 % maps{i} = oo.map;
41 % end;
42 %
43 %
44 %