1 %> @brief Multi-Stage Complex Outlier Removal
8 %> ={}. Processors blocks.
12 %> =0 (cascade). Possibilities:
13 %> @arg 0 -
"cascade". Runs step on output of previous step.
14 %> @arg 1 -
"intersection". Removes only the outliers yielded by all the stages.
15 %> @arg 2 -
"union". Removes the outliers yielded by any of the stages.
28 function o = calculate_map(o, data)
31 o.log.inputno = data.no;
33 ns = length(o.processors);
35 datai = data; % working dataset
38 if ~isempty(o.processors{i}) % data does not necessarily need to be processed before outlier removal
39 o.processors{i} = o.processors{i}.boot();
40 o.processors{i} = o.processors{i}.train(datai);
41 datao = o.processors{i}.use(datai);
43 datao = datai; % bypass
45 o.removers{i} = o.removers{i}.train(datao);
46 map = o.removers{i}.map;
49 o.log.stagesno(i) = numel(map);
52 datai = datai.map_rows(map);
63 if o.mode == 1 % intersection
64 map = intersect(map, maps{i});
65 elseif o.mode == 2 %
union
66 map =
union(map, maps{i});
68 irerror(sprintf(
'Invalid mode: %d', o.mode));
Outlier Removal base class.
function progress2_change(in prgrss, in title, in perc, in i, in n)
function progress2_open(in title, in perc, in i, in n)
Log for the blmisc_rowsout_multistage block activity.
function progress2_close(in prgrss)
Property classtitle
Class Title. Should have a descriptive name, as short as possible.
Multi-Stage Complex Outlier Removal.
Analysis Session (AS) base class.