Index: /trunk/src/geometry_calib.m
===================================================================
--- /trunk/src/geometry_calib.m	(revision 662)
+++ /trunk/src/geometry_calib.m	(revision 663)
@@ -1377,6 +1377,11 @@
     set(hh,'YData',Coord_plot(:,2))
 end
-
-% get data on the matlab work space
+pause(.1)
+figure(handles.geometry_calib)
+
+%------------------------------------------------------------------------ 
+% --- Executes on button press in Copy.
+%------------------------------------------------------------------------
+function Copy_Callback(hObject, eventdata, handles)
 
 evalin('base','global Coord')%make CurData global in the workspace
@@ -1384,8 +1389,4 @@
 evalin('base','Coord') %display CurData in the workspace
 commandwindow; %brings the Matlab command window to the front
-pause(.1)
-figure(handles.geometry_calib)
-
- 
 
 
@@ -1468,7 +1469,4 @@
 
 
-% --- Executes on button press in Copy.
-function Copy_Callback(hObject, eventdata, handles)
-% hObject    handle to Copy (see GCBO)
-% eventdata  reserved - to be defined in a future version of MATLAB
-% handles    structure with handles and user data (see GUIDATA)
+
+
Index: /trunk/src/mouse_motion.m
===================================================================
--- /trunk/src/mouse_motion.m	(revision 662)
+++ /trunk/src/mouse_motion.m	(revision 663)
@@ -51,4 +51,5 @@
 test_edit_object=0;% edit test for mouse shap: an arrow
 test_ruler=0;%test for active ruler 
+test_transform=0;
 huvmat=findobj(allchild(0),'tag','uvmat');%find the uvmat interface handle
 if ~isempty(huvmat)
@@ -56,4 +57,5 @@
     test_edit_object=get(hhuvmat.CheckEditObject,'Value');
     test_ruler=isequal(get(hhuvmat.MenuRuler,'checked'),'on');
+    test_transform=~isequal(get(hhuvmat.TransformName,'Value'),1)
 end
 test_piv=0;
@@ -379,9 +381,12 @@
         h_ListCoord=hh_geometry_calib.ListCoord; %findobj(h_geometry_calib,'Tag','ListCoord');
         data.Coord=get(h_ListCoord,'Data');
-%         data.Coord(:,6)=[];
-       % data=read_geometry_calib(Coord);%transform char cell to numbers
         if isnumeric(data.Coord)&&~isempty(data.Coord)
+            if test_transform
+                            XCoord=(data.Coord(:,1));
+            YCoord=(data.Coord(:,2));
+            else
             XCoord=(data.Coord(:,4));
             YCoord=(data.Coord(:,5));
+            end
             xy=get(CurrentAxes,'CurrentPoint');%xy(1,1),xy(1,2): current x,y positions in axes coordinates
             if ~isempty(xy)
@@ -397,5 +402,5 @@
                 end
                 hh=findobj('Tag','calib_points');%look for handle of calibration points
-               if ~isempty(hh) && ~isempty(get(hh,'UserData')) && get(hh_geometry_calib.CheckEnableMouse,'Value') 
+               if ~isempty(hh) && ~isempty(get(hh,'UserData')) %&& get(hh_geometry_calib.CheckEnableMouse,'Value') 
                    %set(hh,'UserData',index_point)
                     index_point=get(hh,'UserData');
Index: /trunk/src/xml2struct.m
===================================================================
--- /trunk/src/xml2struct.m	(revision 662)
+++ /trunk/src/xml2struct.m	(revision 663)
@@ -46,16 +46,19 @@
             out.(names{k})=convert_string(ss.(names{k}));
         end
-    case 'char'   
-        out=str2double(ss);
-        %if isempty(regexp(ss,'^(-*\d+\.*\d*\ *)+$'))% if the string does not contain a set of numbers (with possible sign and decimal) separated by blanks
-        if isnan(out)
-            sep_ind=regexp(ss,'\s&\s');% check for separator ' & ' which indicates column separation in tables
-            if ~isempty(sep_ind)
-                sep_ind=[-2 sep_ind length(ss)+1];
-                for icolumn=1:length(sep_ind)-1
-                    out{1,icolumn}=ss(sep_ind(icolumn)+3:sep_ind(icolumn+1)-1);
+    case 'char' 
+        out=ss; %reproduce the input string
+        if ~strcmp(ss,'image')% bug with Matlab str2num('image')-> child face
+            out=str2num(ss);
+            %if isempty(regexp(ss,'^(-*\d+\.*\d*\ *)+$'))% if the string does not contain a set of numbers (with possible sign and decimal) separated by blanks
+            if isempty(out)
+                sep_ind=regexp(ss,'\s&\s');% check for separator ' & ' which indicates column separation in tables
+                if ~isempty(sep_ind)
+                    sep_ind=[-2 sep_ind length(ss)+1];
+                    for icolumn=1:length(sep_ind)-1
+                        out{1,icolumn}=ss(sep_ind(icolumn)+3:sep_ind(icolumn+1)-1);
+                    end
+                else
+                    out=ss; %reproduce the input string
                 end
-            else
-                out=ss; %reproduce the input string
             end
         end
@@ -64,5 +67,5 @@
         check_numeric=zeros(size(ss));
         for ilist=1:numel(ss)
-            if ~isempty(str2num(ss{ilist}))
+            if ~strcmp(ss{ilist},'image') && ~isempty(str2num(ss{ilist}))
                 out{ilist,1}=str2num(ss{ilist});
                 check_numeric(ilist)=1;
