do prior work for some works that require only valid coordinates [usage] [filt_spec] = vb_valid_coordinate_filter_encode(coord) [input] coord : <required> coordinate [output] filt_spec : filtering specifications : - valid_coord : valid coordinates : - org_size : original size of coordinates [Npoint x Ndim] : - v_coord_idx : index of valid coord in original[N x 1] [note] [history] 2007-04-18 (Sako) initial version Copyright (C) 2011, ATR All Rights Reserved. License : New BSD License(see VBMEG_LICENSE.txt)
0001 function [filt_spec] = vb_valid_coordinate_filter_encode(coord) 0002 % do prior work for some works that require only valid coordinates 0003 % [usage] 0004 % [filt_spec] = vb_valid_coordinate_filter_encode(coord) 0005 % [input] 0006 % coord : <required> coordinate 0007 % [output] 0008 % filt_spec : filtering specifications 0009 % : - valid_coord : valid coordinates 0010 % : - org_size : original size of coordinates [Npoint x Ndim] 0011 % : - v_coord_idx : index of valid coord in original[N x 1] 0012 % [note] 0013 % 0014 % [history] 0015 % 2007-04-18 (Sako) initial version 0016 % 0017 % Copyright (C) 2011, ATR All Rights Reserved. 0018 % License : New BSD License(see VBMEG_LICENSE.txt) 0019 0020 % --- CHECK ARGUMENTS --- % 0021 if ~exist('coord', 'var') coord = []; end 0022 [coord] = inner_check_arguments(coord); 0023 0024 % --- MAIN PROCEDURE --------------------------------------------------------- % 0025 % 0026 org_size = size(coord); % [Npoints x Ndimension] 0027 Npoints = org_size(1); 0028 0029 valid_coord = []; 0030 v_coord_idx = []; 0031 0032 tmp_idx = []; 0033 0034 for ip = 1:Npoints 0035 if ~vb_is_invalid_coordinate(coord(ip,:)) 0036 valid_coord = [valid_coord; coord(ip,:)]; 0037 v_coord_idx = [v_coord_idx; ip]; 0038 else 0039 tmp_idx = [tmp_idx; ip]; 0040 end 0041 end 0042 0043 filt_spec.valid_coord = valid_coord; 0044 filt_spec.org_size = org_size; 0045 filt_spec.v_coord_idx = v_coord_idx; 0046 0047 % 0048 % --- END OF MAIN PROCEDURE -------------------------------------------------- % 0049 0050 % --- INNER FUNCTIONS -------------------------------------------------------- % 0051 % 0052 function [coord] = inner_check_arguments(coord) 0053 if isempty(coord) 0054 error('coord is a required parameter'); 0055 end 0056 % 0057 % --- END OF INNER FUNCTIONS ------------------------------------------------- % 0058 0059 %%% END OF FILE %%%