0001 function ltpdv_filterApply(varargin)
0002
0003
0004 myh = varargin{1};
0005 htab = varargin{end-1};
0006 mainfig = varargin{end};
0007
0008
0009 filts = getappdata(mainfig, 'Filters');
0010
0011 fh = findobj(mainfig, 'Tag', 'LTPDVfilterList');
0012 idx = get(fh, 'Value');
0013 sfilts = [];
0014 for j=1:length(filts)
0015 if ismember(j, idx)
0016 sfilts = [sfilts filts(j)];
0017 end
0018 end
0019
0020
0021
0022
0023 objs = ltpdv_get_selected_objs(mainfig);
0024
0025
0026 as = [];
0027 for j=1:numel(objs)
0028 obj = objs{j};
0029 if isa(obj, 'ao')
0030 as = [as obj];
0031 else
0032 warning('!!! Skipping object %s - it''s not an AO', obj.name);
0033 end
0034 end
0035
0036
0037 out = as;
0038 for j=1:length(sfilts)
0039 filt = sfilts(j);
0040 out = feval('filter', out, plist('filter', filt));
0041 end
0042
0043
0044 for j=1:numel(out)
0045 objs = getappdata(mainfig, 'LTPDAobjects');
0046 setappdata(mainfig, 'LTPDAobjects', [objs {out(j)}]);
0047 end
0048
0049 ltpdv_refresh_object_list(mainfig);
0050
0051
0052