Home > m > gui > ltpdv > callbacks > ltpdv_filterApply.m

ltpdv_filterApply

PURPOSE ^

Handles

SYNOPSIS ^

function ltpdv_filterApply(varargin)

DESCRIPTION ^

 Handles

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function ltpdv_filterApply(varargin)
0002 
0003 % Handles
0004 myh     = varargin{1};
0005 htab    = varargin{end-1};
0006 mainfig = varargin{end};
0007 
0008 % Get selected filter
0009 filts = getappdata(mainfig, 'Filters');
0010 % Get selection
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 %--------- Apply filter to selected objects
0021 
0022 % Get selected objects
0023 objs = ltpdv_get_selected_objs(mainfig);
0024 
0025 % Collect AOs
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 % Evaluate fcn
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 % Add result to object list
0044 for j=1:numel(out)
0045    objs = getappdata(mainfig, 'LTPDAobjects');
0046    setappdata(mainfig, 'LTPDAobjects', [objs {out(j)}]);
0047 end
0048 % Refresh object list
0049 ltpdv_refresh_object_list(mainfig);
0050 
0051 
0052

Generated on Mon 08-Sep-2008 13:18:47 by m2html © 2003