Index: /trunk/src/get_field.m
===================================================================
--- /trunk/src/get_field.m	(revision 1080)
+++ /trunk/src/get_field.m	(revision 1081)
@@ -629,8 +629,10 @@
 
 %% set default selection for grid coordinates
+if ~isempty(var_coord)
 coord_val(1)=var_coord(end);
 coord_val(2)=var_coord(end-1);
 if numel(var_coord)>=3
     coord_val(3)=var_coord(end-2);
+end
 end
 % if numel(find(test_coord))>3
Index: /trunk/src/read_GUI.m
===================================================================
--- /trunk/src/read_GUI.m	(revision 1080)
+++ /trunk/src/read_GUI.m	(revision 1081)
@@ -71,6 +71,6 @@
                         end                        
                     case {'listbox','popupmenu'}
-                        listinput=get(hchild(ichild),'String');
-                        value=get(hchild(ichild),'Value');
+                        listinput=get(hchild(ichild),'String')
+                        value=get(hchild(ichild),'Value')
                         if ~isempty(listinput)
                             if numel(value)==1% single selection
Index: /trunk/src/transform_field/ima_filter.m
===================================================================
--- /trunk/src/transform_field/ima_filter.m	(revision 1080)
+++ /trunk/src/transform_field/ima_filter.m	(revision 1081)
@@ -60,11 +60,19 @@
 Mfiltre=Mfiltre/(sum(sum(Mfiltre)));%normalize filter
 
-Atype=class(DataIn.A);% detect integer 8 or 16 bits
-if numel(size(DataIn.A))==3
-    DataOut.A=filter2(Mfiltre,sum(DataIn.A,3));%filter the input image, after summation on the color component (for color images)
-    DataOut.A=uint16(DataOut.A); %transform to 16 bit images
-else
-    DataOut.A=filter2(Mfiltre,DataIn.A);
-    DataOut.A=feval(Atype,DataOut.A);%transform to the initial image format
+[CellInfo,NbDim,errormsg]=find_field_cells(DataIn)
+for icell=1:numel(CellInfo)
+    if isfield(CellInfo{icell},'CoordType')&& strcmp(CellInfo{icell}.CoordType,'grid')
+        for ivar=1:numel(CellInfo{icell}.VarIndex)
+            VarName=DataIn.ListVarName{CellInfo{icell}.VarIndex(ivar)};
+            Atype=class(DataIn.(VarName));% detect integer 8 or 16 bits
+            if numel(size(DataIn.(VarName)))==3
+                DataOut.(VarName)=filter2(Mfiltre,sum(DataIn.(VarName),3));%filter the input image, after summation on the color component (for color images)
+                DataOut.(VarName)=uint16(DataOut.(VarName)); %transform to 16 bit images
+            else
+                DataOut.(VarName)=filter2(Mfiltre,DataIn.(VarName));
+                DataOut.(VarName)=feval(Atype,DataOut.(VarName));%transform to the initial image format
+            end
+        end
+    end
 end
  
Index: /trunk/src/transform_field/phys_polar.m
===================================================================
--- /trunk/src/transform_field/phys_polar.m	(revision 1080)
+++ /trunk/src/transform_field/phys_polar.m	(revision 1081)
@@ -444,5 +444,5 @@
     siz=size(A{icell});
     checkuint8=isa(A{icell},'uint8');%check for image input with 8 bits
-    checkuint16=isa(A{icell},'uint8');%check for image input with 16 bits
+    checkuint16=isa(A{icell},'uint16');%check for image input with 16 bits
     A{icell}=double(A{icell});
     if numel(siz)==2 %(B/W images)
