Changeset 773
- Timestamp:
- May 10, 2014, 12:49:30 AM (11 years ago)
- Location:
- trunk/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/geometry_calib.m
r772 r773 805 805 % -------------------------------------------------------------------- 806 806 function MenuHelp_Callback(hObject, eventdata, handles) 807 web('http://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/wiki/UvmatHelp#a8-Geometriccalibration') 808 % path_to_uvmat=which('uvmat');% check the path of uvmat 809 % pathelp=fileparts(path_to_uvmat); 810 % helpfile=fullfile(pathelp,'uvmat_doc','uvmat_doc.html'); 811 % if isempty(dir(helpfile)), msgbox_uvmat('ERROR','Please put the help file uvmat_doc.html in the sub-directory /uvmat_doc of the UVMAT package') 812 % else 813 % addpath (fullfile(pathelp,'uvmat_doc')) 814 % web([helpfile '#geometry_calib']) 815 % end 807 web('http://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/wiki/UvmatHelp#GeometryCalib') 816 808 817 809 % -------------------------------------------------------------------- -
trunk/src/series.m
r772 r773 241 241 242 242 %% introduce the input file name(s) if defined from input Param, TODO: avoid the file checking if Param.i1_series defined 243 if isfield(Param,'FileName')&&~isempty(Param.FileName) 243 if isfield(Param,'InputFile') 244 244 245 InputTable={}; 246 %% fill the list of file series 247 SeriesData=Param.HiddenData; 248 InputTable=[{Param.InputFile.RootPath},{Param.InputFile.SubDir},{Param.InputFile.RootFile},{Param.InputFile.NomType},{Param.InputFile.FileExt}]; 249 TimeTable=[{[]},{[]},{[]},{[]}]; 250 if isfield(Param.InputFile,'RootPath_1') 251 InputTable=[InputTable;[{Param.InputFile.RootPath_1},{Param.InputFile.SubDir_1},{Param.InputFile.RootFile_1},{Param.InputFile.NomType_1},{Param.InputFile.FileExt_1}]]; 252 TimeTable=[TimeTable; [{[]},{[]},{[]},{[]}]]; 253 end 245 254 set(handles.InputTable,'Data',InputTable) 246 display_file_name(handles,Param,'one')%refresh the input table 255 256 % display_file_name(handles,Param,'one')%refresh the input table 257 update_rootinfo(handles,Param.HiddenData.i1_series{1},Param.HiddenData.i2_series{1},Param.HiddenData.j1_series{1},Param.HiddenData.j2_series{1},... 258 Param.HiddenData.FileInfo{1},Param.HiddenData.MovieObject{1},1) 247 259 if isfield(Param,'FileName_1') 248 Param.FileName=Param.FileName_1; 249 display_file_name(handles,Param,2) 260 261 % display_file_name(handles,Param,2) 262 update_rootinfo(handles,Param.HiddenData.i1_series{2},Param.HiddenData.i2_series{2},Param.HiddenData.j1_series{2},Param.HiddenData.j2_series{2},... 263 Param.HiddenData.FileInfo{2},Param.HiddenData.MovieObject{2},2) 250 264 end 251 265 else 252 266 set(handles.REFRESH,'BackgroundColor',[1 0 1])% set REFRESH button to magenta color to indicate that input refresh is needed 253 end 267 end 254 268 if isfield(Param,'incr_i') 255 269 set(handles.num_incr_i,'String',num2str(Param.incr_i)) … … 1198 1212 function num_last_j_Callback(hObject, eventdata, handles) 1199 1213 %------------------------------------------------------------------------ 1200 first_j=str2num(get(handles.num_first_j,'String'));1201 last_j=str2num(get(handles.num_last_j,'String'));1202 ref_j=ceil((first_j+last_j)/2);1203 set(handles.num_ref_j,'String', num2str(ref_j))1204 num_ref_j_Callback(hObject, eventdata, handles)1214 % first_j=str2num(get(handles.num_first_j,'String')); 1215 % last_j=str2num(get(handles.num_last_j,'String')); 1216 % ref_j=ceil((first_j+last_j)/2); 1217 % set(handles.num_ref_j,'String', num2str(ref_j)) 1218 % num_ref_j_Callback(hObject, eventdata, handles) 1205 1219 SeriesData=get(handles.series,'UserData'); 1206 1220 if ~isfield(SeriesData,'Time') … … 2646 2660 function MenuHelp_Callback(hObject, eventdata, handles) 2647 2661 %------------------------------------------------------------------- 2648 web('http://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/wiki/UvmatHelp# series')2662 web('http://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/wiki/UvmatHelp#Series') 2649 2663 % path_to_uvmat=which ('uvmat');% check the path of uvmat 2650 2664 % pathelp=fileparts(path_to_uvmat); … … 2781 2795 set(handles.REFRESH,'BackgroundColor',[1 0 1]); %paint REFRESH button in magenta to indicate that it should be activated 2782 2796 end 2797 2798 2799 2800 % -------------------------------------------------------------------- 2801 function MenuImportParam_Callback(hObject, eventdata, handles) 2802 %% use a starting file name for browserr 2803 InputTable=get(handles.InputTable,'Data'); 2804 oldfile=InputTable{1,1}; 2805 if isempty(oldfile) 2806 % use a file name stored in prefdir 2807 dir_perso=prefdir; 2808 profil_perso=fullfile(dir_perso,'uvmat_perso.mat'); 2809 if exist(profil_perso,'file') 2810 h=load (profil_perso); 2811 if isfield(h,'RootPath') && ischar(h.RootPath) 2812 oldfile=h.RootPath; 2813 end 2814 end 2815 end 2816 filexml=uigetfile_uvmat('pick a xml parameter file',oldfile,'.xml');% get the xml file containing processing parameters 2817 %proceed only if a file has been introduced by the browser 2818 if ~isempty(filexml) 2819 Param=xml2struct(filexml);% read the input xml file as a Matlab structure 2820 % ask to stop current Action if button RUN is in action (another process is already running) 2821 if isequal(get(handles.RUN,'Value'),1) 2822 answer= msgbox_uvmat('INPUT_Y-N','stop current Action process?'); 2823 if strcmp(answer,'Yes') 2824 STOP_Callback(hObject, eventdata, handles) 2825 else 2826 return 2827 end 2828 end 2829 Param.Action.RUN=0; %desactivate the input RUN=1 2830 if ~isfield(Param,'InputTable')||~isfield(Param,'IndexRange') 2831 msgbox_uvmat('ERROR','invalid config file: open a file in a folder ''/0_XML''') 2832 return 2833 end 2834 Param=rmfield(Param,'InputTable');% do not refresh Input files and index range 2835 Param=rmfield(Param,'IndexRange'); 2836 fill_GUI(Param,handles.series)% fill the elements of the GUI series with the input parameters 2837 SeriesData=get(handles.series,'UserData'); 2838 if isfield(Param,'InputFields') 2839 ListField=Param.InputFields.FieldName; 2840 set(handles.FieldName,'String',[ListField;{'get-field...'}]) 2841 set(handles.FieldName,'Value',1:numel(ListField)) 2842 end 2843 if isfield(Param,'ActionInput')% introduce parameters specific to an Action fct, for instance PIV parameters 2844 set(handles.ActionInput,'Visible','on') 2845 set(handles.ActionInput,'Value',0) 2846 Param.ActionInput.ConfigSource=filexml;% record the source of config for future info 2847 SeriesData.ActionInput=Param.ActionInput; 2848 end 2849 if isfield(Param,'ProjObject') %introduce projection object if relevant 2850 SeriesData.ProjObject=Param.ProjObject; 2851 end 2852 set(handles.series,'UserData',SeriesData) 2853 if isfield(Param,'CheckObject') && isequal(Param.CheckObject,1) 2854 set(handles.ProjObject,'String',Param.ProjObject.Name) 2855 set(handles.ViewObject,'Visible','on') 2856 set(handles.EditObject,'Visible','on') 2857 set(handles.DeleteObject,'Visible','on') 2858 else 2859 set(handles.ProjObject,'String','') 2860 set(handles.ProjObject,'Visible','off') 2861 set(handles.ViewObject,'Visible','off') 2862 set(handles.EditObject,'Visible','off') 2863 set(handles.DeleteObject,'Visible','off') 2864 end 2865 set(handles.REFRESH,'BackgroundColor',[1 0 1]); %paint REFRESH button in magenta to indicate that it should be activated 2866 end 2867 2868 2783 2869 2784 2870 %------------------------------------------------------------------------ … … 3253 3339 % Indices: row and column indices of the cell(s) currently selecteds 3254 3340 % handles structure with handles and user data (see GUIDATA) 3341 3342 -
trunk/src/set_object.m
r772 r773 712 712 function HELP_Callback(hObject, eventdata, handles) 713 713 %------------------------------------------------------------------------ 714 web('http://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/wiki/UvmatHelp# a6-Projectionobjects:')714 web('http://servforge.legi.grenoble-inp.fr/projects/soft-uvmat/wiki/UvmatHelp#ProjObject') 715 715 % path_to_uvmat=which ('uvmat');% check the path of uvmat 716 716 % pathelp=fileparts(path_to_uvmat); -
trunk/src/uvmat.m
r772 r773 649 649 [RootPath,SubDir,RootFile,i1_series,i2_series,j1_series,j2_series,tild,FileType,FileInfo,MovieObject]=find_file_series(fullfile(RootPath,SubDir),[RootFile FileIndices FileExt]); 650 650 % initiate the input file series and inputfilerefresh the current field view: 651 errormsg=update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,File Type,MovieObject,1);651 errormsg=update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,FileInfo,MovieObject,1); 652 652 % inputfilerefresh the second series if selected 653 653 if get(handles.SubField,'Value') … … 658 658 end 659 659 % detect the file type, get the movie object if relevant, and look for the corresponding file series: 660 [RootPath,SubDir,RootFile,i1_series,i2_series,j1_series,j2_series,tild,FileType, MovieObject]=find_file_series(fullfile(RootPath,SubDir),[RootFile FileIndices FileExt]);660 [RootPath,SubDir,RootFile,i1_series,i2_series,j1_series,j2_series,tild,FileType,FileInfo,MovieObject]=find_file_series(fullfile(RootPath,SubDir),[RootFile FileIndices FileExt]); 661 661 % initiate the input file series and inputfilerefresh the current field view: 662 errormsg=update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,File Type,MovieObject,2);662 errormsg=update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,FileInfo,MovieObject,2); 663 663 end 664 664 … … 830 830 831 831 % initiate input file series and inputfilerefresh the current field view: 832 update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,File Type,MovieObject,index);832 update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,FileInfo,MovieObject,index); 833 833 834 834 end … … 860 860 % --- Update information about a new field series (indices to scan, timing, 861 861 % calibration from an xml file, then inputfilerefresh current plots 862 function errormsg=update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,File Type,VideoObject,index)862 function errormsg=update_rootinfo(handles,i1_series,i2_series,j1_series,j2_series,FileInfo,VideoObject,index) 863 863 %------------------------------------------------------------------------ 864 864 errormsg=''; %default error msg … … 877 877 UvData.NewSeries=1; %flag for REFRESH: begin a new series 878 878 UvData.FileName_1='';% name of the current second field (used to detect a constant field during file scanning) 879 UvData.FileType{index}=FileType; 879 UvData.FileType{index}=FileInfo.FileType; 880 UvData.FileInfo{index}=FileInfo; 880 881 UvData.i1_series{index}=i1_series; 881 882 UvData.i2_series{index}=i2_series; … … 991 992 %% Define timing 992 993 % time not set by the input file: images or civ data: indicate that time is read from the xml file 994 FileType=FileInfo.FileType; 993 995 if isfield(XmlData,'Time')&& ~isempty(XmlData.Time) && ... 994 996 (strcmp(FileType,'image')|| strcmp(FileType,'multimage'))%||strcmp(FileType,'civdata')||strcmp(FileType,'civx')) … … 5508 5510 function MenuSeries_Callback(hObject, eventdata, handles) 5509 5511 %------------------------------------------------------------------------ 5510 Param=read_ param(handles);5512 Param=read_GUI(handles.uvmat); 5511 5513 Param.HiddenData=get(handles.uvmat,'UserData'); 5512 5514 series(Param); %run the series interface … … 5514 5516 % -------------------------------------------------------------------- 5515 5517 function MenuPIV_Callback(hObject, eventdata, handles) 5516 Param=read_param(handles);5518 Param=read_GUI(handles.uvmat); 5517 5519 Param.HiddenData=get(handles.uvmat,'UserData'); 5518 5520 hseries=series(Param); … … 5532 5534 civ(FileName);% interface de civ(not in the uvmat file) 5533 5535 5534 function Param=read_param(handles)5535 5536 [RootPath,SubDir,RootFile,FileIndex,FileExt]=read_file_boxes(handles);5537 Param.FileName=[fullfile(RootPath,SubDir,RootFile) FileIndex FileExt];%first input file name5538 if isequal(get(handles.SubField,'Value'),1)5539 [RootPath_1,SubDir_1,RootFile_1,FileIndex_1,FileExt_1]=read_file_boxes_1(handles);5540 FileName_1=[fullfile(RootPath_1,SubDir_1,RootFile_1) FileIndex_1 FileExt_1];5541 if ~isequal(FileName_1,Param.FileName)5542 Param.FileName_1=FileName_1;%second input file name if relevant5543 end5544 end5545 Param.NomType=get(handles.NomType,'String');5546 Param.NomType_1=get(handles.NomType_1,'String');5547 Param.CheckFixPair=get(handles.CheckFixPair,'Value');5548 UvData=get(handles.uvmat,'UserData');5549 if isfield(UvData,'XmlData')&& isfield(UvData.XmlData{1},'Time')5550 Param.Time=UvData.XmlData{1}.Time;5551 end5552 if isequal(get(handles.scan_i,'Value'),1)5553 Param.incr_i=str2num(get(handles.num_IndexIncrement,'String'));5554 elseif isequal(get(handles.scan_j,'Value'),1)5555 Param.incr_j=str2num(get(handles.num_IndexIncrement,'String'));5556 end5557 5558 % % transfer fields and coordinate names5559 Param.list_fields=get(handles.FieldName,'String');% list menu fields5560 FieldName=Param.list_fields{get(handles.FieldName,'Value')};5561 ind_image=find(strcmp('image',Param.list_fields));5562 if ~isempty(ind_image) && numel(Param.list_fields)>15563 Param.list_fields(ind_image)=[]; %suppress 'image' option5564 end5565 Param.index_fields=find(strcmp(FieldName,Param.list_fields));% selected string index5566 Param.list_fields_1=get(handles.FieldName_1,'String');% list menu fields5567 if ischar(Param.list_fields_1),Param.list_fields_1={Param.list_fields_1};end5568 FieldName_1=Param.list_fields_1{get(handles.FieldName_1,'Value')};5569 ind_image=find(strcmp('image',Param.list_fields_1));5570 if ~isempty(ind_image) && numel(Param.list_fields_1)>15571 Param.list_fields_1(ind_image)=[]; %suppress 'image' option5572 end5573 Param.index_fields_1=find(strcmp(FieldName_1,Param.list_fields_1));% selected string index5574 TransformList=get(handles.TransformName,'String');5575 Param.TransformName=TransformList{get(handles.TransformName,'Value')};5576 Param.Coord_x_str=get(handles.Coord_x,'String');5577 % Param.Coord_x_val=get(handles.Coord_x,'Value');5578 Param.Coord_y_str=get(handles.Coord_y,'String');5536 % function Param=read_param(handles) 5537 % 5538 % [RootPath,SubDir,RootFile,FileIndex,FileExt]=read_file_boxes(handles); 5539 % Param.FileName=[fullfile(RootPath,SubDir,RootFile) FileIndex FileExt];%first input file name 5540 % if isequal(get(handles.SubField,'Value'),1) 5541 % [RootPath_1,SubDir_1,RootFile_1,FileIndex_1,FileExt_1]=read_file_boxes_1(handles); 5542 % FileName_1=[fullfile(RootPath_1,SubDir_1,RootFile_1) FileIndex_1 FileExt_1]; 5543 % if ~isequal(FileName_1,Param.FileName) 5544 % Param.FileName_1=FileName_1;%second input file name if relevant 5545 % end 5546 % end 5547 % Param.NomType=get(handles.NomType,'String'); 5548 % Param.NomType_1=get(handles.NomType_1,'String'); 5549 % Param.CheckFixPair=get(handles.CheckFixPair,'Value'); 5550 % UvData=get(handles.uvmat,'UserData'); 5551 % if isfield(UvData,'XmlData')&& isfield(UvData.XmlData{1},'Time') 5552 % Param.Time=UvData.XmlData{1}.Time; 5553 % end 5554 % if isequal(get(handles.scan_i,'Value'),1) 5555 % Param.incr_i=str2num(get(handles.num_IndexIncrement,'String')); 5556 % elseif isequal(get(handles.scan_j,'Value'),1) 5557 % Param.incr_j=str2num(get(handles.num_IndexIncrement,'String')); 5558 % end 5559 % 5560 % %% transfer fields and coordinate names 5561 % Param.list_fields=get(handles.FieldName,'String');% list menu fields 5562 % FieldName=Param.list_fields{get(handles.FieldName,'Value')}; 5563 % ind_image=find(strcmp('image',Param.list_fields)); 5564 % if ~isempty(ind_image) && numel(Param.list_fields)>1 5565 % Param.list_fields(ind_image)=[]; %suppress 'image' option 5566 % end 5567 % Param.index_fields=find(strcmp(FieldName,Param.list_fields));% selected string index 5568 % Param.list_fields_1=get(handles.FieldName_1,'String');% list menu fields 5569 % if ischar(Param.list_fields_1),Param.list_fields_1={Param.list_fields_1};end 5570 % FieldName_1=Param.list_fields_1{get(handles.FieldName_1,'Value')}; 5571 % ind_image=find(strcmp('image',Param.list_fields_1)); 5572 % if ~isempty(ind_image) && numel(Param.list_fields_1)>1 5573 % Param.list_fields_1(ind_image)=[]; %suppress 'image' option 5574 % end 5575 % Param.index_fields_1=find(strcmp(FieldName_1,Param.list_fields_1));% selected string index 5576 % TransformList=get(handles.TransformName,'String'); 5577 % Param.TransformName=TransformList{get(handles.TransformName,'Value')}; 5578 % Param.Coord_x_str=get(handles.Coord_x,'String'); 5579 % %Param.Coord_x_val=get(handles.Coord_x,'Value'); 5580 % Param.Coord_y_str=get(handles.Coord_y,'String'); 5579 5581 5580 5582 % --------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.