IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
blmisc_classes_from_clus.m
Go to the documentation of this file.
1 %> @brief Assign classes from one data column from an @c irdata_clus object
2 %>
3 %> @ingroup classlabelsgroup
4 %>
5 %> This block is used to use the clusters generated by a clustering method as the classes in a dataset. Note that both
6 %> datasets in case must have same \ref no and represent the same physical data.
7 %>
8 %> @sa uip_blmisc_classes_from_clus.m
10  properties
11  data_clus;
12  idx_fea;
13  classes_to_remove;
14  end;
15 
16  methods
17  function o = blmisc_classes_from_clus(o)
18  o.classtitle = 'From Clusters';
19  o.flag_params = 1;
20  end;
21  end;
22 
23  methods(Access=protected)
24  function data = do_use(o, data)
25  C = renumber_vector_idooo(o.data_clus.X(:, o.idx_fea));
26  cc = unique(C);
27  cc2 = cc(cc >= 0); % Only valid Clusters
28  no_classes = numel(cc2);
29 
30  data.classlabels = cell(1, no_classes);
31  % Produces class labels
32  for i = 1:no_classes
33  data.classlabels{i} = sprintf('Class %d', i-1);
34  end;
35 
36 
37  data.classes = C;
38 
39  % Assures that class numbers will start at 0 and end at NumberOfClasses-1
40  for i = 1:numel(cc2)
41  data.classes(C == cc2(i)) = i-1;
42  end;
43 
44  % Marks classes to remove as -2 (outlier)
45  for i = 1:numel(o.classes_to_remove)
46  data.classes(C == o.classes_to_remove(i)) = -2;
47  end;
48  data = data.eliminate_unused_classlabels();
49  end;
50  end;
51 end
52 
Assign classes from one data column from an irdata_clus object.
Dataset class - cluster data.
Definition: irdata_clus.m:6
Base Block class.
Definition: block.m:2
function renumber_vector_idooo(in y)
Analysis Session (AS) base class.
Definition: as.m:6
Base class for blocks that change a dataset classes.
Definition: blmisc_classes.m:2