- Timestamp:
- Jul 31, 2013, 11:11:55 PM (12 years ago)
- Location:
- trunk/src
- Files:
-
- 1 added
- 4 edited
-
fill_GUI.m (modified) (1 diff)
-
geometry_calib.fig (modified) (previous)
-
geometry_calib.m (modified) (22 diffs)
-
transform_field/ima_find_particles.m (added)
-
uvmat.m (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/fill_GUI.m
r667 r671 18 18 return 19 19 end 20 children=get(GUI_handle,'children'); 20 children=get(GUI_handle,'children');%handles of the children of the input GUI with handle 'GUI_handle' 21 21 handles=[]; 22 22 for ichild=1:numel(children) 23 if ~isempty(get(children(ichild),'tag')) 23 24 handles.(get(children(ichild),'tag'))=children(ichild); 25 end 24 26 end 25 27 UserData=get(GUI_handle,'UserData'); -
trunk/src/geometry_calib.m
r663 r671 50 50 % Edit the above text to modify the response to help geometry_calib 51 51 52 % Last Modified by GUIDE v2.5 05-Jul-2013 08:29:0752 % Last Modified by GUIDE v2.5 31-Jul-2013 23:03:18 53 53 54 54 % Begin initialization code - DO NOT edit … … 123 123 end 124 124 set(handles.ListCoord,'Data',[]) 125 % set(handles.ListCoord,'Data',{[] [] [] [] [] []})126 125 if exist(inputfile,'file') 127 126 Heading=loadfile(handles,inputfile);% load data from the xml file … … 215 214 Data(index,6)=1;% indicate in the list the point with max deviation (possible mistake) 216 215 set(handles.ListCoord,'Data',Data)% indicate in the list the point with max deviation (possible mistake) 217 %ListCoord_Callback(hObject, eventdata, handles)218 216 figure(handles.geometry_calib) 219 217 … … 264 262 %------------------------------------------------------------------------ 265 263 %% read the current calibration points 266 %Coord_cell=get(handles.ListCoord,'Data');267 %Object=read_geometry_calib(Coord_cell);268 264 Coord=get(handles.ListCoord,'Data'); 269 265 Coord(:,6)=[]; … … 701 697 ErrorRms=mean(ErrorRms); 702 698 703 % ------------------------------------------------------------------------704 function XImage_Callback(hObject, eventdata, handles)705 % ------------------------------------------------------------------------706 update_list(hObject, eventdata,handles)707 708 % ------------------------------------------------------------------------709 function YImage_Callback(hObject, eventdata, handles)710 % ------------------------------------------------------------------------711 update_list(hObject, eventdata,handles)699 % %------------------------------------------------------------------------ 700 % function XImage_Callback(hObject, eventdata, handles) 701 % %------------------------------------------------------------------------ 702 % update_list(hObject, eventdata,handles) 703 % 704 % %------------------------------------------------------------------------ 705 % function YImage_Callback(hObject, eventdata, handles) 706 % %------------------------------------------------------------------------ 707 % update_list(hObject, eventdata,handles) 712 708 713 709 %------------------------------------------------------------------------ … … 745 741 set(handles.ListCoordFiles,'string',listfile); 746 742 end 747 % set(handles.ListCoord,'Value',1)% refresh the display of coordinates748 743 set(handles.ListCoord,'Data',[]) 749 744 … … 752 747 function CLEAR_PTS_Callback(hObject, eventdata, handles) 753 748 % -------------------------------------------------------------------- 754 % set(handles.ListCoord,'Value',1)% refresh the display of coordinates755 % set(handles.ListCoord,'String',{'......'})756 749 set(handles.ListCoord,'Data',[]) 757 750 PLOT_Callback(hObject, eventdata, handles) 758 751 759 760 752 %------------------------------------------------------------------------ 761 753 % --- Executes on button press in CLEAR. … … 765 757 set(handles.ListCoordFiles,'String',{''}) 766 758 767 % ------------------------------------------------------------------------768 function XObject_Callback(hObject, eventdata, handles)769 % ------------------------------------------------------------------------770 update_list(hObject, eventdata,handles)771 772 % ------------------------------------------------------------------------773 function YObject_Callback(hObject, eventdata, handles)774 % ------------------------------------------------------------------------775 update_list(hObject, eventdata,handles)776 777 % ------------------------------------------------------------------------778 function ZObject_Callback(hObject, eventdata, handles)779 % ------------------------------------------------------------------------780 update_list(hObject, eventdata,handles)781 782 % ------------------------------------------------------------------------783 function update_list(hObject, eventdata, handles)784 % ------------------------------------------------------------------------785 newval(4)=str2double(get(handles.XImage,'String'));786 newval(5)=str2double(get(handles.YImage,'String'));787 newval(1)=str2double(get(handles.XObject,'String'));788 newval(2)=str2double(get(handles.YObject,'String'));789 newval(3)=str2double(get(handles.ZObject,'String'));790 if isnan(newval(3))791 newval(3)=0;%put z to 0 by default792 end793 Coord=get(handles.ListCoord,'String');794 Coord(end)=[]; %remove last string '.....'795 val=get(handles.ListCoord,'Value');796 data=read_geometry_calib(Coord);797 data.Coord(val,:)=newval;798 for i=1:size(data.Coord,1)799 for j=1:5800 Coord_cell{i,j}=num2str(data.Coord(i,j),4);%display coordiantes with 4 digits801 end802 end803 804 Tabchar=cell2tab(Coord_cell,' | ');805 Tabchar=[Tabchar ;{'......'}];806 set(handles.ListCoord,'String',Tabchar)807 808 % update the plot809 ListCoord_Callback(hObject, eventdata, handles)810 PLOT_Callback(hObject, eventdata, handles)759 % %------------------------------------------------------------------------ 760 % function XObject_Callback(hObject, eventdata, handles) 761 % %------------------------------------------------------------------------ 762 % update_list(hObject, eventdata,handles) 763 % 764 % %------------------------------------------------------------------------ 765 % function YObject_Callback(hObject, eventdata, handles) 766 % %------------------------------------------------------------------------ 767 % update_list(hObject, eventdata,handles) 768 % 769 % %------------------------------------------------------------------------ 770 % function ZObject_Callback(hObject, eventdata, handles) 771 % %------------------------------------------------------------------------ 772 % update_list(hObject, eventdata,handles) 773 % 774 % %------------------------------------------------------------------------ 775 % function update_list(hObject, eventdata, handles) 776 % %------------------------------------------------------------------------ 777 % newval(4)=str2double(get(handles.XImage,'String')); 778 % newval(5)=str2double(get(handles.YImage,'String')); 779 % newval(1)=str2double(get(handles.XObject,'String')); 780 % newval(2)=str2double(get(handles.YObject,'String')); 781 % newval(3)=str2double(get(handles.ZObject,'String')); 782 % if isnan(newval(3)) 783 % newval(3)=0;%put z to 0 by default 784 % end 785 % Coord=get(handles.ListCoord,'String'); 786 % Coord(end)=[]; %remove last string '.....' 787 % val=get(handles.ListCoord,'Value'); 788 % data=read_geometry_calib(Coord); 789 % data.Coord(val,:)=newval; 790 % for i=1:size(data.Coord,1) 791 % for j=1:5 792 % Coord_cell{i,j}=num2str(data.Coord(i,j),4);%display coordiantes with 4 digits 793 % end 794 % end 795 % 796 % Tabchar=cell2tab(Coord_cell,' | '); 797 % Tabchar=[Tabchar ;{'......'}]; 798 % set(handles.ListCoord,'String',Tabchar) 799 % 800 % %update the plot 801 % ListCoord_Callback(hObject, eventdata, handles) 802 % PLOT_Callback(hObject, eventdata, handles) 811 803 812 804 %------------------------------------------------------------------------ … … 829 821 end 830 822 831 function NEW_Callback(hObject, eventdata, handles)832 % A METTRE SOUS UN BOUTON833 huvmat=findobj(allchild(0),'Name','uvmat');834 hchild=get(huvmat,'children');835 hcoord=findobj(hchild,'Tag','menu_coord');836 coordtype=get(hcoord,'Value');837 haxes=findobj(hchild,'Tag','axes3');838 AxeData=get(haxes,'UserData');839 if ~isequal(hcoord,2)840 set(hcoord,'Value',2)841 huvmat=uvmat(AxeData);842 'relancer uvmat';843 end844 if ~isfield(AxeData,'ZoomAxes')845 msgbox_uvmat('ERROR','first draw a window around a grid marker')846 return847 end848 XLim=get(AxeData.ZoomAxes,'XLim');849 YLim=get(AxeData.ZoomAxes,'YLim');850 np=size(AxeData.A);851 ind_sub_x=round(XLim);852 ind_sub_y=np(1)-round(YLim);853 Mfiltre=AxeData.A(ind_sub_y(2):ind_sub_y(1) ,ind_sub_x,:);854 Mfiltre_norm=double(Mfiltre);855 Mfiltre_norm=Mfiltre_norm/sum(sum(Mfiltre_norm));856 Mfiltre_norm=100*(Mfiltre_norm-mean(mean(Mfiltre_norm)));857 Atype=class(AxeData.A);858 Data.NbDim=2;859 Data.A=filter2(Mfiltre_norm,double(AxeData.A));860 Data.A=feval(Atype,Data.A);861 Data.AName='image';862 Data.AX=AxeData.AX;863 Data.AY=AxeData.AY;864 Data.CoordType='px';865 plot_field(Data)823 % function NEW_Callback(hObject, eventdata, handles) 824 % %A METTRE SOUS UN BOUTON 825 % huvmat=findobj(allchild(0),'Name','uvmat'); 826 % hchild=get(huvmat,'children'); 827 % hcoord=findobj(hchild,'Tag','menu_coord'); 828 % coordtype=get(hcoord,'Value'); 829 % haxes=findobj(hchild,'Tag','axes3'); 830 % AxeData=get(haxes,'UserData'); 831 % if ~isequal(hcoord,2) 832 % set(hcoord,'Value',2) 833 % huvmat=uvmat(AxeData); 834 % 'relancer uvmat'; 835 % end 836 % if ~isfield(AxeData,'ZoomAxes') 837 % msgbox_uvmat('ERROR','first draw a window around a grid marker') 838 % return 839 % end 840 % XLim=get(AxeData.ZoomAxes,'XLim'); 841 % YLim=get(AxeData.ZoomAxes,'YLim'); 842 % np=size(AxeData.A); 843 % ind_sub_x=round(XLim); 844 % ind_sub_y=np(1)-round(YLim); 845 % Mfiltre=AxeData.A(ind_sub_y(2):ind_sub_y(1) ,ind_sub_x,:); 846 % Mfiltre_norm=double(Mfiltre); 847 % Mfiltre_norm=Mfiltre_norm/sum(sum(Mfiltre_norm)); 848 % Mfiltre_norm=100*(Mfiltre_norm-mean(mean(Mfiltre_norm))); 849 % Atype=class(AxeData.A); 850 % Data.NbDim=2; 851 % Data.A=filter2(Mfiltre_norm,double(AxeData.A)); 852 % Data.A=feval(Atype,Data.A); 853 % Data.AName='image'; 854 % Data.AX=AxeData.AX; 855 % Data.AY=AxeData.AY; 856 % Data.CoordType='px'; 857 % plot_field(Data) 866 858 867 859 … … 894 886 Coord=[x y zeros(4,1) Xima Yima zeros(4,1)]; 895 887 set(handles.ListCoord,'Data',Coord) 896 % Tabchar=cell2tab(Coord,' | ');897 % Tabchar=[Tabchar ;{'......'}];898 % set(handles.ListCoord,'String',Tabchar)899 % Coord={num2str(x(1)) num2str(y(1)) '0' num2str(Xima(1)) num2str(Yima(1));...900 % num2str(x(2)) num2str(y(2)) '0' num2str(Xima(2)) num2str(Yima(2));...901 % num2str(x(3)) num2str(y(3)) '0' num2str(Xima(3)) num2str(Yima(3));...902 % num2str(x(4)) num2str(y(4)) '0' num2str(Xima(4)) num2str(Yima(4))};903 % Tabchar=cell2tab(Coord,' | ');904 % Tabchar=[Tabchar ;{'......'}];905 % set(handles.ListCoord,'String',Tabchar)906 888 907 889 %------------------------------------------------------------------------ 908 890 function MenuCreateGrid_Callback(hObject, eventdata, handles) 909 891 %------------------------------------------------------------------------ 910 %hcalib=get(handles.calib_type,'parent');%handles of the GUI geometry_calib911 892 CalibData=get(handles.geometry_calib,'UserData'); 912 893 Tinput=[];%default … … 920 901 Coord=get(handles.ListCoord,'Data'); 921 902 Coord(1:size(T,1),1:3)=T;%update the existing list of phys coordinates from the GUI create_grid 922 923 % for i=1:size(data.Coord,1)924 % for j=1:5925 % Coord{i,j}=num2str(data.Coord(i,j),4);%display coordiantes with 4 digits926 % end927 % end928 903 set(handles.ListCoord,'Data',Coord) 929 904 … … 1059 1034 Coord=[T Xpx Ypx zeros(size(T,1),1)]; 1060 1035 set(handles.ListCoord,'Data',Coord) 1061 % Tabchar=cell2tab(Coord(end:-1:1,:),' | ');1062 % Tabchar=[Tabchar ;{'......'}];1063 % set(handles.ListCoord,'Value',1)1064 % set(handles.ListCoord,'String',Tabchar)1065 1036 PLOT_Callback(hObject, eventdata, handles) 1066 1037 … … 1078 1049 set(handles.geometry_calib,'UserData',CalibData) 1079 1050 %translation 1080 Coord_cell=get(handles.ListCoord,'String'); 1081 data=read_geometry_calib(Coord_cell); 1082 data.Coord(:,1)=T(1)+data.Coord(:,1); 1083 data.Coord(:,2)=T(2)+data.Coord(:,2); 1084 data.Coord(:,3)=T(3)+data.Coord(:,3); 1085 data.Coord(:,[4 5])=data.Coord(:,[4 5]); 1086 for i=1:size(data.Coord,1) 1087 for j=1:5 1088 Coord{i,j}=num2str(data.Coord(i,j),4);%phys x,y,z 1089 end 1090 end 1091 Tabchar=cell2tab(Coord,' | '); 1092 Tabchar=[Tabchar; {'.....'}]; 1093 %set(handles.ListCoord,'Value',1) 1094 set(handles.ListCoord,'String',Tabchar) 1095 1051 Coord=get(handles.ListCoord,'Data'); 1052 Coord(:,1)=T(1)+Coord(:,1); 1053 Coord(:,2)=T(2)+Coord(:,2); 1054 Coord(:,3)=T(3)+Coord(:,3); 1055 set(handles.ListCoord,'Data',Coord); 1096 1056 1097 1057 % -------------------------------------------------------------------- … … 1117 1077 O_y=T(3);%default 1118 1078 end 1119 Coord_cell=get(handles.ListCoord,'String'); 1120 data=read_geometry_calib(Coord_cell); 1079 Coord=get(handles.ListCoord,'Data'); 1121 1080 r1=cos(pi*Phi/180); 1122 1081 r2=-sin(pi*Phi/180); 1123 1082 r3=sin(pi*Phi/180); 1124 1083 r4=cos(pi*Phi/180); 1125 x=data.Coord(:,1)-O_x; 1126 y=data.Coord(:,2)-O_y; 1127 data.Coord(:,1)=r1*x+r2*y; 1128 data.Coord(:,2)=r3*x+r4*y; 1129 % data.Coord(:,[4 5])=data.Coord(:,[4 5]); 1130 for i=1:size(data.Coord,1) 1131 for j=1:5 1132 Coord{i,j}=num2str(data.Coord(i,j),4);%phys x,y,z 1133 end 1134 end 1135 Tabchar=cell2tab(Coord,' | '); 1136 Tabchar=[Tabchar;{'......'}]; 1137 set(handles.ListCoord,'Value',1) 1138 set(handles.ListCoord,'String',Tabchar) 1084 x=Coord(:,1)-O_x; 1085 y=Coord(:,2)-O_y; 1086 Coord(:,1)=r1*x+r2*y; 1087 Coord(:,2)=r3*x+r4*y; 1088 set(handles.ListCoord,'Data',Coord) 1139 1089 1140 1090 % -------------------------------------------------------------------- … … 1146 1096 [s,errormsg]=imadoc2struct(fileinput,'GeometryCalib'); 1147 1097 GeometryCalib=s.GeometryCalib; 1148 %GeometryCalib=load_calib(hObject, eventdata, handles)1149 % calib=reshape(GeometryCalib.SourceCalib.PointCoord,[],1);1150 % for ilist=1:numel(calib)1151 % CoordCell{ilist}=num2str(calib(ilist));1152 % end1153 % CoordCell=reshape(CoordCell,[],5);1154 % Tabchar=cell2tab(CoordCell,' | ');%transform cells into table ready for display1155 % Tabchar=[Tabchar;{'......'}];1156 % set(handles.ListCoord,'Value',1)1157 % set(handles.ListCoord,'String',Tabchar)1158 1098 Coord=GeometryCalib.SourceCalib.PointCoord; 1159 Coord=[Coord zeros(size(Coord,1),1)] 1099 Coord=[Coord zeros(size(Coord,1),1)]; 1160 1100 set(handles.ListCoord,'Data',Coord) 1161 1101 PLOT_Callback(handles.geometry_calib, [], handles) … … 1185 1125 % ----------------------------------------------------------------------- 1186 1126 inputfile=browse_xml(hObject, eventdata, handles); 1187 listfile=get(handles.ListCoordFiles,' string');1127 listfile=get(handles.ListCoordFiles,'String'); 1188 1128 if isequal(listfile,{''}) 1189 1129 listfile={inputfile}; … … 1292 1232 end 1293 1233 set(handles.calib_type,'Value',val_cal) 1294 % Tabchar=[Tabchar;{'......'}];1295 % set(handles.ListCoord,'Value',1)1296 1234 1297 1235 if isempty(CoordCell)% allow mouse action by default in the absence of input points … … 1341 1279 %------------------------------------------------------------------------ 1342 1280 function PLOT_Callback(hObject, eventdata, handles) 1343 global Coord1344 1281 huvmat=findobj(allchild(0),'Name','uvmat');%find the current uvmat interface handle 1345 1282 hhuvmat=guidata(huvmat); %handles of GUI elements in uvmat … … 1352 1289 option='px'; %default 1353 1290 end 1354 %ObjectData=read_geometry_calib(Coord_cell);1355 %ObjectData=read_geometry_calib(handles);%read the interface input parameters defining the object1356 1291 Coord=get(handles.ListCoord,'Data'); 1357 % Coord(:,6)=[];1358 1292 if ~isempty(Coord) 1359 1293 if isequal(option,'phys') … … 1384 1318 %------------------------------------------------------------------------ 1385 1319 function Copy_Callback(hObject, eventdata, handles) 1386 1320 global Coord 1387 1321 evalin('base','global Coord')%make CurData global in the workspace 1322 Coord=get(handles.ListCoord,'Data'); 1388 1323 display('coordinates of calibration points (phys,px,marker) :') 1389 1324 evalin('base','Coord') %display CurData in the workspace … … 1398 1333 Data(:,6)=zeros(size(Data,1),1); 1399 1334 Data(iline,6)=1;% mark the selected line 1400 % if size(Data,1)<iline+numel(Input)1401 % Data=[Data ; zeros(iline+numel(Input)-size(Data,1),6)];% append zeros to fit the new column1402 % end1403 % Data(iline:iline+numel(Input)-1,eventdata.Indices(2))=Input';1404 1335 set(handles.ListCoord,'Data',Data) 1405 1336 update_calib_marker(Data(iline,:)) 1406 end 1407 1408 % if length(eventdata.Modifier) == 1 && strcmp(eventdata.Modifier{:},'control') && ... 1409 % eventdata.Key == 'v' 1410 % import = importdata('-pastespecial'); 1411 % %data treatment and checking 1412 % set(handles.uitable1,'Data',import); 1413 % end 1337 end 1414 1338 1415 1339 % --- Executes when entered data in editable cell(s) in ListCoord. … … 1467 1391 set(hhh,'Position',[XCoord-ind_range/2 YCoord-ind_range/2 ind_range ind_range]) 1468 1392 end 1469 1470 1471 1472 -
trunk/src/uvmat.m
r669 r671 227 227 228 228 %% load the list of previously browsed files in menus Open, Open_1 and TransformName 229 dir_perso=prefdir; % path to the directory .matlab containing the personal data of the current user230 profil_perso=fullfile(dir_perso,'uvmat_perso.mat');% personal data file uvmat_perso.mat' in .matlab231 if exist(profil_perso,'file')% if the file exists232 h=load (profil_perso); % open the personal file233 if isfield(h,'MenuFile')% load the saved menu of previously opened files234 for ifile=1:min(length(h.MenuFile),5)235 set(handles.(['MenuFile_' num2str(ifile)]),'Label',h.MenuFile{ifile});236 end237 end238 if isfield(h,'MenuCampaign')% load the saved menu of previously opened campaigns239 for ifile=1:min(length(h.MenuCampaign),5)240 set(handles.(['MenuCampaign_' num2str(ifile)]),'Label',h.MenuCampaign{ifile});241 end242 end243 if isfield(h,'RootPath')244 set(handles.RootPath,'UserData',h.RootPath); %store the previous campaign in the UserData of RootPath245 end246 if isfield(h,'transform_fct') && iscell(h.transform_fct) % load the menu of transform fct set by user247 for ilist=1:length(h.transform_fct);248 if exist(h.transform_fct{ilist},'file')249 [path,file]=fileparts(h.transform_fct{ilist});250 transform_menu=[transform_menu; {file}];251 path_list=[path_list; {path}];252 end253 end254 end255 end229 dir_perso=prefdir; % path to the directory .matlab containing the personal data of the current user 230 profil_perso=fullfile(dir_perso,'uvmat_perso.mat');% personal data file uvmat_perso.mat' in .matlab 231 if exist(profil_perso,'file')% if the file exists 232 h=load (profil_perso); % open the personal file 233 if isfield(h,'MenuFile')% load the saved menu of previously opened files 234 for ifile=1:min(length(h.MenuFile),5) 235 set(handles.(['MenuFile_' num2str(ifile)]),'Label',h.MenuFile{ifile}); 236 end 237 end 238 if isfield(h,'MenuCampaign')% load the saved menu of previously opened campaigns 239 for ifile=1:min(length(h.MenuCampaign),5) 240 set(handles.(['MenuCampaign_' num2str(ifile)]),'Label',h.MenuCampaign{ifile}); 241 end 242 end 243 if isfield(h,'RootPath') 244 set(handles.RootPath,'UserData',h.RootPath); %store the previous campaign in the UserData of RootPath 245 end 246 if isfield(h,'transform_fct') && iscell(h.transform_fct) % load the menu of transform fct set by user 247 for ilist=1:length(h.transform_fct); 248 if exist(h.transform_fct{ilist},'file') 249 [path,file]=fileparts(h.transform_fct{ilist}); 250 transform_menu=[transform_menu; {file}]; 251 path_list=[path_list; {path}]; 252 end 253 end 254 end 255 end 256 256 transform_menu=[transform_menu;{'more...'}];%append the option more.. to the menu 257 257 set(handles.TransformName,'String',transform_menu)% display the menu of transform fcts … … 3535 3535 %------------------------------------------------------------------------ 3536 3536 UvData=get(handles.uvmat,'UserData'); 3537 menu=get(handles.TransformName,'String'); refresh3537 menu=get(handles.TransformName,'String');%refresh 3538 3538 ichoice=get(handles.TransformName,'Value');%item number in the menu 3539 3539 transform_name=menu{ichoice};% choice of the transform fct … … 3546 3546 end 3547 3547 if strcmp(transform_name,'more...'); 3548 transform_fct=uigetfile_uvmat('Pick the transform function',prev_path,'.m'); 3549 % [FileName, PathName] = uigetfile( ... 3550 % {'*.m', ' (*.m)'; 3551 % '*.m', '.m files '; ... 3552 % '*.*', 'All Files (*.*)'}, ... 3553 % 'Pick the transform function', prev_path); 3554 % if ~ischar(FileName),return,end %abandon if the browser is cancelled 3555 % path_transform_fct =fullfile(PathName,FileName); 3556 if ~isempty(transform_fct) 3557 [PathName,transform_name]=fileparts(transform_fct); 3558 % if isempty(regexp(FileName,'\.m$'))% detect file extension .m 3559 % msgbox_uvmat('ERROR','a Matlab function .m must be introduced'); 3560 % return 3561 % else 3562 % transform_name=regexprep(FileName,'\.m',''); 3563 % end 3548 transform_fct_chosen=uigetfile_uvmat('Pick the transform function',prev_path,'.m'); 3549 if ~isempty(transform_fct_chosen) 3550 [PathName,transform_name]=fileparts(transform_fct_chosen); 3564 3551 ichoice=find(strcmp(transform_name,menu),1);%look for the selected fct in the existing menu 3565 3552 if isempty(ichoice)% if the item is not found, add it to the menu (before 'more...' and select it) … … 3587 3574 3588 3575 %% create the function handle of the selected fct 3589 3590 3576 if isempty(list_path{ichoice})% case of no selected fct 3591 3577 transform_handle=[];
Note: See TracChangeset
for help on using the changeset viewer.
