MEDIAN computes the median value of the data in the AO. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: MEDIAN computes the median value of the data in the AO. CALL: ao_out = median(ao_in); ao_out = median(ao_in, pl); PARAMETERS: see help for data2D/applymethod for additional parameters M-FILE INFO: Get information about this methods by calling >> ao.getInfo('median') Get information about a specified set-plist by calling: >> ao.getInfo('median', 'None') VERSION: $Id: median.m,v 1.19 2008/09/05 11:15:19 ingo Exp $ HISTORY: 12-03-07 M Hewitson Creation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 % MEDIAN computes the median value of the data in the AO. 0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0003 % 0004 % DESCRIPTION: MEDIAN computes the median value of the data in the AO. 0005 % 0006 % CALL: ao_out = median(ao_in); 0007 % ao_out = median(ao_in, pl); 0008 % 0009 % PARAMETERS: see help for data2D/applymethod for additional parameters 0010 % 0011 % M-FILE INFO: Get information about this methods by calling 0012 % >> ao.getInfo('median') 0013 % 0014 % Get information about a specified set-plist by calling: 0015 % >> ao.getInfo('median', 'None') 0016 % 0017 % VERSION: $Id: median.m,v 1.19 2008/09/05 11:15:19 ingo Exp $ 0018 % 0019 % HISTORY: 12-03-07 M Hewitson 0020 % Creation 0021 % 0022 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0023 0024 function varargout = median(varargin) 0025 0026 % Check if this is a call for parameters 0027 if utils.helper.isinfocall(varargin{:}) 0028 varargout{1} = getInfo(varargin{3}); 0029 return 0030 end 0031 0032 % Collect input variable names 0033 in_names = cell(size(varargin)); 0034 for ii = 1:nargin,in_names{ii} = inputname(ii);end 0035 0036 % Collect all AOs 0037 [as, ao_invars] = utils.helper.collect_objects(varargin(:), 'ao', in_names); 0038 pl = utils.helper.collect_objects(varargin(:), 'plist', in_names); 0039 0040 % Decide on a deep copy or a modify 0041 bs = copy(as, nargout); 0042 0043 % Apply method to all AOs 0044 applymethod(bs, ao_invars, 'median', pl, getDefaultPlist, getInfo); 0045 0046 % remove fs and nsecs 0047 for j=1:numel(bs) 0048 if ismethod(bs(j).data, 'setFs') 0049 bs(j).setFs(NaN, 'internal'); 0050 end 0051 if ismethod(bs(j).data, 'setNsecs') 0052 bs(j).data.setNsecs(NaN, 'internal'); 0053 end 0054 end 0055 0056 % Set output 0057 if nargout > 0 0058 varargout{1} = bs; 0059 end 0060 end 0061 0062 %-------------------------------------------------------------------------- 0063 % Get Info Object 0064 %-------------------------------------------------------------------------- 0065 function ii = getInfo(varargin) 0066 if nargin == 1 && strcmpi(varargin{1}, 'None') 0067 sets = {}; 0068 pl = []; 0069 else 0070 sets = {'Default'}; 0071 pl = getDefaultPlist; 0072 end 0073 % Build info object 0074 ii = minfo(mfilename, 'ao', '', utils.const.categories.op, '$Id: median.m,v 1.19 2008/09/05 11:15:19 ingo Exp $', sets, pl); 0075 end 0076 0077 %-------------------------------------------------------------------------- 0078 % Get Default Plist 0079 %-------------------------------------------------------------------------- 0080 function pl_default = getDefaultPlist() 0081 0082 pl_default = plist('axis', 'xy'); 0083 end 0084 0085 % END