Changeset 60 for trunk/src/uvmat.m
- Timestamp:
- Mar 23, 2010, 2:52:49 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/uvmat.m
r59 r60 229 229 addpath(fullfile(path_uvmat,'transform_field')) 230 230 fct_handle{1,1}=[]; 231 testexist=zeros(size(menu_str ));%default231 testexist=zeros(size(menu_str'));%default 232 232 testexist(1)=1; 233 233 for ilist=2:length(menu_str) … … 240 240 end 241 241 rmpath(fullfile(path_uvmat,'transform_field')) 242 243 %refresh projection plane 244 UvData.Object{1}.Style='plane';%main plotting plane 245 UvData.Object{1}.ProjMode='projection';%main plotting plane 246 if ~isfield(UvData.Object{1},'plotaxes') 247 UvData.Object{1}.plotaxes=handles.axes3;%default plotting axis 248 set(handles.list_object,'String',{'1-PLANE'}); 249 set(handles.list_object,'Value',1); 250 end 242 251 243 252 %load the list of previously browsed files in menus Open and Open_1 … … 795 804 set(handles.slices,'Value',1) 796 805 end 797 set(handles.nb_slice,'String',num2str(NbSlice)) 806 if isequal(GeometryCalib.NbSlice,'volume') 807 set(handles.nb_slice,'String','volume') 808 else 809 set(handles.nb_slice,'String',num2str(NbSlice)) 810 end 798 811 slices_Callback(hObject, eventdata, handles) 799 812 % Coord=UvData.XmlData.GeometryCalib.SliceCoord; 800 813 % ZIndex=num_i1-NbSlice*(floor((num_i1-1)/NbSlice)); 801 814 end 815 816 802 817 end 803 818 end 804 819 805 820 %update the data attached to the uvmat interface 806 set(handles.nb_slice,'String',num2str(NbSlice))821 % set(handles.nb_slice,'String',num2str(NbSlice)) 807 822 if ~isempty(TimeUnit) 808 823 set(handles.time_txt,'String',['time (' TimeUnit ')']) … … 1348 1363 set(handles.z_index,'Visible','on') 1349 1364 nb_slice_Callback(hObject, eventdata, handles) 1350 % z=mod(num_i1-1,nbslice)+1;1351 % set(handles.z_index,'String',num2str(z))1352 1365 else 1353 1366 set(handles.nb_slice,'Visible','off') … … 1362 1375 function nb_slice_Callback(hObject, eventdata, handles) 1363 1376 %------------------------------------------------------------------- 1364 num_i1=str2num(get(handles.i1,'String')); 1365 nbslice=str2num(get(handles.nb_slice,'String')); 1366 z=mod(num_i1-1,nbslice)+1; 1377 nb_slice_str=get(handles.nb_slice,'String') 1378 if isequal(nb_slice_str,'volume') 1379 num=stra2num(get(handles.j1,'String')); 1380 last_j=get(handles.last_j,'String'); 1381 nbslice=str2double(last_j{1}); 1382 else 1383 num=str2double(get(handles.i1,'String')); 1384 nbslice=str2double(get(handles.nb_slice,'String')); 1385 end 1386 z=mod(num-1,nbslice)+1; 1367 1387 set(handles.z_index,'String',num2str(z)) 1368 1388 for ilist=1:nbslice … … 1798 1818 Field.A=imread(imaname_1); 1799 1819 end 1820 if get(handles.slices,'Value') 1821 Field.ZIndex=str2double(get(handles.z_index,'String')); 1822 end 1800 1823 1801 1824 %px to phys or other transform on field … … 1885 1908 NomType=get(handles.FileIndex,'UserData'); 1886 1909 %update the z position index 1887 nbslice=str2double(get(handles.nb_slice,'String')); 1888 if ~isnan(nbslice) 1910 nbslice_str=get(handles.nb_slice,'String'); 1911 z_index=1;%default 1912 if isequal(nbslice_str,'volume') 1913 z_index=num_j1; 1914 set(handles.z_index,'String',num2str(z_index)) 1915 else 1916 nbslice=str2num(nbslice_str); 1889 1917 z_index=mod(num_i1-1,nbslice)+1; 1890 1918 set(handles.z_index,'String',num2str(z_index)) 1891 % refresh menu for save_mask if relevant 1892 masknumber=get(handles.masklevel,'String'); 1893 if length(masknumber)>=z_index 1894 set(handles.masklevel,'Value',z_index) 1895 end 1896 end 1919 end 1920 % refresh menu for save_mask if relevant 1921 masknumber=get(handles.masklevel,'String'); 1922 if length(masknumber)>=z_index 1923 set(handles.masklevel,'Value',z_index) 1924 end 1925 1897 1926 % determine the input file type 1898 1927 if isequal(Ext,'.nc')||isequal(Ext,'.cdf') … … 2220 2249 if siz(1)>1 2221 2250 NbSlice=siz(1); 2222 set(handles.slices,'Visible','on')2223 set(handles.slices,'Value',1)2251 % set(handles.slices,'Visible','on') 2252 % set(handles.slices,'Value',1) 2224 2253 else 2225 2254 NbSlice=1; 2226 2255 end 2227 set(handles.nb_slice,'String',num2str(NbSlice))2228 slices_Callback(handles.uvmat, [], handles)2256 %set(handles.nb_slice,'String',num2str(NbSlice)) 2257 % slices_Callback(handles.uvmat, [], handles) 2229 2258 end 2230 2259 … … 2256 2285 % z index 2257 2286 if ~isempty(filename) 2258 Field{1}.ZIndex= mod(num_i1-1,nbslice)+1;2287 Field{1}.ZIndex=z_index; 2259 2288 end 2260 2289 … … 2262 2291 if ~isempty(transform) 2263 2292 if length(Field)>=2 2264 Field{2}.ZIndex= mod(num_i1-1,nbslice)+1;2293 Field{2}.ZIndex=z_index; 2265 2294 [Field{1},Field{2}]=transform(Field{1},XmlData,Field{2},XmlData_1); 2266 2295 if isempty(Field{2}) … … 2426 2455 if ~isfield(UvData.Object{1},'plotaxes') 2427 2456 UvData.Object{1}.plotaxes=handles.axes3;%default plotting axis 2428 set(handles.list_object,'String',{'1-PLANE' ;'...'});2457 set(handles.list_object,'String',{'1-PLANE'}); 2429 2458 set(handles.list_object,'Value',1); 2430 2459 end … … 2470 2499 set(handles.MaxA,'String','255') 2471 2500 end 2472 2501 IndexObj=get(handles.list_object,'Value'); 2473 2502 Object=UvData.Object; 2474 for iobj=1:length(Object) 2503 IndexObj=min(IndexObj,numel(Object)); 2504 for iobj=[1 IndexObj] 2475 2505 if ~isempty(Object{iobj})%& isfield(Object{iobj},'plotaxes')& ishandle(Object{iobj}.plotaxes) 2476 2506 %Projeter les champs sur l'objet:* … … 2702 2732 %------------------------------------------------------------------- 2703 2733 function zoom_Callback(hObject, eventdata, handles) 2704 %huvmat=get(handles.zoom,'parent');%general input 2705 UvData=get(handles.uvmat,'UserData'); 2734 2706 2735 if (get(handles.zoom,'Value') == 1); 2707 2736 set(handles.zoom,'BackgroundColor',[1 1 0]) 2708 2737 set(handles.FixedLimits,'Value',1)% propose by default fixed limits for the plotting axes 2709 set(handles.FixedLimits,'BackgroundColor',[1 1 0]) 2710 %UvData.ZoomOn=1; %test for mouse action 2738 set(handles.FixedLimits,'BackgroundColor',[1 1 0]) 2711 2739 else 2712 2740 set(handles.zoom,'BackgroundColor',[0.7 0.7 0.7]) 2713 %UvData.ZoomOn=0; %test for mouse action 2714 end 2715 set(handles.uvmat,'UserData',UvData); 2741 end 2742 2716 2743 2717 2744 %------------------------------------------------------------------- … … 3369 3396 end 3370 3397 3371 %------------------------------------------------ 3372 function create_Callback(hObject,eventdata,handles) 3373 %------------------------------------------------ 3374 if ishandle(handles.UVMAT_title) 3375 delete(handles.UVMAT_title) 3376 end 3377 huvmat=get(handles.create,'parent'); 3378 UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface (handles huvmat) 3379 if isequal(get(handles.create,'Value'),1) 3380 set(handles.zoom,'Value',0) 3381 zoom_Callback(hObject, eventdata, handles) 3382 set(handles.create,'BackgroundColor',[1 1 0]) %visualise in yellow 3383 set(handles.edit_vect,'Value',0) 3384 edit_vect_Callback(hObject, eventdata, handles) 3385 set(handles.edit,'Value',0) 3386 set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3387 list_object=get(handles.list_object,'String'); 3388 if ~isempty(list_object) 3389 set(handles.list_object,'Value',length(list_object)) 3390 end 3391 MouseAction='create_object'; 3392 hset_object=findobj(allchild(0),'Name','set_object'); 3393 uistack(hset_object,'top') 3394 else 3395 set(handles.create,'BackgroundColor',[0 1 0]) 3396 set(handles.edit,'Value',1) 3397 set(handles.edit,'BackgroundColor',[1 1 0]) 3398 MouseAction='none'; 3399 end 3400 3401 UvData.MouseAction=MouseAction; 3402 set(huvmat,'UserData',UvData); 3403 3404 %------------------------------------------------ 3405 function POINTS_Callback(hObject,eventdata,handles) 3406 %------------------------------------------------ 3407 if ishandle(handles.UVMAT_title) 3408 delete(handles.UVMAT_title) 3409 end 3410 huvmat=get(handles.create,'parent'); 3411 UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface (handles huvmat) 3412 if isequal(get(handles.create,'Value'),1) 3413 set(handles.zoom,'Value',0) 3414 zoom_Callback(hObject, eventdata, handles) 3415 set(handles.edit_vect,'Value',0) 3416 edit_vect_Callback(hObject, eventdata, handles) 3417 set(handles.edit,'Value',0) 3418 set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3419 %set(handles.grid,'Value',0) 3420 %set(handles.grid,'BackgroundColor',[0 1 0]) 3421 % initiate set_object GUI 3422 data.TITLE='POINTS'; 3423 if isfield(UvData,'CoordType') 3424 data.CoordType=UvData.CoordType; 3425 end 3426 if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3427 data.RangeY=UvData.Mesh; 3428 elseif isfield(UvData,'AX')&isfield(UvData,'AY')& isfield(UvData,'A')%only image 3429 np=size(UvData.Field.A); 3430 meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/np(2); 3431 meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/np(1); 3432 data.RangeY=max(meshx,meshy); 3433 data.DX=max(meshx,meshy); 3434 end 3435 data.Coord=[0 0 0]; %default 3436 data.ParentButton=handles.create; 3437 PlotHandles=get_plot_handles(handles);%get the handles of the graphic objects setting the plotting parameters 3438 [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface 3439 if isfield(UvData,'SetObjectOrigin') 3440 pos_uvmat=get(huvmat,'Position'); 3441 pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3442 pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3443 set(hset_object,'Position',pos_set_object) 3444 end 3445 %set(hset_object,'Position',[pos_uvmat(1) pos_uvmat(2)-0.05*pos_uvmat(4) 0.2*pos_uvmat(3) 0.5*pos_uvmat(4)]); 3446 list_object=get(handles.list_object,'String'); 3447 if ~isempty(list_object) 3448 set(handles.list_object,'Value',length(list_object)) 3449 end 3450 MouseAction='create_object'; 3451 %UvData.ZoomOn=0; 3452 else 3453 set(handles.create,'BackgroundColor',[0 1 0]) 3454 set(handles.edit,'Value',1) 3455 set(handles.edit,'BackgroundColor',[1 1 0]) 3456 MouseAction='none'; 3457 end 3458 3459 UvData.MouseAction=MouseAction; 3460 set(huvmat,'UserData',UvData); 3461 3462 %----------------------------------------------------------- 3463 function LINE_Callback(hObject, eventdata, handles) 3464 %------------------------------------------------- 3465 if ishandle(handles.UVMAT_title) 3466 delete(handles.UVMAT_title) 3467 end 3468 % handles.uvmat 3469 huvmat=get(handles.create,'parent'); 3470 UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 3471 set(handles.zoom,'Value',0) 3472 zoom_Callback(hObject, eventdata, handles) 3473 set(handles.edit_vect,'BackgroundColor',[0.7 0.7 0.7]) 3474 set(handles.edit_vect,'Value',0) 3475 edit_vect_Callback(hObject, eventdata, handles) 3476 set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3477 set(handles.edit,'Value',0) 3478 set(handles.list_object,'Value',1); 3479 edit_vect_Callback(hObject, eventdata, handles) 3480 set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3481 set(handles.cal,'Value',0) 3482 set(handles.cal,'BackgroundColor',[0 1 0]) 3483 % initiate the set_object GUI 3484 data.TITLE='LINE'; 3485 if isfield(UvData,'CoordType') 3486 data.CoordType=UvData.CoordType; 3487 end 3488 if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3489 data.RangeX=UvData.Mesh; 3490 data.RangeY=UvData.Mesh; 3491 data.DX=UvData.Mesh; 3492 data.DY=UvData.Mesh; 3493 elseif isfield(UvData.Field,'AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image 3494 np=size(UvData.Field.A); 3495 meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/np(2); 3496 meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/np(1); 3497 data.RangeY=max(meshx,meshy); 3498 data.RangeX=max(meshx,meshy); 3499 data.DX=max(meshx,meshy); 3500 end 3501 if isfield(data,'DX') 3502 data.Coord=[[0 0 0];[data.DX 0 0]]; %default 3503 else 3504 data.Coord=[[0 0 0];[1 0 0]]; %default 3505 end 3506 data.ParentButton=handles.create; 3507 PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 3508 [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface with action on haxes, 3509 % associate the set_edit interface handle to the plotting axes 3510 pos_uvmat=get(huvmat,'Position'); 3511 if isfield(UvData,'SetObjectOrigin') 3512 pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3513 pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3514 set(hset_object,'Position',pos_set_object) 3515 end 3516 list_object=get(handles.list_object,'String'); 3517 if ~isempty(list_object) 3518 set(handles.list_object,'Value',length(list_object)) 3519 end 3520 MouseAction='create_object'; 3521 UvData.MouseAction=MouseAction; 3522 set(huvmat,'UserData',UvData) 3523 3524 %----------------------------------------------------------- 3525 function PATCH_Callback(hObject, eventdata, handles) 3526 %----------------------------------------------------------- 3527 if ishandle(handles.UVMAT_title) 3528 delete(handles.UVMAT_title) 3529 end 3530 huvmat=get(handles.create,'parent'); 3531 UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 3532 % if isequal(get(handles.PATCH,'Value'),1) 3533 set(handles.zoom,'Value',0) 3534 set(handles.zoom,'BackgroundColor',[0.7 0.7 0.7]) 3535 % set(handles.create,'Value',0)%suppress the other options if LINE is chosen 3398 % %------------------------------------------------ 3399 % function create_Callback(hObject,eventdata,handles) 3400 % %------------------------------------------------ 3401 % if ishandle(handles.UVMAT_title) 3402 % delete(handles.UVMAT_title) 3403 % end 3404 % huvmat=get(handles.create,'parent'); 3405 % UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface (handles huvmat) 3406 % if isequal(get(handles.create,'Value'),1) 3407 % set(handles.zoom,'Value',0) 3408 % zoom_Callback(hObject, eventdata, handles) 3409 % set(handles.create,'BackgroundColor',[1 1 0]) %visualise in yellow 3410 % set(handles.edit_vect,'Value',0) 3411 % edit_vect_Callback(hObject, eventdata, handles) 3412 % set(handles.edit,'Value',0) 3413 % set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3414 % list_object=get(handles.list_object,'String'); 3415 % if ~isempty(list_object) 3416 % set(handles.list_object,'Value',length(list_object)) 3417 % end 3418 % MouseAction='create_object'; 3419 % hset_object=findobj(allchild(0),'Name','set_object'); 3420 % uistack(hset_object,'top') 3421 % else 3536 3422 % set(handles.create,'BackgroundColor',[0 1 0]) 3537 % set(handles.LINE,'Value',0) 3538 % set(handles.LINE,'BackgroundColor',[0 1 0]) 3539 % set(handles.PATCH,'Value',1) 3540 % set(handles.PATCH,'BackgroundColor',[1 1 0]) 3541 % set(handles.PLANE,'Value',0) 3542 % set(handles.PLANE,'BackgroundColor',[0 1 0])%put activated buttons to yellow 3543 % set(handles.VOLUME,'Value',0) 3544 % set(handles.VOLUME,'BackgroundColor',[0 1 0]) 3545 %set(handles.makemask,'Value',0) 3546 %makemask_Callback(hObject, eventdata, handles) 3547 set(handles.edit_vect,'Value',0) 3548 edit_vect_Callback(hObject, eventdata, handles) 3549 set(handles.edit,'Value',0) 3550 set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3551 set(handles.edit_vect,'Value',0) 3552 edit_vect_Callback(hObject, eventdata, handles) 3553 set(handles.cal,'Value',0) 3554 set(handles.cal,'BackgroundColor',[0 1 0]) 3555 %set(handles.grid,'Value',0) 3556 %set(handles.grid,'BackgroundColor',[0 1 0]) 3557 %initiate set_object GUI 3558 data.TITLE='PATCH'; 3559 if isfield(UvData,'CoordType') 3560 data.CoordType=UvData.CoordType; 3561 end 3562 if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3563 data.YMax=UvData.Mesh; 3564 elseif isfield(UvData.Field,'AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image 3565 np=size(UvData.Field.A); 3566 meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/(np(2)-1); 3567 meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/(np(1)-1); 3568 data.YMax=max(meshx,meshy); 3569 data.DX=max(meshx,meshy); 3570 end 3571 data.Coord=[0 0 0]; %default 3572 data.ParentButton=handles.create; 3573 PlotHandles=get_plot_handles(handles);%get the handles of the graphic objects setting the plotting parameters 3574 [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface 3575 pos_uvmat=get(huvmat,'Position'); 3576 if isfield(UvData,'SetObjectOrigin') 3577 pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3578 pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3579 set(hset_object,'Position',pos_set_object) 3580 end 3581 list_object=get(handles.list_object,'String'); 3582 if ~isempty(list_object) 3583 set(handles.list_object,'Value',length(list_object)) 3584 end 3585 UvData.MouseAction='create_object'; 3586 set(huvmat,'UserData',UvData); 3587 %------------------------------------------------------- 3588 function PLANE_Callback(hObject, eventdata, handles) 3589 %------------------------------------------------------- 3590 if ishandle(handles.UVMAT_title) 3591 delete(handles.UVMAT_title) 3592 end 3593 huvmat=get(handles.create,'parent'); 3594 UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 3595 set(handles.zoom,'Value',0) 3596 set(handles.zoom,'BackgroundColor',[0.7 0.7 0.7]) 3597 set(handles.edit_vect,'Value',0) 3598 edit_vect_Callback(hObject, eventdata, handles) 3599 set(handles.edit,'Value',0) 3600 set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3601 set(handles.cal,'Value',0) 3602 set(handles.cal,'BackgroundColor',[0 1 0]) 3603 %set(handles.grid,'Value',0) 3604 %set(handles.grid,'BackgroundColor',[0 1 0]) 3605 %initiate set_object GUI 3606 data.TITLE='PLANE'; 3607 if isfield(UvData,'CoordType') 3608 data.CoordType=UvData.CoordType; 3609 end 3610 %Si 3D data.nbdim=3; 3611 %Si 2D 3612 if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3613 data.ZMax=UvData.Mesh; 3614 data.DX=UvData.Mesh; 3615 data.DY=UvData.Mesh; 3616 elseif isfield(UvData.Field,'AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image 3617 np=size(UvData.Field.A); 3618 meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/(np(2)-1); 3619 meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/(np(1)-1); 3620 data.DX=max(meshx,meshy); 3621 end 3622 if isfield(UvData,'DX') 3623 data.DX=UvData.DX; 3624 end 3625 if isfield(UvData,'DY') 3626 data.DY=UvData.DY; 3627 elseif isfield(UvData,'Mesh') 3628 data.DY=UvData.Mesh; 3629 end 3630 if isfield(UvData.Field,'X')& isfield(UvData.Field,'Y') 3631 data.Coord=[0 0 0]; 3632 data.Style='plane'; 3633 data.Phi=0; 3634 data.IndexObj=1; %act on the first reference plane by default 3635 haxes= handles.axes3;%GENERALISER 3636 plot_object(data,[],haxes,'m'); %plot the axes of the default plane 3637 end 3638 data.ParentButton=handles.create; 3639 PlotHandles=get_plot_handles(handles);%get the handles of the graphic objects setting the plotting parameters 3640 ZBounds=0; % default 3641 if isfield(UvData,'ZMin') && isfield(UvData,'ZMax') 3642 ZBounds(1)=UvData.ZMin; %minimum for the Z slider 3643 ZBounds(2)=UvData.ZMax;%maximum for the Z slider 3644 end 3645 [hset_object,UvData.sethandles]=set_object(data,PlotHandles,ZBounds);% call the set_object interface with action on haxes, 3646 if isfield(UvData,'SetObjectOrigin') 3647 pos_uvmat=get(huvmat,'Position'); 3648 pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3649 pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3650 set(hset_object,'Position',pos_set_object) 3651 end 3652 list_object=get(handles.list_object,'String'); 3653 nbobject=length(list_object); 3654 set(handles.list_object,'Value',nbobject) 3655 UvData.MouseAction='create_object'; 3656 set(huvmat,'UserData',UvData) 3423 % set(handles.edit,'Value',1) 3424 % set(handles.edit,'BackgroundColor',[1 1 0]) 3425 % MouseAction='none'; 3426 % end 3427 % 3428 % UvData.MouseAction=MouseAction; 3429 % set(huvmat,'UserData',UvData); 3430 % 3431 % %------------------------------------------------ 3432 % function POINTS_Callback(hObject,eventdata,handles) 3433 % %------------------------------------------------ 3434 % if ishandle(handles.UVMAT_title) 3435 % delete(handles.UVMAT_title) 3436 % end 3437 % huvmat=get(handles.create,'parent'); 3438 % UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface (handles huvmat) 3439 % if isequal(get(handles.create,'Value'),1) 3440 % set(handles.zoom,'Value',0) 3441 % zoom_Callback(hObject, eventdata, handles) 3442 % set(handles.edit_vect,'Value',0) 3443 % edit_vect_Callback(hObject, eventdata, handles) 3444 % set(handles.edit,'Value',0) 3445 % set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3446 % %set(handles.grid,'Value',0) 3447 % %set(handles.grid,'BackgroundColor',[0 1 0]) 3448 % % initiate set_object GUI 3449 % data.TITLE='POINTS'; 3450 % if isfield(UvData,'CoordType') 3451 % data.CoordType=UvData.CoordType; 3452 % end 3453 % if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3454 % data.RangeY=UvData.Mesh; 3455 % elseif isfield(UvData,'AX')&isfield(UvData,'AY')& isfield(UvData,'A')%only image 3456 % np=size(UvData.Field.A); 3457 % meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/np(2); 3458 % meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/np(1); 3459 % data.RangeY=max(meshx,meshy); 3460 % data.DX=max(meshx,meshy); 3461 % end 3462 % data.Coord=[0 0 0]; %default 3463 % data.ParentButton=handles.create; 3464 % PlotHandles=get_plot_handles(handles);%get the handles of the graphic objects setting the plotting parameters 3465 % [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface 3466 % if isfield(UvData,'SetObjectOrigin') 3467 % pos_uvmat=get(huvmat,'Position'); 3468 % pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3469 % pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3470 % set(hset_object,'Position',pos_set_object) 3471 % end 3472 % %set(hset_object,'Position',[pos_uvmat(1) pos_uvmat(2)-0.05*pos_uvmat(4) 0.2*pos_uvmat(3) 0.5*pos_uvmat(4)]); 3473 % list_object=get(handles.list_object,'String'); 3474 % if ~isempty(list_object) 3475 % set(handles.list_object,'Value',length(list_object)) 3476 % end 3477 % MouseAction='create_object'; 3478 % %UvData.ZoomOn=0; 3479 % else 3480 % set(handles.create,'BackgroundColor',[0 1 0]) 3481 % set(handles.edit,'Value',1) 3482 % set(handles.edit,'BackgroundColor',[1 1 0]) 3483 % MouseAction='none'; 3484 % end 3485 % 3486 % UvData.MouseAction=MouseAction; 3487 % set(huvmat,'UserData',UvData); 3488 3489 % %----------------------------------------------------------- 3490 % function LINE_Callback(hObject, eventdata, handles) 3491 % %------------------------------------------------- 3492 % if ishandle(handles.UVMAT_title) 3493 % delete(handles.UVMAT_title) 3494 % end 3495 % % handles.uvmat 3496 % huvmat=get(handles.create,'parent'); 3497 % UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 3498 % set(handles.zoom,'Value',0) 3499 % zoom_Callback(hObject, eventdata, handles) 3500 % set(handles.edit_vect,'BackgroundColor',[0.7 0.7 0.7]) 3501 % set(handles.edit_vect,'Value',0) 3502 % edit_vect_Callback(hObject, eventdata, handles) 3503 % set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3504 % set(handles.edit,'Value',0) 3505 % set(handles.list_object,'Value',1); 3506 % edit_vect_Callback(hObject, eventdata, handles) 3507 % set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3508 % set(handles.cal,'Value',0) 3509 % set(handles.cal,'BackgroundColor',[0 1 0]) 3510 % % initiate the set_object GUI 3511 % data.TITLE='LINE'; 3512 % if isfield(UvData,'CoordType') 3513 % data.CoordType=UvData.CoordType; 3514 % end 3515 % if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3516 % data.RangeX=UvData.Mesh; 3517 % data.RangeY=UvData.Mesh; 3518 % data.DX=UvData.Mesh; 3519 % data.DY=UvData.Mesh; 3520 % elseif isfield(UvData.Field,'AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image 3521 % np=size(UvData.Field.A); 3522 % meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/np(2); 3523 % meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/np(1); 3524 % data.RangeY=max(meshx,meshy); 3525 % data.RangeX=max(meshx,meshy); 3526 % data.DX=max(meshx,meshy); 3527 % end 3528 % if isfield(data,'DX') 3529 % data.Coord=[[0 0 0];[data.DX 0 0]]; %default 3530 % else 3531 % data.Coord=[[0 0 0];[1 0 0]]; %default 3532 % end 3533 % data.ParentButton=handles.create; 3534 % PlotHandles=get_plot_handles(handles);%get the handles of the interface elements setting the plotting parameters 3535 % [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface with action on haxes, 3536 % % associate the set_edit interface handle to the plotting axes 3537 % pos_uvmat=get(huvmat,'Position'); 3538 % if isfield(UvData,'SetObjectOrigin') 3539 % pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3540 % pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3541 % set(hset_object,'Position',pos_set_object) 3542 % end 3543 % list_object=get(handles.list_object,'String'); 3544 % if ~isempty(list_object) 3545 % set(handles.list_object,'Value',length(list_object)) 3546 % end 3547 % MouseAction='create_object'; 3548 % UvData.MouseAction=MouseAction; 3549 % set(huvmat,'UserData',UvData) 3550 3551 % %----------------------------------------------------------- 3552 % function PATCH_Callback(hObject, eventdata, handles) 3553 % %----------------------------------------------------------- 3554 % if ishandle(handles.UVMAT_title) 3555 % delete(handles.UVMAT_title) 3556 % end 3557 % huvmat=get(handles.create,'parent'); 3558 % UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 3559 % % if isequal(get(handles.PATCH,'Value'),1) 3560 % set(handles.zoom,'Value',0) 3561 % set(handles.zoom,'BackgroundColor',[0.7 0.7 0.7]) 3562 % % set(handles.create,'Value',0)%suppress the other options if LINE is chosen 3563 % % set(handles.create,'BackgroundColor',[0 1 0]) 3564 % % set(handles.LINE,'Value',0) 3565 % % set(handles.LINE,'BackgroundColor',[0 1 0]) 3566 % % set(handles.PATCH,'Value',1) 3567 % % set(handles.PATCH,'BackgroundColor',[1 1 0]) 3568 % % set(handles.PLANE,'Value',0) 3569 % % set(handles.PLANE,'BackgroundColor',[0 1 0])%put activated buttons to yellow 3570 % % set(handles.VOLUME,'Value',0) 3571 % % set(handles.VOLUME,'BackgroundColor',[0 1 0]) 3572 % %set(handles.makemask,'Value',0) 3573 % %makemask_Callback(hObject, eventdata, handles) 3574 % set(handles.edit_vect,'Value',0) 3575 % edit_vect_Callback(hObject, eventdata, handles) 3576 % set(handles.edit,'Value',0) 3577 % set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3578 % set(handles.edit_vect,'Value',0) 3579 % edit_vect_Callback(hObject, eventdata, handles) 3580 % set(handles.cal,'Value',0) 3581 % set(handles.cal,'BackgroundColor',[0 1 0]) 3582 % %set(handles.grid,'Value',0) 3583 % %set(handles.grid,'BackgroundColor',[0 1 0]) 3584 % %initiate set_object GUI 3585 % data.TITLE='PATCH'; 3586 % if isfield(UvData,'CoordType') 3587 % data.CoordType=UvData.CoordType; 3588 % end 3589 % if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3590 % data.YMax=UvData.Mesh; 3591 % elseif isfield(UvData.Field,'AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image 3592 % np=size(UvData.Field.A); 3593 % meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/(np(2)-1); 3594 % meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/(np(1)-1); 3595 % data.YMax=max(meshx,meshy); 3596 % data.DX=max(meshx,meshy); 3597 % end 3598 % data.Coord=[0 0 0]; %default 3599 % data.ParentButton=handles.create; 3600 % PlotHandles=get_plot_handles(handles);%get the handles of the graphic objects setting the plotting parameters 3601 % [hset_object,UvData.sethandles]=set_object(data,PlotHandles);% call the set_object interface 3602 % pos_uvmat=get(huvmat,'Position'); 3603 % if isfield(UvData,'SetObjectOrigin') 3604 % pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3605 % pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3606 % set(hset_object,'Position',pos_set_object) 3607 % end 3608 % list_object=get(handles.list_object,'String'); 3609 % if ~isempty(list_object) 3610 % set(handles.list_object,'Value',length(list_object)) 3611 % end 3612 % UvData.MouseAction='create_object'; 3613 % set(huvmat,'UserData',UvData); 3614 % %------------------------------------------------------- 3615 % function PLANE_Callback(hObject, eventdata, handles) 3616 % %------------------------------------------------------- 3617 % if ishandle(handles.UVMAT_title) 3618 % delete(handles.UVMAT_title) 3619 % end 3620 % huvmat=get(handles.create,'parent'); 3621 % UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 3622 % set(handles.zoom,'Value',0) 3623 % set(handles.zoom,'BackgroundColor',[0.7 0.7 0.7]) 3624 % set(handles.edit_vect,'Value',0) 3625 % edit_vect_Callback(hObject, eventdata, handles) 3626 % set(handles.edit,'Value',0) 3627 % set(handles.edit,'BackgroundColor',[0.7 0.7 0.7]) 3628 % set(handles.cal,'Value',0) 3629 % set(handles.cal,'BackgroundColor',[0 1 0]) 3630 % %set(handles.grid,'Value',0) 3631 % %set(handles.grid,'BackgroundColor',[0 1 0]) 3632 % %initiate set_object GUI 3633 % data.TITLE='PLANE'; 3634 % if isfield(UvData,'CoordType') 3635 % data.CoordType=UvData.CoordType; 3636 % end 3637 % %Si 3D data.nbdim=3; 3638 % %Si 2D 3639 % if isfield(UvData,'Mesh')&~isempty(UvData.Mesh) 3640 % data.ZMax=UvData.Mesh; 3641 % data.DX=UvData.Mesh; 3642 % data.DY=UvData.Mesh; 3643 % elseif isfield(UvData.Field,'AX')&isfield(UvData.Field,'AY')& isfield(UvData.Field,'A')%only image 3644 % np=size(UvData.Field.A); 3645 % meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/(np(2)-1); 3646 % meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/(np(1)-1); 3647 % data.DX=max(meshx,meshy); 3648 % end 3649 % if isfield(UvData,'DX') 3650 % data.DX=UvData.DX; 3651 % end 3652 % if isfield(UvData,'DY') 3653 % data.DY=UvData.DY; 3654 % elseif isfield(UvData,'Mesh') 3655 % data.DY=UvData.Mesh; 3656 % end 3657 % if isfield(UvData.Field,'X')& isfield(UvData.Field,'Y') 3658 % data.Coord=[0 0 0]; 3659 % data.Style='plane'; 3660 % data.Phi=0; 3661 % data.IndexObj=1; %act on the first reference plane by default 3662 % haxes= handles.axes3;%GENERALISER 3663 % plot_object(data,[],haxes,'m'); %plot the axes of the default plane 3664 % end 3665 % data.ParentButton=handles.create; 3666 % PlotHandles=get_plot_handles(handles);%get the handles of the graphic objects setting the plotting parameters 3667 % ZBounds=0; % default 3668 % if isfield(UvData,'ZMin') && isfield(UvData,'ZMax') 3669 % ZBounds(1)=UvData.ZMin; %minimum for the Z slider 3670 % ZBounds(2)=UvData.ZMax;%maximum for the Z slider 3671 % end 3672 % [hset_object,UvData.sethandles]=set_object(data,PlotHandles,ZBounds);% call the set_object interface with action on haxes, 3673 % if isfield(UvData,'SetObjectOrigin') 3674 % pos_uvmat=get(huvmat,'Position'); 3675 % pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); 3676 % pos_set_object(3:4)=UvData.SetObjectSize .* pos_uvmat(3:4); 3677 % set(hset_object,'Position',pos_set_object) 3678 % end 3679 % list_object=get(handles.list_object,'String'); 3680 % nbobject=length(list_object); 3681 % set(handles.list_object,'Value',nbobject) 3682 % UvData.MouseAction='create_object'; 3683 % set(huvmat,'UserData',UvData) 3657 3684 3658 3685 %------------------------------------------------------- … … 4502 4529 %-------------------------------------------------------- 4503 4530 function list_object_Callback(hObject, eventdata, handles) 4504 huvmat=get(handles.list_object,'parent'); 4505 UvData=get(huvmat,'UserData');%read UvData properties stored on the uvmat interface 4531 UvData=get(handles.uvmat,'UserData');%read UvData properties stored on the uvmat interface 4506 4532 list_str=get(handles.list_object,'String'); 4507 4533 IndexObj=get(handles.list_object,'Value'); … … 4522 4548 end 4523 4549 AxeData.hset_object=set_object(ObjectData,PlotHandles,ZBounds);% call the set_object interface, 4524 pos_uvmat=get(h uvmat,'Position');4550 pos_uvmat=get(handles.uvmat,'Position'); 4525 4551 if isfield(UvData,'SetObjectOrigin') 4526 4552 pos_set_object(1:2)=UvData.SetObjectOrigin + pos_uvmat(1:2); … … 4528 4554 set(AxeData.hset_object,'Position',pos_set_object) 4529 4555 end 4556 4557 %project the current field on the object and plot it 4558 ProjData= proj_field(UvData.Field,ObjectData,IndexObj);%project the current interface field on ObjectData 4559 if length(UvData.Object)>= IndexObj && isfield(UvData.Object{IndexObj},'plotaxes')&& ishandle(UvData.Object{IndexObj}.plotaxes) 4560 plot_field(ProjData,UvData.Object{IndexObj}.plotaxes,PlotHandles); 4561 else 4562 UvData.Object{IndexObj}.plotaxes=view_field(ProjData); 4563 set(handles.uvmat,'UserData',UvData) 4564 end 4565 4530 4566 hother=findobj('Tag','proj_object');%find all the proj objects 4531 4567 for iobj=1:length(hother) … … 5049 5085 zoom_Callback(handles.uvmat, [], handles) 5050 5086 5087 5088 5089 % -------------------------------------------------------------------- 5090 function MenuRuler_Callback(hObject, eventdata, handles) 5091 set(handles.zoom,'Value',0) 5092 zoom_Callback(handles.uvmat, [], handles) 5093 UvData=get(handles.uvmat,'UserData'); 5094 UvData.MouseAction='ruler'; 5095 set(handles.uvmat,'UserData',UvData); 5096 5097
Note: See TracChangeset
for help on using the changeset viewer.