Changeset 1069 for trunk/src/browse_data.m
- Timestamp:
- Jul 10, 2019, 12:17:42 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/browse_data.m
r1068 r1069 92 92 InputDir=pwd;% current dir is the starting data series by default 93 93 end 94 95 [ExpWithPath,DataSeries]=fileparts(InputDir); 96 [Experiment,Device,Ext]=fileparts(ExpWithPath); 97 Device=[Device Ext]; 98 [SourceDir,Experiment,Ext]=fileparts(Experiment); 99 Experiment=[Experiment Ext]; 100 % [tild,CampaignName]=fileparts(Campaign); 101 % RootXml=fullfile(Campaign,[CampaignName '.xml']); 94 if ischar(InputDir),InputDir={InputDir};end 95 for ilist=1:numel(InputDir) 96 [ExpWithPath,DataSeries{ilist},Ext]=fileparts(InputDir{ilist}); 97 DataSeries{ilist}=['+/' DataSeries{ilist} Ext]; 98 [Experiment{ilist},Device{ilist},Ext]=fileparts(ExpWithPath); 99 Device{ilist}=['+/' Device{ilist} Ext]; 100 [SourceDir{ilist},Experiment{ilist},Ext]=fileparts(Experiment{ilist}); 101 Experiment{ilist}=['+/' Experiment{ilist} Ext]; 102 if ~strcmp(SourceDir{ilist},SourceDir{1})||~strcmp(Experiment{ilist},Experiment{1}) 103 msgbox_uvmat('ERROR','replicate cannot be used with multiple root folders') 104 return 105 end 106 if ~strcmp(DataSeries{ilist},DataSeries{1}) 107 set(handles.DataSeries,'enable','off') 108 end 109 if ~strcmp(Device{ilist},Device{1}) 110 set(handles.ListDevices,'enable','off') 111 end 112 end 102 113 s=[]; 103 114 % if exist(RootXml,'file') … … 111 122 % end 112 123 if isempty(s) %a source dir has been opened 113 set(handles.SourceDir,'String',SourceDir );124 set(handles.SourceDir,'String',SourceDir{1}); 114 125 set(handles.MirrorDir,'Visible','off');% no mirror dir display 115 126 set(handles.CreateMirror,'String','create_mirror') 116 127 end 117 set(handles.DataSeries,'String',{['+/' DataSeries]}); 118 set(handles.ListDevices,'String',{['+/' Device]}); 119 errormsg=scan_campaign(handles,SourceDir,['+/' Experiment]); 128 set(handles.DataSeries,'String',DataSeries); 129 set(handles.DataSeries,'Value',(1:numel(DataSeries))); 130 set(handles.ListDevices,'String',Device); 131 set(handles.ListDevices,'Value',(1:numel(Device))); 132 errormsg=scan_campaign(handles,SourceDir{1},Experiment{1}); 120 133 if ~isempty(errormsg) 121 134 msgbox_uvmat('ERROR',errormsg) … … 242 255 Device=ListDevices(list_val);%choose selected devices 243 256 end 244 [ListFiles,indices]=list_dir_2(SourceDir,ListExperiments,Device); 257 check_fix=strcmp(get(handles.ListDevices,'enable'),'off'); 258 [ListFiles,indices]=list_dir_2(SourceDir,ListExperiments,Device,check_fix); 245 259 set(handles.ListDevices,'String',ListFiles) 246 260 set(handles.ListDevices,'Value',indices)% initialise the menu selection with the folder defined by the input … … 271 285 DataSeries=[]; 272 286 end 273 [ListFiles,indices]=list_dir_3(SourceDir,ListExperiments,ListDevices,DataSeries); 287 check_fix=strcmp(get(handles.DataSeries,'enable'),'off'); 288 [ListFiles,indices]=list_dir_3(SourceDir,ListExperiments,ListDevices,DataSeries,check_fix); 274 289 set(handles.DataSeries,'String',ListFiles) 275 290 set(handles.DataSeries,'Value',indices)% initialise the menu selection with the folder defined by the input … … 346 361 % Provide a list to display 347 362 %------------------------------------------------------------------------ 348 function [ListFilesTot,indices]=list_dir_2(SourceDir,ListDir,ListSub )363 function [ListFilesTot,indices]=list_dir_2(SourceDir,ListDir,ListSub,check_fix) 349 364 ListFilesTot={}; 350 365 for ilist=1:numel(ListDir) … … 358 373 cell_remove=regexp(ListFiles,'^(-|\.|\+/\.)');% detect strings beginning by '-' ,'.' or '+/.'(dir beginning by . ) 359 374 check_keep=cellfun('isempty', cell_remove); 360 ListFilesTot=[ListFilesTot ;(ListFiles(check_keep))'];375 ListFilesTot=[ListFilesTot (ListFiles(check_keep))]; 361 376 end 362 377 end … … 370 385 indices=[indices index]; 371 386 end 387 if check_fix 388 index_init=1:numel(ListFilesTot); 389 %indices=sort(indices) 390 index_init(indices)=[]; 391 ListFilesTot=ListFilesTot([indices index_init]); 392 indices=1:numel(indices); 393 end 372 394 end 373 395 if isempty(indices), indices=1; end … … 377 399 % Provide a list to display 378 400 %------------------------------------------------------------------------ 379 function [ListFilesTot,indices]=list_dir_3(SourceDir,ListDir,ListSub,ListSubSub )401 function [ListFilesTot,indices]=list_dir_3(SourceDir,ListDir,ListSub,ListSubSub,check_fix) 380 402 ListFilesTot={}; 381 403 for ilist=1:numel(ListDir) … … 392 414 cell_remove=regexp(ListFiles,'^(-|\.|\+/\.)');% detect strings beginning by '-' ,'.' or '+/.'(dir beginning by . ) 393 415 check_keep=cellfun('isempty', cell_remove); 394 ListFilesTot=[ListFilesTot ;(ListFiles(check_keep))'];416 ListFilesTot=[ListFilesTot (ListFiles(check_keep))]; 395 417 end 396 418 end … … 406 428 indices=[indices index]; 407 429 end 430 if check_fix 431 index_init=1:numel(ListFilesTot); 432 index_init(indices)=[]; 433 ListFilesTot=ListFilesTot([indices index_init]); 434 indices=1:numel(indices); 435 end 408 436 end 409 437 if isempty(indices), indices=1; end
Note: See TracChangeset
for help on using the changeset viewer.