Changeset 127 for trunk/src/name_generator.m
- Timestamp:
- Nov 19, 2010, 10:44:24 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/name_generator.m
r122 r127 51 51 end 52 52 if ~ischar(ext),ext='';end 53 idetect=0;53 % idetect=0; 54 54 if ~exist('num_i1','var') || isempty(num_i1) || isnan(num_i1) 55 55 num_i1=1; %default … … 82 82 end 83 83 if ~test_pairs%case of a single index i, and possibly j 84 numlength=numel(nom_type); 84 % numlength=numel(nom_type); 85 nom_type_mod=nom_type; 85 86 num_j_str=''; 86 87 if strcmp(nom_type(1),'_') 87 88 filename=[filename '_']; 88 nom_type (1)=[];89 end 90 if strcmp(nom_type (end),'a')91 nom_type (end)=[];89 nom_type_mod(1)=[]; 90 end 91 if strcmp(nom_type_mod(end),'a') 92 nom_type_mod(end)=[]; 92 93 num_j_str=char(num_j1+96);% lower letter corresponding to the index 93 elseif strcmp(nom_type (end),'A')94 elseif strcmp(nom_type_mod(end),'A') 94 95 nom_type(end)=[]; 95 96 num_j_str=char(num_j1+64);% lower letter corresponding to the index 96 elseif isequal(numel(regexp(nom_type (2:end),'_')),1)%if aseparator '_' exists in nom_type97 elseif isequal(numel(regexp(nom_type_mod,'_')),1)%if a second separator '_' exists in nom_type 97 98 num_j_str=['_' num2str(num_j1)]; 98 nom_type (regexp(nom_type(2:end),'_'):end)=[];99 nom_type_mod(regexp(nom_type_mod,'_'):end)=[]; 99 100 else 100 101 num_j1_out=[];%no index j 101 102 end 102 if ~is empty(str2num(nom_type))103 numtype=['%0' num2str(length(nom_type )) 'd'];%indicate the number of digits (0 before the number)103 if ~isnan(str2double(nom_type_mod)) 104 numtype=['%0' num2str(length(nom_type_mod)) 'd'];%indicate the number of digits (0 before the number) 104 105 filename=[filename num2str(num_i1,numtype) num_j_str ext]; 105 106 num_i2_out=num_i1_out; … … 109 110 filename=[filename ext]; 110 111 end 111 % if strcmp(nom_type,'_i'); 112 % filename=[filebase '_' num2str(num_i1) ext]; 113 % num_i2_out=num_i1; 114 % num_j1_out=[]; 115 % num_j2_out=[]; 116 % elseif length(nom_type)==5 && strcmp(nom_type(1:3),'_%0')&& strcmp(nom_type(5),'d'); 117 % filename=[filebase '_' num2str(num_i1,nom_type(2:5)) ext]; 118 % num_i2_out=num_i1; 119 % num_j2_out=num_j1; 120 % elseif strcmp(nom_type,'_i_j') 121 % filename=[filebase '_' num2str(num_i1) '_' num2str(num_j1) ext]; 122 % num_i2_out=num_i1; 123 % num_j2_out=num_j1; 124 % elseif strcmp(nom_type,'#a')| strcmp(nom_type,'#A') 125 % filename=[filebase num2str(num_i1,'%03d') num2stra(num_j1,nom_type) ext]; 126 % num_i2_out=num_i1; 127 % num_j2_out=num_j1; 128 % elseif length(nom_type)>=5 & strcmp(nom_type(2:3),'%0') & strcmp(nom_type(5),'d') %strcmp(nom_type,'_%04dA') %camera PCO Toulouse 129 % filename=[filebase nom_type(1) num2str(num_i1,nom_type(2:4)) num2stra(num_j1,nom_type) ext]; 130 % num_i2_out=num_i1; 131 % num_j2_out=num_j1; 132 % elseif strcmp(nom_type,'#') 133 % filename=[filebase num2str(num_i1) ext]; 134 % num_i2_out=num_i1; 135 % num_j1_out=[]; 136 % num_j2_out=[]; 137 % elseif length(nom_type)>=4 & strcmp(nom_type(1:2),'%0') & strcmp(nom_type(end),'d') 138 % filename=[filebase num2str(num_i1,nom_type) ext]; %test number with a 0 before 139 % num_i2_out=num_i1; 140 % num_j1_out=[]; 141 % num_j2_out=[]; 142 % elseif length(nom_type)>=4 & strcmp(nom_type(1:2),'%0') & strcmp(nom_type(end-1:end),'dA') 143 % filename=[filebase num2str(num_i1,nom_type(1:end-1)) num2stra(num_j1,'#A') ext]; %test number with a 0 before 144 % num_i2_out=num_i1; 145 % num_j1_out=[]; 146 % num_j2_out=[]; 147 % end 112 148 113 %case of derived file indexing (e.g. netcdf files) 149 114 else 150 %inexistant pair if num_i2=0 or num_j2=0151 % if strcmp(num_i2,0)152 % filename=[filebasesub '*-*_' num2str(num_i1) ext];153 % return154 % end155 % if strcmp(num_j2,0)156 % filename=[filebasesub '_' num2str(num_i1) '_*-*' ext];157 % return158 % end159 115 % case of an imposed image pair (comp_input=1) 160 116 if (exist('comp_input','var') && isequal(comp_input,1)) … … 205 161 elseif isequal(nom_type,'i1-i2_j1-j2') 206 162 if isequal(num2str(num_i1),num2str(num_i2))% case of displacements at the same time 207 app1= [num2str(num_i1)];163 app1= num2str(num_i1); 208 164 else 209 165 app1= [num2str(num_i1) '-' num2str(num_i2)]; 210 166 end 211 167 if isequal(num2str(num_j1),num2str(num_j2))% case of displacements at the same time 212 app2= [num2str(num_j1)];168 app2= num2str(num_j1); 213 169 else 214 170 app2= [num2str(num_j1) '-' num2str(num_j2)]; … … 228 184 direct=dir(pathfile);%directory containing filebase 229 185 datedir=[];%default 230 idir=0;186 % idir=0; 231 187 indir=find(cell2mat({direct.isdir}));% find indices of subdirectories 232 direct=direct(indir( [3:end]));% keep only the subdirectories,eliminating the two first terms '.' and '..'188 direct=direct(indir(3:end));% keep only the subdirectories,eliminating the two first terms '.' and '..' 233 189 lengthdir=length(direct); 234 190 if lengthdir==0 … … 240 196 char_code=double(date_str);% code of the date characters 241 197 special_char=(char_code>127); %non standard Ascii character (e.g. date in french) 242 if isempty(find(special_char ))% standard Ascii character198 if isempty(find(special_char,1))% standard Ascii character 243 199 datedir(idir)=datenum(date_str); 244 200 end … … 250 206 filebasesub=fullfile(pathfile,subdir,name); 251 207 %if the image pair is imposed 252 if (exist('comp_input','var') & isequal(comp_input,1))253 if isequal(nom_type,' netc_old')|isequal(nom_type,'#_ab')208 if (exist('comp_input','var') && isequal(comp_input,1)) 209 if isequal(nom_type,'#_ab') 254 210 filename=[filebasesub num2str(num_i1,'%03d') '_' num2stra(num_j1,nom_type) num2stra(num_j2,nom_type) ext]; 255 elseif isequal(nom_type,' netc_2D')|isequal(nom_type,'_i1_j1-j2')211 elseif isequal(nom_type,'_i1_j1-j2') 256 212 filename=[filebasesub '_' num2str(num_i1) '_' num2str(num_j1) '-' num2str(num_i2) ext]; 257 elseif isequal(nom_type,' netc_3D')|isequal(nom_type,'_i1-i2_j')213 elseif isequal(nom_type,'_i1-i2_j') 258 214 filename=[filebasesub '_' num2str(num_i1) '-' num2str(num_i2) '_' num2str(num_j1) ext]; 259 elseif isequal(nom_type,' netc_series')|isequal(nom_type,'_i1-i2')215 elseif isequal(nom_type,'_i1-i2') 260 216 filename=[filebasesub '_' num2str(num_i1) '-' num2str(num_i2) ext]; 261 217 end 262 idetect=(exist(filename,'file')==2);218 % idetect=(exist(filename,'file')==2); 263 219 else 264 [filename,num_i1_out,num_j1_out,num_i2_out,num_j2_out ,idetect]=search_pair(filebasesub,num_i1,num_j1,num_i2,nom_type);220 [filename,num_i1_out,num_j1_out,num_i2_out,num_j2_out]=search_pair(filebasesub,num_i1,num_j1,num_i2,nom_type); 265 221 end 266 222 end 267 223 end 268 if ~isequal(subdir,'?'), subdir_out=subdir; else, subdir_out='';end; 224 if ~strcmp(subdir,'?') 225 subdir_out=subdir; 226 else 227 subdir_out=''; 228 end 269 229 270 230 %------------------------------------------------------------------------ … … 278 238 279 239 filename=[];num_j2=[];idetect=0;%default values 280 if isequal(nom_type,' netc_old')|isequal(nom_type,'#_ab')240 if isequal(nom_type,'#_ab') 281 241 dirpair=dir([filebasesub num2str(num_i1,'%03d') '_*.nc']); 282 elseif isequal(nom_type,' netc_2D')|isequal(nom_type,'_i_j1-j2')242 elseif isequal(nom_type,'_i_j1-j2') 283 243 dirpair=dir([filebasesub '_' num2str(num_i1) '_*-*.nc']); 284 elseif isequal(nom_type,' netc_3D')|isequal(nom_type,'_i1-i2_j')244 elseif isequal(nom_type,'_i1-i2_j') 285 245 dirpair=dir([filebasesub '_' num2str(num_i1) '-*_' num2str(num_j1) '.nc']); 286 elseif isequal(nom_type,' netc_series')|isequal(nom_type,'_i1-i2')246 elseif isequal(nom_type,'_i1-i2') 287 247 dirpair=dir([filebasesub '_' num2str(num_i1) '-*.nc']); 288 248 if isempty(dirpair) … … 293 253 if nbpair >= 1 %choose the most recent file if several are found 294 254 idetect=1; %detected pair 255 datepair=zeros(1,nbpair);%default 295 256 for ipair=1:nbpair 296 257 date_str=dirpair(ipair).date;%string of the date of last modification 297 datepair(ipair)=0;%default298 258 char_code=double(date_str);% code of the date characters 299 259 special_char=(char_code>127); %non standard Ascii character (e.g. date in french) … … 301 261 datepair(ipair)=datenum(date_str); 302 262 end 303 % datepair(ipair)=datenum(dirpair(ipair).date);304 263 end 305 264 [choice,indpair]=max(datepair); 306 % [filebase,field_count,str2,str_a,str_b,ext,nom_type]=name2display(dirpair(indpair).name); 307 [pathname,file,field_count,str2,str_a,str_b,ext,nom_type]=name2display(dirpair(indpair).name); 308 num_i1=str2num(field_count); 309 num_i2=str2num(str2); 310 num_j1=stra2num(str_a); 311 num_j2=stra2num(str_b); 265 [pathname,file,field_count,str2,str_a,str_b]=name2display(dirpair(indpair).name); 266 num_i1=str2double(field_count); 267 num_i2=str2double(str2); 268 num_j1=stra2double(str_a); 269 num_j2=stra2double(str_b); 312 270 pathname=fileparts(filebasesub);% CORRIGE LE 6 JUIN (ETAIT DESACTIVE) 313 271 filename=fullfile(pathname,dirpair(indpair).name);
Note: See TracChangeset
for help on using the changeset viewer.