Changeset 55 for trunk/src/uvmat.m
- Timestamp:
- Mar 17, 2010, 10:26:41 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/uvmat.m
r45 r55 1426 1426 Mask.Base=[FileBase Name(i:ind_mask+3)]; 1427 1427 Mask.NbSlice=nbslice; 1428 num_i1=mod(num_i1-1,nbslice)+1 1428 num_i1=mod(num_i1-1,nbslice)+1; 1429 1429 Mask.NomType=Mask_NomType{1}; 1430 [maskname,mdetect]=name_generator(Mask.Base,num_i1,num_j1,'.png',Mask.NomType) %1431 mdetect=exist(maskname,'file') 1430 [maskname,mdetect]=name_generator(Mask.Base,num_i1,num_j1,'.png',Mask.NomType);% 1431 mdetect=exist(maskname,'file'); 1432 1432 if mdetect 1433 1433 set(handles.nb_slice,'String',Name(i+1:ind_mask-1)); … … 2695 2695 AxeData=get(gca,'UserData'); 2696 2696 [erread,message]=fileattrib(filename); 2697 if ~isempty(message) & ~isequal(message.UserWrite,1)2697 if ~isempty(message) && ~isequal(message.UserWrite,1) 2698 2698 msgbox_uvmat('ERROR',['no writting access to ' filename]) 2699 2699 return 2700 2700 end 2701 nc=netcdf(filename,'write'); %open netcdf file2702 result=redef(nc);2703 if isempty(result), msgbox_uvmat('ERROR','##Bad redef operation.'),end2704 2701 test_civ2=isequal(get(handles.civ2,'BackgroundColor'),[1 1 0]); 2705 if ~test_civ2 2706 test_civ1=isequal(get(handles.civ1,'BackgroundColor'),[1 1 0]); 2707 end 2708 if test_civ2 % for civ2 2709 2710 theDim=nc('nb_vectors2') ;% get the number of velocity vectors 2711 nb_vectors2=size(theDim); 2712 var_FixFlag=ncvar('vec2_FixFlag',nc);% var_FixFlag will be written as the netcdf variable vec_FixFlag 2713 var_FixFlag(1:nb_vectors2)=AxeData.FF;% 2714 elseif test_civ1 % for civ1 2715 2716 theDim=nc('nb_vectors') ;% get the number of velocity vectors 2717 nb_vectors=size(theDim); 2718 var_FixFlag=ncvar('vec_FixFlag',nc);% var_FixFlag will be written as the netcdf variable vec_FixFlag 2719 var_FixFlag(1:nb_vectors)=AxeData.FF;% 2720 else 2702 test_civ1=isequal(get(handles.civ1,'BackgroundColor'),[1 1 0]); 2703 if ~test_civ2 && ~test_civ1 2721 2704 msgbox_uvmat('ERROR','manual correction only possible for CIV1 or CIV2 velocity fields') 2722 2705 end 2723 fin=close(nc); 2706 if test_civ2 2707 nbname='nb_vectors2'; 2708 flagname='vec2_FixFlag'; 2709 attrname='fix2'; 2710 end 2711 if test_civ1 2712 nbname='nb_vectors'; 2713 flagname='vec_FixFlag'; 2714 attrname='fix'; 2715 end 2716 %write fix flags in the netcdf file 2717 hhh=which('netcdf.open');% look for built-in matlab netcdf library 2718 if ~isequal(hhh,'')% case of new builtin Matlab netcdf library 2719 nc=netcdf.open(filename,'NC_WRITE'); 2720 netcdf.reDef(nc) 2721 netcdf.putAtt(nc,netcdf.getConstant('NC_GLOBAL'),attrname,1) 2722 dimid = netcdf.inqDimID(nc,nbname); 2723 try 2724 varid = netcdf.inqVarID(nc,flagname);% look for already existing fixflag variable 2725 catch 2726 varid=netcdf.defVar(nc,flagname,'double',dimid);%create fixflag variable if it does not exist 2727 end 2728 netcdf.endDef(nc) 2729 netcdf.putVar(nc,varid,AxeData.FF); 2730 netcdf.close(nc) 2731 else %old netcdf library 2732 nc=netcdf(filename,'write'); %open netcdf file 2733 result=redef(nc); 2734 eval(['nc.' attrname '=1;']); 2735 theDim=nc(nbname) ;% get the number of velocity vectors 2736 nb_vectors=size(theDim); 2737 var_FixFlag=ncvar(flagname,nc);% var_FixFlag will be written as the netcdf variable vec_FixFlag 2738 var_FixFlag(1:nb_vectors)=AxeData.FF;% 2739 fin=close(nc); 2740 end 2741 2742 2743 2744 2745 2746 2724 2747 2725 2748 … … 3680 3703 function edit_vect_Callback(hObject, eventdata, handles) 3681 3704 %------------------------------------------------------- 3682 huvmat=get(handles.edit_vect,'parent'); 3683 UvData=get(h uvmat,'UserData');%read UvData properties stored on the uvmat interface3705 3706 UvData=get(handles.uvmat,'UserData');%read UvData properties stored on the uvmat interface 3684 3707 if isequal(get(handles.edit_vect,'Value'),1) 3708 test_civ2=isequal(get(handles.civ2,'BackgroundColor'),[1 1 0]); 3709 test_civ1=isequal(get(handles.civ1,'BackgroundColor'),[1 1 0]); 3710 if ~test_civ2 && ~test_civ1 3711 msgbox_uvmat('ERROR','manual correction only possible for CIV1 or CIV2 velocity fields') 3712 end 3685 3713 set(handles.record,'Visible','on') 3686 3714 set(handles.edit_vect,'BackgroundColor',[1 1 0]) … … 3696 3724 UvData.MouseAction='none'; 3697 3725 end 3698 set(h uvmat,'UserData',UvData)3726 set(handles.uvmat,'UserData',UvData) 3699 3727 3700 3728 %---------------------------------------------- … … 4879 4907 % -------------------------------------------------------------------- 4880 4908 function Menupoints_Callback(hObject, eventdata, handles) 4881 % set(handles.create,'Visible','on')4882 % set(handles.create,'Value',1)4883 % POINTS_Callback(hObject,eventdata,handles)4884 4909 data.Style='points'; 4885 4910 data.ProjMode='projection';%default 4886 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4887 create_object(data,handles.uvmat,PlotHandles) 4911 create_object(data,handles) 4888 4912 4889 4913 % -------------------------------------------------------------------- … … 4894 4918 data.Style='line'; 4895 4919 data.ProjMode='projection';%default 4896 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4897 create_object(data,handles.uvmat,PlotHandles) 4920 create_object(data,handles) 4898 4921 4899 4922 %------------------------------------------------------------------------ … … 4902 4925 data.Style='polyline'; 4903 4926 data.ProjMode='projection';%default 4904 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4905 create_object(data,handles.uvmat,PlotHandles) 4906 4907 % ------------------------------------------------------------------ 4927 create_object(data,handles) 4928 4929 %------------------------------------------------------------------------ 4908 4930 function Menupolygon_Callback(hObject, eventdata, handles) 4909 % set(handles.create,'Visible','on') 4910 % set(handles.create,'Value',1) 4911 % PATCH_Callback(hObject,eventdata,handles) 4931 %------------------------------------------------------------------------ 4912 4932 data.Style='polygon'; 4913 4933 data.ProjMode='inside';%default 4914 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4915 create_object(data,handles.uvmat,PlotHandles) 4934 create_object(data,handles) 4916 4935 4917 4936 %------------------------------------------------------------------------ … … 4920 4939 data.Style='rectangle'; 4921 4940 data.ProjMode='inside';%default 4922 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4923 create_object(data,handles.uvmat,PlotHandles) 4941 create_object(data,handles) 4924 4942 4925 4943 %------------------------------------------------------------------------ … … 4928 4946 data.Style='ellipse'; 4929 4947 data.ProjMode='inside';%default 4930 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4931 create_object(data,handles.uvmat,PlotHandles) 4948 create_object(data,handles) 4932 4949 4933 4950 % ------------------------------------------------------------------ … … 4938 4955 data.Style='plane'; 4939 4956 data.ProjMode='projection';%default 4940 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4941 create_object(data,handles .uvmat,PlotHandles)4957 4958 create_object(data,handles) 4942 4959 4943 4960 % ------------------------------------------------------------------ … … 4966 4983 4967 4984 %read the file 4968 t=xmltree(fileinput); 4969 data=convert(t); 4970 if ~isfield(data,'Style') 4971 data.Style='points'; 4972 end 4973 if ~isfield(data,'ProjMode') 4974 data.ProjMode='none'; 4975 end 4985 t=xmltree(fileinput); 4986 data=convert(t); 4976 4987 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 4977 create_object(data,handles.uvmat,PlotHandles) 4978 4979 %------------------------------------------------------------------------ 4980 function create_object(data,huvmat,PlotHandles) 4981 %------------------------------------------------------------------------ 4982 hset_object=findobj(allchild(0),'Name','set_object') 4988 hset_object=findobj(allchild(0),'Name','set_object'); 4983 4989 if ~isempty(hset_object) 4984 4990 delete(hset_object)% delete existing version of set_object 4985 4991 end 4986 UvData=get(huvmat,'UserData'); 4992 [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface 4993 UvData.MouseAction='create_object'; 4994 set(handles.uvmat,'UserData',UvData) 4995 4996 %------------------------------------------------------------------------ 4997 function create_object(data,handles) 4998 %------------------------------------------------------------------------ 4999 hset_object=findobj(allchild(0),'Name','set_object'); 5000 if ~isempty(hset_object) 5001 delete(hset_object)% delete existing version of set_object 5002 end 5003 UvData=get(handles.uvmat,'UserData'); 4987 5004 if isfield(UvData,'CoordType') 4988 5005 data.CoordType=UvData.CoordType; 4989 5006 end 4990 if isfield(UvData,'Mesh')& ~isempty(UvData.Mesh)5007 if isfield(UvData,'Mesh')&&~isempty(UvData.Mesh) 4991 5008 data.RangeX=UvData.Mesh; 4992 5009 data.RangeY=UvData.Mesh; 4993 5010 data.DX=UvData.Mesh; 4994 5011 data.DY=UvData.Mesh; 4995 elseif isfield(UvData.Field,'AX')& isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image5012 elseif isfield(UvData.Field,'AX')&& isfield(UvData.Field,'AY')&& isfield(UvData.Field,'A')%only image 4996 5013 np=size(UvData.Field.A); 4997 5014 meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/np(2); … … 5001 5018 data.DX=max(meshx,meshy); 5002 5019 end 5003 if isfield(data,'DX') 5004 data.Coord=[[0 0 0];[data.DX 0 0]]; %default 5005 else 5006 data.Coord=[[0 0 0];[1 0 0]]; %default 5020 data.Coord=[0 0 0]; %default 5021 if isfield(data,'Style') && isequal(data.Style,'line') 5022 if isfield(data,'DX') 5023 data.Coord=[[0 0 0];[data.DX 0 0]]; %default 5024 else 5025 data.Coord=[[0 0 0];[1 0 0]]; %default 5026 end 5007 5027 end 5008 5028 %data.ParentButton=handles.create; 5009 5029 if ishandle(handles.UVMAT_title) 5030 delete(handles.UVMAT_title)%delete the initial display of uvmat if no field has been entered 5031 end 5032 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 5010 5033 [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface 5011 5034 UvData.MouseAction='create_object'; 5012 set(huvmat,'UserData',UvData) 5013 5014 5035 set(handles.uvmat,'UserData',UvData) 5036 set(handles.zoom,'Value',0) 5037 zoom_Callback(handles.uvmat, [], handles) 5038
Note: See TracChangeset
for help on using the changeset viewer.