Changeset 782 for trunk/src/uvmat.m
- Timestamp:
- Jun 3, 2014, 8:10:03 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/uvmat.m
r781 r782 83 83 % velocity vectors. The scalar values in the first case is represented by 84 84 % UvData.Field.A, and by UvData.Field.C in the second case. The corresponding set of X 85 % and Y axes are represented by UvData.Field. AX and UvData.Field.AY, and .X and85 % and Y axes are represented by UvData.Field.Coord_x and UvData.Field.Coord_y, and .X and 86 86 % .Y for C (the same as velocity vectors). If A is a nxxny matrix (scalar 87 % on a regtular grid), then . AX andf.AYcontains only two elements, represneting the87 % on a regtular grid), then .Coord_x andf.Coord_y contains only two elements, represneting the 88 88 % axes of the four image corners. The scalar name is represented by 89 89 % the strings .AName and/or .CName. … … 1145 1145 set(handles_Fields,'String',{'image'}) 1146 1146 %set(handles.Coord_x,'Value',1); 1147 set(handles.Coord_x,'String',' AX');1148 set(handles.Coord_y,'String',' AY');1147 set(handles.Coord_x,'String','Coord_x'); 1148 set(handles.Coord_y,'String','Coord_y'); 1149 1149 end 1150 1150 set(handles.uvmat,'UserData',UvData) … … 1497 1497 set(hmask,'CData',imflag) 1498 1498 set(hmask,'AlphaData',flagmask*0.6) 1499 set(hmask,'XData',MaskField. AX);1500 set(hmask,'YData',MaskField. AY);1499 set(hmask,'XData',MaskField.Coord_x); 1500 set(hmask,'YData',MaskField.Coord_y); 1501 1501 % uistack(hmask,'top') 1502 1502 else 1503 1503 axes(handles.PlotAxes) 1504 1504 hold on 1505 Mask.maskhandle=image(MaskField. AX,MaskField.AY,imflag,'Tag','mask','HitTest','off','AlphaData',0.6*ones(size(flagmask)));1505 Mask.maskhandle=image(MaskField.Coord_x,MaskField.Coord_y,imflag,'Tag','mask','HitTest','off','AlphaData',0.6*ones(size(flagmask))); 1506 1506 set(handles.CheckMask,'UserData',Mask) 1507 1507 end … … 2691 2691 if isfield(ObjectData,'NbDim') && isequal(ObjectData.NbDim,2) && isfield(ObjectData,'Mask') && isfield(ObjectData,'A') 2692 2692 flag_mask=double(ObjectData.Mask>200);%=0 for masked regions 2693 AX=ObjectData.AX;%x coordiantes for the scalar field2694 AY=ObjectData.AY;%y coordinates for the scalar field2693 Coord_x=ObjectData.Coord_x;%x coordiantes for the scalar field 2694 Coord_y=ObjectData.Coord_y;%y coordinates for the scalar field 2695 2695 MaskX=ObjectData.MaskX;%x coordiantes for the mask 2696 2696 MaskY=ObjectData.MaskY;%y coordiantes for the mask 2697 if ~isequal(MaskX, AX)||~isequal(MaskY,AY)2697 if ~isequal(MaskX,Coord_x)||~isequal(MaskY,Coord_y) 2698 2698 nxy=size(flag_mask); 2699 2699 sizpx=(ObjectData.MaskX(end)-ObjectData.MaskX(1))/(nxy(2)-1);%size of a mask pixel … … 2703 2703 %project on the positions of the scalar 2704 2704 npxy=size(ObjectData.A); 2705 dxy(1)=(ObjectData. AY(end)-ObjectData.AY(1))/(npxy(1)-1);%grid mesh in y2706 dxy(2)=(ObjectData. AX(end)-ObjectData.AX(1))/(npxy(2)-1);%grid mesh in x2707 xi=ObjectData. AX(1):dxy(2):ObjectData.AX(end);2708 yi=ObjectData. AY(1):dxy(1):ObjectData.AY(end);2705 dxy(1)=(ObjectData.Coord_y(end)-ObjectData.Coord_y(1))/(npxy(1)-1);%grid mesh in y 2706 dxy(2)=(ObjectData.Coord_x(end)-ObjectData.Coord_x(1))/(npxy(2)-1);%grid mesh in x 2707 xi=ObjectData.Coord_x(1):dxy(2):ObjectData.Coord_x(end); 2708 yi=ObjectData.Coord_y(1):dxy(1):ObjectData.Coord_y(end); 2709 2709 [XI,YI]=meshgrid(xi,yi);% creates the matrix of regular coordinates 2710 2710 flag_mask = interp2(x_mask,y_mask,flag_mask,XI,YI); … … 3641 3641 data.DX=UvData.Field.CoordMesh; 3642 3642 data.DY=UvData.Field.CoordMesh; 3643 elseif isfield(UvData.Field,' AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image3643 elseif isfield(UvData.Field,'Coord_x')&isfield(UvData.Field,'Coord_y')& isfield(UvData.Field,'A')%only image 3644 3644 np=size(UvData.Field.A); 3645 meshx=(UvData.Field. AX(end)-UvData.Field.AX(1))/np(2);3646 meshy=abs(UvData.Field. AY(end)-UvData.Field.AY(1))/np(1);3645 meshx=(UvData.Field.Coord_x(end)-UvData.Field.Coord_x(1))/np(2); 3646 meshy=abs(UvData.Field.Coord_y(end)-UvData.Field.Coord_y(1))/np(1); 3647 3647 data.RangeY=max(meshx,meshy); 3648 3648 data.RangeX=max(meshx,meshy); … … 5381 5381 figure 5382 5382 plot(theta_ref,r_ref) 5383 azimuth_ima=linspace(DataOut. AY(1),DataOut.AY(2),size(DataOut.A,1));%profile of x index on the transformed image5383 azimuth_ima=linspace(DataOut.Coord_y(1),DataOut.Coord_y(2),size(DataOut.A,1));%profile of x index on the transformed image 5384 5384 dist_source = interp1(theta_ref,r_ref,azimuth_ima); 5385 dist_source_pixel=round(size(DataOut.A,2)*(dist_source-DataOut. AX(1))/(DataOut.AX(2)-DataOut.AX(1)));5385 dist_source_pixel=round(size(DataOut.A,2)*(dist_source-DataOut.Coord_x(1))/(DataOut.Coord_x(2)-DataOut.Coord_x(1))); 5386 5386 line_nan= isnan(dist_source_pixel); 5387 5387 dist_source_pixel(line_nan)=1;
Note: See TracChangeset
for help on using the changeset viewer.