return labels to read (mainly be used in order to decide channel list to read) [usage] [labels, idx] = ... vb_util_get_labels_to_read(base_list, target_list, to_read_swt) [input] base_list : <required> : base list of labels that must include "target_list" target_list : <optional> : target list whose purpose is decided by 'to_read_swt' [[]] to_read_swt : <optional> <<boolean>> switch whether to read or not : [true]) target_list means to be included : false) target_list means not to be included [output] labels : label list to read [N x 1] idx : index of base_list [note] <case that empty "labels" is returned> - base_list is not given or is empty - target_list is not given or is empty and to_read_swt is true - target_list is not included in base_list -- would return with warning message @see vb_util_is_included_list @see vb_util_omit_list [history] 2006-12-18 (Sako) initial version 2008-02-27 (Sako) thoroughly revised Copyright (C) 2011, ATR All Rights Reserved. License : New BSD License(see VBMEG_LICENSE.txt)
0001 function [labels, idx] = ... 0002 vb_util_get_labels_to_read(base_list, target_list, to_read_swt) 0003 % return labels to read 0004 % (mainly be used in order to decide channel list to read) 0005 % [usage] 0006 % [labels, idx] = ... 0007 % vb_util_get_labels_to_read(base_list, target_list, to_read_swt) 0008 % [input] 0009 % base_list : <required> 0010 % : base list of labels that must include "target_list" 0011 % target_list : <optional> 0012 % : target list whose purpose is decided by 'to_read_swt' [[]] 0013 % to_read_swt : <optional> <<boolean>> switch whether to read or not 0014 % : [true]) target_list means to be included 0015 % : false) target_list means not to be included 0016 % [output] 0017 % labels : label list to read [N x 1] 0018 % idx : index of base_list 0019 % [note] 0020 % <case that empty "labels" is returned> 0021 % - base_list is not given or is empty 0022 % - target_list is not given or is empty and to_read_swt is true 0023 % - target_list is not included in base_list 0024 % -- would return with warning message 0025 % @see vb_util_is_included_list 0026 % @see vb_util_omit_list 0027 % [history] 0028 % 2006-12-18 (Sako) initial version 0029 % 2008-02-27 (Sako) thoroughly revised 0030 % 0031 % Copyright (C) 2011, ATR All Rights Reserved. 0032 % License : New BSD License(see VBMEG_LICENSE.txt) 0033 0034 % --- CHECK ARGUMENTS --- % 0035 if ~exist('base_list', 'var'), base_list = []; end 0036 if ~exist('target_list', 'var'), target_list = []; end 0037 if ~exist('to_read_swt', 'var'), to_read_swt = []; end 0038 0039 [base_list, to_read_swt, target_list, empty_flg] = ... 0040 inner_check_arguments(base_list, target_list, to_read_swt); 0041 0042 % --- MAIN PROCEDURE --------------------------------------------------------- % 0043 % 0044 labels = []; 0045 idx = []; 0046 0047 if empty_flg, return; end; 0048 0049 if to_read_swt == false 0050 [labels, idx] = vb_util_omit_list(base_list, target_list); 0051 0052 else 0053 [result, idx] = vb_util_is_included_list(base_list, target_list); 0054 if ~isempty(idx) 0055 labels = vb_util_arrange_list(base_list(idx)); 0056 end 0057 end 0058 return; 0059 % 0060 % --- END OF MAIN PROCEDURE -------------------------------------------------- % 0061 0062 0063 % --- INNER FUNCTIONS -------------------------------------------------------- % 0064 % 0065 % --- inner_check_arguments() 0066 % 0067 function [base_list, to_read_swt, target_list, empty_flg] = ... 0068 inner_check_arguments(base_list, target_list, to_read_swt) 0069 func_ = mfilename; 0070 empty_flg = true; 0071 0072 if isempty(base_list) 0073 fprintf('(%s)base_list is empty\n', func_); 0074 return; 0075 end 0076 0077 if isempty(to_read_swt) 0078 to_read_swt = true; 0079 end 0080 0081 % ----- target list 0082 if isempty(target_list) 0083 if to_read_swt == true 0084 fprintf('(%s)Though target_list means ''to read'', it is empty\n', ... 0085 func_); 0086 return; 0087 else 0088 % target_list is empty and it means not to be included 0089 target_list = base_list; 0090 to_read_swt = true; 0091 end 0092 end 0093 empty_flg = false; 0094 return; 0095 % 0096 % --- end of inner_check_arguments() 0097 0098 %%% END OF FILE %%%