IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
uip_blmisc_classlabels_rename.m
Go to the documentation of this file.
1 %> @ingroup guigroup
2 %> @file
3 %> @brief Properties Windows for @ref blmisc_classlabels_rename
4 %>
5 %> Asks for new class labels
6 %>
8 %
9 %> @cond
10 function result = uip_blmisc_classlabels_rename(o, data)
11 result.flag_ok = 0;
12 scl = '{}';
13 n = 0;
14 if ~isempty(data) && isa(data, 'irdata')
15  scl = cell2str(data.classlabels);
16  n = numel(data.classlabels);
17 end;
18 while 1
19  flag_break = 0;
20  p = inputdlg('Enter new classlabels (class labels)', 'Rename', 1, {scl});
21  if ~isempty(p)
22  scl = p{1};
23  flag_error = 0;
24  serror = '';
25  try
26  new_codes = eval(scl);
27  catch ME
28  serror = ME.message;
29  flag_error = 1;
30  end;
31 
32  if ~flag_error
33  if ~iscell(new_codes)
34  flag_error = 1;
35  serror = 'Invalid new class labels!';
36  elseif numel(new_codes) ~= n && n > 0
37  flag_error = 1;
38  serror = 'Wrong number of labels!';
39  else
40  result.params = {'classlabels_new', cell2str(new_codes)};
41  result.flag_ok = 1;
42  flag_break = 1;
43  end;
44  end;
45 
46  if flag_error
47  irerrordlg(serror, 'Error');
48  end;
49  else
50  flag_break = 1;
51  end;
52 
53  if flag_break
54  break;
55  end;
56 end;
57 %> @endcond
function cell2str(in c)
Dataset class.
Definition: irdata.m:30
function irerrordlg(in errorstring, in dlgname)