Changeset 158 for trunk


Ignore:
Timestamp:
Dec 22, 2010, 5:12:31 PM (14 years ago)
Author:
sommeria
Message:

CoordType? not used, replaced by CoordUnit?
bug repair in check_field_structure

Location:
trunk/src
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/check_field_structure.m

    r140 r158  
    5050nbdim=0;
    5151Data.ListDimName={};
     52
     53%% main loop on the list of variables
    5254for ivar=1:nbfield
    5355    VarName=Data.ListVarName{ivar};
     
    6466        return
    6567    end
    66     nbcoord=numel(sizvar);%nbre of coordiantes for variable named VarName
     68    nbcoord=numel(sizvar);%nbre of coordinates for variable named VarName
     69    testrange=0;
    6770    if numel(DimCell)==0
    6871        errormsg=['empty declared dimension .VarDimName{' num2str(ivar) '} for ' VarName];
     
    7982                return
    8083            end
     84            if sizvar(1)==2 && isequal(VarName,DimCell{1})
     85                testrange=1;% test for a dimension variable representing a range
     86            end
    8187        else
    8288            errormsg=['1 dimension declared in .VarDimName{' num2str(ivar) '} inconsistent with the nbre of dimensions =' num2str(nbcoord) ' of the variable ' VarName];
     
    8591    else
    8692        if numel(DimCell)>nbcoord
    87             DimCell=DimCell(end-nbcoord+1:end);%first singleton diemnsions omitted,
     93            DimCell=DimCell(end-nbcoord+1:end);%first singleton diemensions omitted,
    8894        elseif nbcoord > numel(DimCell)
    8995            errormsg=['nbre of declared dimensions in .VarDimName{' num2str(ivar) '} smaller than the nbre of dimensions =' num2str(nbcoord) ' of the variable ' VarName];
     
    97103        if isempty(iprev)% append the dimension name to the current list
    98104            nbdim=nbdim+1;
     105            RangeTest(nbdim)=0; %default
    99106            if sizvar(idim)==2 && strcmp(DimName,VarName)%case of a coordinate defined by the two end values (regular spacing)
    100107                RangeTest(nbdim)=1; %to be updated for a later variable 
     
    105112        else % DimName is detected in the current list of dimension names
    106113            if ~isequal(Data.DimValue(iprev),sizvar(idim))
     114                        RangeTest(iprev)
     115            Data.DimValue(iprev)
    107116                if isequal(Data.DimValue(iprev),2)&& RangeTest(iprev)  % the dimension has been already detected as a range [min max]
    108117                    Data.DimValue(iprev)=sizvar(idim); %update with actual value
    109                 else
     118                elseif ~testrange               
    110119                    errormsg=['dimension declaration inconsistent with the size =[' num2str(sizvar) '] for ' VarName];
    111120                    return
  • trunk/src/geometry_calib.m

    r156 r158  
    11811181Data.AY=[npxy(1)-0.5 0.5];
    11821182Data.AX=[0.5 npxy(2)];
    1183 Data.CoordType='px';
     1183Data.CoordUnit='pixel';
    11841184Calib.GeometryCalib=GeometryCalib;
    11851185DataOut=phys(Data,Calib);
  • trunk/src/mouse_motion.m

    r156 r158  
    172172                    end
    173173                    %coordinate transform if proj_coord differs from menu_coord A REVOIR
    174                     if isfield(Field,'CoordType')
    175                         mouse.CoordType=Field.CoordType;
    176                     end
    177174                    if isfield(Field,'CoordUnit')
    178175                        mouse.CoordUnit=Field.CoordUnit;
    179176                    end
    180                     if isfield(mouse,'CoordType')
    181                         if isequal(mouse.CoordType,'px')
    182                             mouse.CoordUnit='px';
    183                         end
    184                     else
    185                         mouse.CoordUnit='';%default
    186                     end
     177%                     if isfield(Field,'CoordUnit')
     178%                         mouse.CoordUnit=Field.CoordUnit;
     179%                     end
     180%                     if isfield(mouse,'CoordType')
     181%                         if isequal(mouse.CoordType,'px')
     182%                             mouse.CoordUnit='px';
     183%                         end
     184%                     else
     185%                         mouse.CoordUnit='';%default
     186%                     end
    187187                    if test_piv
    188188                       par=civ('read_param_civ1',hhciv);
  • trunk/src/proj_field.m

    r156 r158  
    8787end
    8888%introduce default field properties (reading old standards)
    89 if ~isfield(ObjectData,'Style')||~isfield(ObjectData,'Coord')||~isfield(ObjectData,'ProjMode')
     89if ~isfield(ObjectData,'Style')||~isfield(ObjectData,'ProjMode')
    9090    ProjData=FieldData;
    9191    return
    9292end
    93 
     93if ~isfield(ObjectData,'Coord')
     94    if strcmp(ObjectData.Style,'plane')
     95        ObjectData.Coord=[0 0 0];%default
     96    else
     97        ProjData=FieldData;
     98        return
     99    end
     100end
     101       
    94102% OBSOLETE
    95103if isfield(ObjectData,'XMax') && ~isempty(ObjectData.XMax)
     
    112120end
    113121%%%%%%%%%%
    114 
    115 % FieldData=document_field(FieldData);%transform FieldData to the standard format
    116 % if ~isfield(FieldData,'VarAttribute')
    117 %     FieldData.VarAttribute={};
    118 % end
    119122switch ObjectData.Style
    120123    case 'points'
     
    138141        [ProjData,errormsg] = proj_volume(FieldData,ObjectData);
    139142end
    140 % if exist('IndexObj','var')
    141 %     ProjData.IndexObj=IndexObj;%transfer object index
    142 % end
     143
    143144
    144145%-----------------------------------------------------------------
     
    10041005
    10051006%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1006 %group the variables (fields of 'FieldData') in cells of variables with the same dimensions
     1007%% group the variables (fields of 'FieldData') in cells of variables with the same dimensions
    10071008%-----------------------------------------------------------------
    10081009idimvar=0;
     
    10121013    return
    10131014end
    1014 %LOOP ON GROUPS OF VARIABLES SHARING THE SAME DIMENSIONS
     1015
     1016% LOOP ON GROUPS OF VARIABLES SHARING THE SAME DIMENSIONS
    10151017% CellVarIndex=cells of variable index arrays
    10161018ivar_new=0; % index of the current variable in the projected field
     
    10361038    ivar_FF=VarType.errorflag;
    10371039    testX=~isempty(ivar_X) && ~isempty(ivar_Y);
    1038     %DimIndices=FieldData.VarDimIndex{VarIndex(1)};%indices of the dimensions of the first variable (common to all variables in the cell)
    10391040    DimCell=FieldData.VarDimName{VarIndex(1)};
    10401041    if ischar(DimCell)
     
    10421043    end
    10431044
    1044 %case of input fields with unstructured coordinates
     1045%% case of input fields with unstructured coordinates
    10451046    if testX
    10461047        XName=FieldData.ListVarName{ivar_X};
     
    10661067            indcut=find(abs(fieldZ) <= width);
    10671068            for ivar=VarIndex
    1068                  VarName=FieldData.ListVarName{ivar};
    1069 %                 eval(['size(FieldData.' VarName ')'])
    1070                 eval(['FieldData.' VarName '=FieldData.' VarName '(indcut);'])
    1071 %                 end     
     1069                VarName=FieldData.ListVarName{ivar};
     1070                eval(['FieldData.' VarName '=FieldData.' VarName '(indcut);']) 
    10721071                    % A VOIR : CAS DE VAR STRUCTUREE MAIS PAS GRILLE REGULIERE : INTERPOLER SUR GRILLE REGULIERE             
    10731072            end
     
    12171216            end
    12181217        end
    1219 %case of input fields defined on a structured  grid
     1218       
     1219%% case of input fields defined on a structured  grid
    12201220    else 
    12211221        AYName=FieldData.ListVarName{VarType.coord(1)};%name of input x coordinate (name preserved on projection)
     
    12561256                    DCoord_max=max(DCoord);
    12571257                %    test_direct(idim)=DCoord_max>0;% =1 for increasing values, 0 otherwise
    1258                     if ~isequal(DCoord_max,DCoord_min(idim)>0)
     1258                    if abs(DCoord_max-DCoord_min(idim))>abs(DCoord_max/1000)
    12591259                        msgbox_uvmat('ERROR',['non monotonic dimension variable # ' num2str(idim)  ' in proj_field.m'])
    12601260                                return
     
    13671367                ProjData.ListVarName=[ProjData.ListVarName VarName];
    13681368                ProjData.VarDimName=[ProjData.VarDimName {DimCell}];
    1369                 if length(FieldData.VarAttribute)>=ivar
     1369                if isfield(FieldData,'VarAttribute') && length(FieldData.VarAttribute)>=ivar
    13701370                    ProjData.VarAttribute{length(ProjData.ListVarName)}=FieldData.VarAttribute{ivar};
    13711371                end
    13721372                eval(['ProjData.' VarName '=FieldData.' VarName '(min_ind1:max_ind1,min_ind2:max_ind2) ;']);
    1373             end         
     1373            end 
     1374            eval(['ProjData.' AYName '=FieldData.' AYName ';']) %record the new (projected ) y coordinates
     1375            eval(['ProjData.' AXName '=FieldData.' AXName ';']) %record the new (projected ) x coordinates
    13741376        else       % case with rotation and/or interpolation
    13751377            if isempty(Coord_z) %2D case
     
    14521454        end
    14531455    end
    1454     %projection of  velocity components in the rotated coordinates
     1456   
     1457    %% projection of  velocity components in the rotated coordinates
    14551458    if ~isequal(Phi,0) && length(ivar_U)==1
    14561459        if isempty(ivar_V)
     
    20822085    end
    20832086end
    2084 if isfield(FieldData,'CoordType')
    2085     if isfield(ObjectData,'CoordType')&~isequal(FieldData.CoordType,ObjectData.CoordType)
    2086         errormsg=[ObjectData.Style ' in ' ObjectData.CoordType ' coordinates, while field in ' FieldData.CoordType ' coordinates'];
     2087if isfield(FieldData,'CoordUnit')
     2088    if isfield(ObjectData,'CoordUnit')&~isequal(FieldData.CoordUnit,ObjectData.CoordUnit)
     2089        errormsg=[ObjectData.Style ' in ' ObjectData.CoordUnit ' coordinates, while field in ' FieldData.CoordUnit ];
    20872090        return
    20882091    else
    2089          ProjData.CoordType=FieldData.CoordType;
     2092         ProjData.CoordUnit=FieldData.CoordUnit;
    20902093    end
    20912094end
  • trunk/src/read_civxdata.m

    r156 r158  
    154154    end
    155155end
    156 Field.CoordType='px';% TODO: abandon, use COORdUnit instead ? (to adapt 'px' and 'phys')
     156%Field.CoordType='px';% TODO: abandon, use COORdUnit instead ? (to adapt 'px' and 'phys')
    157157Field.CoordUnit='pixel';
    158158
  • trunk/src/read_set_object.m

    r77 r158  
    2222        value=get(handles.ProjMode,'Value');
    2323        data.ProjMode=menu{value};
    24         menu=get(handles.MenuCoord,'String');
    25         value=get(handles.MenuCoord,'Value');
    26         data.CoordType=menu{value};
     24%       menu=get(handles.CoordUnit,'String');
     25%       value=get(handles.MenuCoord,'Value');
     26        data.CoordUnit=get(handles.CoordUnit,'String');
    2727    testcalib=0;
    2828else %default
     
    3333%Euler angles and projection ranges
    3434if ~testcalib
    35         if isequal(get(handles.Phi,'Visible'),'on')
     35    if isequal(get(handles.Phi,'Visible'),'on')
    3636        data.Phi=str2num(get(handles.Phi,'String'));
    37         end
    38         if isequal(get(handles.Theta,'Visible'),'on')
     37    end
     38    if isequal(get(handles.Theta,'Visible'),'on')
    3939        data.Theta=str2num(get(handles.Theta,'String'));
    40         end
    41         if isequal(get(handles.Psi,'Visible'),'on')
     40    end
     41    if isequal(get(handles.Psi,'Visible'),'on')
    4242        data.Psi=str2num(get(handles.Psi,'String'));
    43     end 
    44         if isequal(get(handles.DX,'Visible'),'on')
     43    end
     44    if isequal(get(handles.DX,'Visible'),'on')
    4545        data.DX=str2num(get(handles.DX,'String'));
    46         end
    47         if isequal(get(handles.DY,'Visible'),'on')
     46    end
     47    if isequal(get(handles.DY,'Visible'),'on')
    4848        data.DY=str2num(get(handles.DY,'String'));
    49         end
    50         if isequal(get(handles.DZ,'Visible'),'on')
     49    end
     50    if isequal(get(handles.DZ,'Visible'),'on')
    5151        data.DZ=str2num(get(handles.DZ,'String'));
    5252    end
     
    5555        ZMin=str2num(get(handles.ZMin,'String'));
    5656        if ~isempty(ZMin)
    57            data.RangeZ(1)=ZMin;
    58            dimrange=[2 3];
     57            data.RangeZ(1)=ZMin;
     58            dimrange=[2 3];
    5959        end
    6060    end
    61         if isequal(get(handles.ZMax,'Visible'),'on')
    62         ZMax=str2num(get(handles.ZMax,'String'));
    63         if isempty(ZMax)
     61    if isequal(get(handles.ZMax,'Visible'),'on')
     62        ZMax=str2double(get(handles.ZMax,'String'));
     63        if isnan(ZMax)
    6464            if dimrange(1)>1
    65 %                 set(handles.ZMax,'String',get(handles.ZMin,'String'))
    6665                data.RangeZ(1)=ZMax;
    6766            end
    68         else 
    69            data.RangeZ(2)=ZMax;
    70            dimrange=[dimrange(1) 3];
     67        else
     68            data.RangeZ(2)=ZMax;
     69            dimrange=[dimrange(1) 3];
    7170        end
    7271    end
    7372    if isequal(get(handles.YMin,'Visible'),'on')
    74         YMin=str2num(get(handles.YMin,'String'));
    75         if isempty(YMin)
    76 %             if dimrange(2)>2
    77 % %                 set(handles.YMin,'String','0')
    78 %                 data.RangeY(2)=0;
    79 %             end
    80         else
     73        YMin=str2double(get(handles.YMin,'String'));
     74        if ~isnan(YMin)
    8175            data.RangeY(2)=YMin;
    8276            dimrange=[2 max(dimrange(2),2)];
     
    8478    end
    8579    if isequal(get(handles.YMax,'Visible'),'on')
    86 %         data.YMax=str2num(get(handles.YMax,'String'));
    87         YMax=str2num(get(handles.YMax,'String'));
    88         if isempty(YMax)
    89 %             if dimrange(1)>1
    90 % %                 set(handles.YMax,'String',get(handles.YMin,'String'))
    91 %                 if ~isempty(YMin)
    92 %                 data.RangeY(1)=YMin;
    93 %                 end
    94 %             elseif dimrange(2)>2
    95 % %                 set(handles.YMax,'String',get(handles.ZMin,'String'))
    96 %                 data.RangeY(2)=ZMin;
    97 %             end
    98         else
     80        YMax=str2double(get(handles.YMax,'String'));
     81        if ~isnan(YMax)
    9982            data.RangeY(1)=YMax;
    10083            dimrange=[dimrange(1) max(dimrange(2),2)];
     
    10285    end
    10386    if isequal(get(handles.XMin,'Visible'),'on')
    104         XMin=str2num(get(handles.XMin,'String'));
    105         if isempty(XMin)
    106 %             if ~isempty(YMin)
    107 %                 if dimrange(2)>1
    108 % %                     set(handles.XMin,'String',get(handles.YMin,'String'))
    109 %                     data.RangeX(2)=YMin;
    110 %                     XMin=YMin;
    111 %                 end
    112 %             end
    113         else
     87        XMin=str2double(get(handles.XMin,'String'));
     88        if ~isnan(XMin)
    11489            data.RangeX(2)=XMin;
    115             %dimrange=[2 max(dimrange(2),1)];
    11690        end
    117         end
    118         if isequal(get(handles.XMax,'Visible'),'on')
    119          XMax=str2num(get(handles.XMax,'String'));
    120          if isempty(XMax)
    121 %             if dimrange(1)>1
    122 % %                 set(handles.XMax,'String',get(handles.XMin,'String'))
    123 %                 if ~isempty(XMin)
    124 %                 data.RangeX(2)=XMin;
    125 %                 end
    126 %             elseif dimrange(2)>1
    127 % %                 set(handles.XMax,'String',get(handles.YMax,'String'))
    128 %                 data.RangeX(1)=YMax;
    129 %             end
    130         else
     91    end
     92    if isequal(get(handles.XMax,'Visible'),'on')
     93        XMax=str2double(get(handles.XMax,'String'));
     94        if ~isnan(XMax)
    13195            data.RangeX(1)=XMax;
    132          end
     96        end
    13397    end
    13498end
  • trunk/src/series.m

    r156 r158  
    20922092        transform_menu=get(handles.transform_fct,'String');
    20932093        ichoice=get(handles.transform_fct,'Value');
    2094         if isequal(transform_menu{ichoice},'px');
    2095             data.CoordType='px';
    2096         else
    2097             data.CoordType='phys';
    2098         end
     2094%         if isequal(transform_menu{ichoice},'px');
     2095%             data.CoordType='px';
     2096%         else
     2097%             data.CoordType='phys';
     2098%         end
    20992099        data.desable_plot=1;
    21002100        [SeriesData.hset_object,SeriesData.sethandles]=set_object(data);% call the set_object interface
  • trunk/src/series/aver_stat.m

    r128 r158  
    342342                    Data{iview}.AX=[0.5 npx-0.5];
    343343                    Data{iview}.A=double(A);
    344                     Data{iview}.CoordType='px';
     344                    Data{iview}.CoordUnit='pixel';
    345345                elseif testcivx
    346346                    [Data{iview},VelTypeOut]=read_civxdata(filename,FieldName,VelType);
  • trunk/src/series/merge_proj.m

    r128 r158  
    278278                Field{iview}.AX=[0.5 npxy(2)-0.5]; % coordinates of the first and last pixel centers
    279279                Field{iview}.AY=[npxy(1)-0.5 0.5];
    280                 Field{iview}.CoordType='px';
     280                Field{iview}.CoordUnit='pixel';
    281281                Field{iview}.AName='image';
    282282                timeread(iview)=0;
  • trunk/src/series/time_series.m

    r128 r158  
    349349                    Data{iview}.AX=[0.5 npx-0.5];
    350350                    Data{iview}.A=double(A);
    351                     Data{iview}.CoordType='px';
     351                    Data{iview}.CoordUnit='pixel';
    352352                elseif testcivx
    353353                    [Data{iview},VelTypeOut]=read_civxdata(filename,FieldName,VelType);
  • trunk/src/set_object.m

    r156 r158  
    8484end
    8585set(hObject,'KeyPressFcn',{'keyboard_callback',handles})%set keyboard action function (allow action on uvmat when set_object is in front)
    86 set(handles.MenuCoord,'ListboxTop',1)
     86%set(handles.MenuCoord,'ListboxTop',1)
    8787% if ~exist('PlotHandles','var')
    8888%      PlotHandles=[];
     
    241241        set(handles.DZ,'String',data.DZ)
    242242    end
    243     if isfield(data,'CoordType')&& isequal(data.CoordType,'px')
    244 %         if isequal(data.CoordType,'phys')
    245 %             set(handles.MenuCoord,'Value',1)
    246 %         elseif isequal(data.CoordType,'px')
    247              set(handles.MenuCoord,'Value',2)
    248 %         end
    249     end
     243    if isfield(data,'CoordUnit')
     244        set(handles.CoordUnit,'String',data.CoordUnit)
     245    end
     246%     if isfield(data,'CoordType')&& isequal(data.CoordType,'px')
     247% %         if isequal(data.CoordType,'phys')
     248% %             set(handles.MenuCoord,'Value',1)
     249% %         elseif isequal(data.CoordType,'px')
     250%              set(handles.MenuCoord,'Value',2)
     251% %         end
     252%     end
    250253end
    251254if enable_plot
     
    582585
    583586ProjMode_Callback(hObject, eventdata, handles);%visualize the appropriate edit boxes
    584 if isfield(s,'CoordType')
    585     if isequal(s.CoordType,'phys')
    586         set(handles.MenuCoord,'Value',1)
    587     elseif isequal(s.CoordType,'px')
    588         set(handles.MenuCoord,'Value',2)
    589     else
    590         warndlg('unknown CoordType (px or phys) in set_object.m')
    591     end
    592 end
     587% if isfield(s,'CoordType')
     588%     if isequal(s.CoordType,'phys')
     589%         set(handles.MenuCoord,'Value',1)
     590%     elseif isequal(s.CoordType,'px')
     591%         set(handles.MenuCoord,'Value',2)
     592%     else
     593%         warndlg('unknown CoordType (px or phys) in set_object.m')
     594%     end
     595% end
    593596if isfield(s,'XMax')
    594597    set(handles.XMax,'String',s.XMax)
     
    873876ObjectName=get(handles.TITLE,'String');
    874877if ~isempty(ObjectName)&&~strcmp(ObjectName,'')
    875     def={fullfile(dir_save,[ObjectName Object.CoordType '.xml'])};
     878    def={fullfile(dir_save,[ObjectName '.xml'])};
    876879else
    877     def={fullfile(dir_save,[Object.Style Object.CoordType '.xml'])};
     880    def={fullfile(dir_save,[Object.Style '.xml'])};
    878881end
    879882options.Resize='on';
  • trunk/src/transform_field/phys.m

    r157 r158  
    9999
    100100DataOut=Data;%default
    101 DataOut.CoordType='phys'; %put flag for physical coordinates
     101DataOut.CoordUnit=Calib.CoordUnit; %put flag for physical coordinates
    102102if isfield(Calib,'SliceCoord')
    103103    DataOut.PlaneCoord=Calib.SliceCoord;%to generalise for any plane
    104104end
    105105% The transform ACTS ONLY IF .CoordType='px'and Calib defined
    106 if isfield(Data,'CoordType')&& isequal(Data.CoordType,'px')&& ~isempty(Calib)
     106if isfield(Data,'CoordUnit')%&& isequal(Data.CoordType,'px')&& ~isempty(Calib)
    107107    if isfield(Calib,'CoordUnit')
    108108        DataOut.CoordUnit=Calib.CoordUnit;
  • trunk/src/uvmat.m

    r155 r158  
    15281528            end
    15291529        end
    1530 %         if mdetect==0
    1531 %             msgbox_uvmat('ERROR','no mask file detected (format ..._xxmask_ii.png needed), use the menu bar Tools/Make mask')
    1532 %             set(handles.mask_test,'Value',0)
    1533 %             return
    1534 %         end
    15351530    end
    15361531    errormsg=[];%default
     
    16101605        Mask.AX=[0.5 npxy(2)-0.5];
    16111606        Mask.AY=[npxy(1)-0.5 0.5 ];
    1612         Mask.CoordType='px';
     1607        Mask.CoordUnit='pixel';
    16131608        if isequal(get(handles.slices,'Value'),1)
    16141609           NbSlice=str2num(get(handles.nb_slice,'String'));
     
    19441939    Field_b.ZIndex=mod(num_i2-1,nbslice)+1;
    19451940end
    1946 Field_b.CoordType='px';
     1941Field_b.CoordUnit='pixel';
    19471942%determine the input file type
    19481943if (test_1 && isfield(UvData,'MovieObject_1'))||(~test_1 && isfield(UvData,'MovieObject'))
     
    22432238    Field{1}.AX=Rangx;
    22442239    Field{1}.A=A;
    2245     Field{1}.CoordType='px'; %used for mouse_motion
     2240   % Field{1}.CoordType='px'; %used for mouse_motion
    22462241    Field{1}.CoordUnit='pixel'; %used for mouse_motion
    22472242end
     
    24902485UvData.ZMax=0;
    24912486UvData.ZMin=0;%default
    2492 UvData.Mesh=1; %default
     2487%UvData.Mesh=1; %default
    24932488[UvData.Field,errormsg]=check_field_structure(UvData.Field);
    24942489if ~isempty(errormsg)
     
    25422537    end   
    25432538    if test_z
    2544          UvData.Mesh=((UvData.XMax-UvData.XMin)*(UvData.YMax-UvData.YMin)*(UvData.ZMax-UvData.ZMin))/nbvec;% volume per vector
    2545          UvData.Mesh=(UvData.Mesh)^(1/3);
     2539         Field.Mesh=((UvData.XMax-UvData.XMin)*(UvData.YMax-UvData.YMin)*(UvData.ZMax-UvData.ZMin))/nbvec;% volume per vector
     2540         Field.Mesh=(Field.Mesh)^(1/3);
    25462541    else
    2547         UvData.Mesh=sqrt((UvData.XMax-UvData.XMin)*(UvData.YMax-UvData.YMin)/nbvec);%2D
     2542        Field.Mesh=sqrt((UvData.XMax-UvData.XMin)*(UvData.YMax-UvData.YMin)/nbvec);%2D
    25482543    end
    25492544end
    25502545
    25512546%case of structured coordinates
     2547'TESTfield'
     2548UvData.Field
    25522549if isfield(UvData.Field,'AX') && isfield(UvData.Field,'AY')&& isfield(UvData.Field,'A')
    25532550    UvData.XMax=max(UvData.Field.AX);
     
    25562553    UvData.YMin=min(UvData.Field.AY);
    25572554    np_A=size(UvData.Field.A);
    2558     UvData.Mesh=sqrt((UvData.XMax-UvData.XMin)*(UvData.YMax-UvData.YMin)/((np_A(1)-1) * (np_A(2)-1))) ;
     2555    Field.Mesh=sqrt((UvData.XMax-UvData.XMin)*(UvData.YMax-UvData.YMin)/((np_A(1)-1) * (np_A(2)-1))) ;
    25592556end
    25602557if  isempty(coord_x) && ~isempty(CellVarIndex)
     
    25822579            end
    25832580        end
    2584         UvData.Mesh=(UvData.ZMax-UvData.ZMin)/(nbpoints-1);
     2581        Field.Mesh=(UvData.ZMax-UvData.ZMin)/(nbpoints-1);
    25852582    elseif NbDim==2
    25862583        nbpoints_y=UvData.Field.DimValue(DimIndex(1));       
     
    26122609        end
    26132610        DX=(UvData.XMax-UvData.XMin)/(nbpoints_x-1);
    2614         UvData.Mesh= sqrt(DX*DY);
     2611        Field.Mesh= sqrt(DX*DY);
    26152612    end
    26162613end
     
    26282625if NbDim==3 && UvData.NewSeries
    26292626    UvData.Object{1}.NbDim=UvData.NbDim;%test for 3D objects
    2630     UvData.Object{1}.RangeZ=UvData.Mesh;%main plotting plane
     2627    UvData.Object{1}.RangeZ=Field.Mesh;%main plotting plane
    26312628    UvData.Object{1}.Coord(1,3)=(UvData.ZMin+UvData.ZMax)/2;%section at a middle plane chosen
    26322629    UvData.Object{1}.Phi=0;
     
    27542751            [PlotType,PlotParamOut]=plot_field(ObjectData,haxes(imap),PlotParam{imap},keeplim(imap),PosColorbar{imap});
    27552752            write_plot_param(plot_handles{imap},PlotParamOut) %update the auto plot parameters
    2756             if isfield(UvData,'Mesh')&&~isempty(UvData.Mesh)
    2757                 ObjectData.Mesh=UvData.Mesh; % gives an estimated mesh size (useful for mouse action on the plot)
     2753            if isfield(Field,'Mesh')&&~isempty(Field.Mesh)
     2754                ObjectData.Mesh=Field.Mesh; % gives an estimated mesh size (useful for mouse action on the plot)
    27582755            end
    27592756            if imap==1           
     
    50635060transform_list=get(handles.transform_fct,'String');
    50645061val=get(handles.transform_fct,'Value');
    5065 data.CoordType=transform_list{val};
    5066 % if isfield(UvData,'CoordType')
    5067 %     data.CoordType=UvData.CoordType;
    5068 % end
    5069 if isfield(UvData,'Mesh')&&~isempty(UvData.Mesh)
    5070     data.RangeX=UvData.Mesh;
    5071     data.RangeY=UvData.Mesh;
    5072     data.DX=UvData.Mesh;
    5073     data.DY=UvData.Mesh;
    5074 elseif isfield(UvData.Field,'AX')&& isfield(UvData.Field,'AY')&& isfield(UvData.Field,'A')%only image
    5075     np=size(UvData.Field.A);
    5076     meshx=(UvData.Field.AX(end)-UvData.Field.AX(1))/np(2);
    5077     meshy=abs(UvData.Field.AY(end)-UvData.Field.AY(1))/np(1);
    5078     data.RangeY=max(meshx,meshy);
    5079     data.RangeX=max(meshx,meshy);
    5080     data.DX=max(meshx,meshy);
    5081 end
    5082 if isfield(UvData,'NbDim')
    5083     data.NbDim=UvData.NbDim;
     5062%data.CoordType=transform_list{val};
     5063if isfield(UvData,'Field')
     5064    Field=UvData.Field;
     5065    if isfield(Field,'Mesh')&&~isempty(Field.Mesh)
     5066        data.RangeX=Field.Mesh;
     5067        data.RangeY=Field.Mesh;
     5068        data.DX=Field.Mesh;
     5069        data.DY=Field.Mesh;
     5070    elseif isfield(Field,'AX')&& isfield(Field,'AY')&& isfield(Field,'A')%only image
     5071        np=size(Field.A);
     5072        meshx=(Field.AX(end)-Field.AX(1))/np(2);
     5073        meshy=abs(Field.AY(end)-Field.AY(1))/np(1);
     5074        data.RangeY=max(meshx,meshy);
     5075        data.RangeX=max(meshx,meshy);
     5076        data.DX=max(meshx,meshy);
     5077    end
     5078    if isfield(Field,'NbDim')
     5079        data.NbDim=Field.NbDim;
     5080    end
     5081    if isfield(Field,'CoordUnit')
     5082        data.CoordUnit=Field.CoordUnit;
     5083    end
    50845084end
    50855085data.Coord=[0 0 0]; %default
     
    50915091    end
    50925092end
    5093 %data.ParentButton=handles.create;
    50945093if ishandle(handles.UVMAT_title)
    50955094    delete(handles.UVMAT_title)%delete the initial display of uvmat if no field has been entered
     
    50985097set_object(data,PlotHandles);% call the set_object interface
    50995098set(handles.MenuObject,'checked','on')
    5100 %UvData.MouseAction='create_object';
    51015099set(handles.uvmat,'UserData',UvData)
    51025100set(handles.zoom,'Value',0)
  • trunk/src/view_field.m

    r156 r158  
    145145        Mask.AX=[0.5 npxy(2)-0.5];
    146146        Mask.AY=[npxy(1)-0.5 0.5 ];
    147         Mask.CoordType='px';
     147        Mask.CoordUnit='pixel';
    148148        if isequal(get(handles.slices,'Value'),1)
    149149           NbSlice=str2num(get(handles.nb_slice,'String'));
Note: See TracChangeset for help on using the changeset viewer.