Changeset 415 for trunk/src/civ.m


Ignore:
Timestamp:
May 9, 2012, 2:20:26 AM (12 years ago)
Author:
sommeria
Message:

bugs corrected: problems with Dt in read_civxdata and uvmat.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/civ.m

    r414 r415  
    2323%TODO: search range
    2424
    25 % Last Modified by GUIDE v2.5 10-Mar-2012 22:32:10
     25% Last Modified by GUIDE v2.5 08-May-2012 22:14:39
    2626% Begin initialization code - DO NOT EDIT
    2727gui_Singleton = 1;
     
    496496                TimeUnit=XmlData.TimeUnit;
    497497            end
    498             pxcmx_search=1;
    499             pxcmy_search=1;
     498            pxcm_search=1;
    500499            if isfield(XmlData,'GeometryCalib')
    501500                tsai=XmlData.GeometryCalib;
    502                 if isfield(tsai,'f') && isfield(tsai,'Tz') && isfield(tsai,'dpx') && isfield(tsai,'dpy')&& isfield(tsai,'R')
    503                     rot2D=tsai.R(1:2,[1,2]);
    504                     pxcmx_search=tsai.f * sqrt(det(rot2D))/(tsai.Tz*tsai.dpx);
    505                     pxcmy_search=tsai.f * sqrt(det(rot2D))/(tsai.Tz*tsai.dpy);
     501                if isfield(tsai,'fx_fy') 
     502                    pxcm_search=max(tsai.fx_fy(1),tsai.fx_fy(2));%pixels:cm estimated for the search range
    506503                end
    507504                if isfield(tsai,'CoordUnit')
     
    569566set(handles.nb_field2,'String',num2str(MaxIndex_j));
    570567set(handles.CoordUnit,'String',CoordUnit)
    571 set(handles.SearchRange,'UserData',[pxcmx_search pxcmy_search]);
     568set(handles.SearchRange,'UserData', pxcm_search);
    572569set(handles.ImaExt,'String',ImaExt)
    573570set(handles.NomType,'String',NomTypeIma)
     
    31973194set(gcf,'Pointer','arrow')
    31983195
    3199 %-------------------------------------------------------------------
    3200 % ---
    3201 function closeview_field(gcbo,eventdata)
    3202 hview_field=findobj(allchild(0),'tag','view_field');% look for view_field   
    3203     if ~isempty(hview_field)
    3204         delete(hview_field)
    3205     end
     3196
    32063197   
    3207    
    3208 %------------------------------------------------------------------------   
    3209 % call 'view_field.fig' to display the  field selected in the list of 'status'
    3210 function open_view_field(hObject, eventdata)
    3211 %------------------------------------------------------------------------
    3212 list=get(hObject,'String');
    3213 index=get(hObject,'Value');
    3214 rootroot=get(hObject,'UserData');
    3215 filename=list{index};
    3216 ind_dot=strfind(filename,'...');
    3217 filename=filename(1:ind_dot-1);
    3218 filename=fullfile(rootroot,filename);
    3219 delete(get(hObject,'parent'))%delete the display figure to stop the check process
    3220 if exist(filename,'file')%visualise the vel field if it exists
    3221     uvmat(filename)
    3222     set(gcbo,'Value',1)
    3223 end
     3198% %------------------------------------------------------------------------   
     3199% % call 'view_field.fig' to display the  field selected in the list of 'status'
     3200% function open_view_field(hObject, eventdata)
     3201% %------------------------------------------------------------------------
     3202% list=get(hObject,'String');
     3203% index=get(hObject,'Value');
     3204% rootroot=get(hObject,'UserData');
     3205% filename=list{index};
     3206% ind_dot=strfind(filename,'...');
     3207% filename=filename(1:ind_dot-1);
     3208% filename=fullfile(rootroot,filename);
     3209% delete(get(hObject,'parent'))%delete the display figure to stop the check process
     3210% if exist(filename,'file')%visualise the vel field if it exists
     3211%     uvmat(filename)
     3212%     set(gcbo,'Value',1)
     3213% end
    32243214
    32253215%------------------------------------------------------------------------   
     
    32643254%------------------------------------------------------------------------
    32653255%determine pair numbers
    3266 if strcmp(get(handles.umin,'Visible'),'off')
     3256if strcmp(get(handles.num_UMin,'Visible'),'off')
    32673257    set(handles.u_title,'Visible','on')
    32683258    set(handles.v_title,'Visible','on')
    3269     set(handles.umin,'Visible','on')
    3270     set(handles.umax,'Visible','on')
    3271     set(handles.vmin,'Visible','on')
    3272     set(handles.vmax,'Visible','on')
     3259    set(handles.num_UMin,'Visible','on')
     3260    set(handles.num_UMax,'Visible','on')
     3261    set(handles.num_VMin,'Visible','on')
     3262    set(handles.num_VMax,'Visible','on')
    32733263    set(handles.CoordUnit,'Visible','on')
    32743264    set(handles.TimeUnit,'Visible','on')
     
    32843274% ---  determine the search range num_Searchx,num_Searchy and shift
    32853275function get_search_range(hObject, eventdata, handles)
    3286 umin=str2double(get(handles.umin,'String'));
    3287 umax=str2double(get(handles.umax,'String'));
    3288 vmin=str2double(get(handles.umin,'String'));
    3289 vmax=str2double(get(handles.vmax,'String'));
     3276%------------------------------------------------------------------------
     3277param_civ1=read_GUI(handles.Civ1);
     3278umin=param_civ1.UMin;
     3279umax=param_civ1.UMax;
     3280vmin=param_civ1.VMin;
     3281vmax=param_civ1.VMax;
    32903282%switch min_title and max_title in case of error
    32913283if umax<=umin
     
    32933285    umin=umax;
    32943286    umax=umin_old;
    3295     set(handles.umin,'String', num2str(umin))
    3296     set(handles.umax,'String', num2str(umax))
     3287    set(handles.num_UMin,'String', num2str(umin))
     3288    set(handles.num_UMax,'String', num2str(umax))
    32973289end
    32983290if vmax<=vmin
     
    33003292    vmin=vmax;
    33013293    vmax=vmin_old;
    3302     set(handles.vmin,'String', num2str(vmin))
    3303     set(handles.vmax,'String', num2str(vmax))
     3294    set(handles.num_VMin,'String', num2str(vmin))
     3295    set(handles.num_VMax,'String', num2str(vmax))
    33043296end   
    3305 if ~(isnan(umin)||isnan(umax)||isnan(vmin)||isnan(vmax))
     3297if ~(isempty(umin)||isempty(umax)||isempty(vmin)||isempty(vmax))
    33063298    list_pair=get(handles.ListPairCiv1,'String');%get the menu of image pairs
    33073299    index=get(handles.ListPairCiv1,'Value');
    3308     displ_num=get(handles.ListPairCiv1,'UserData');
     3300    pair_string=list_pair{index};
    33093301    time=get(handles.ImaDoc,'UserData'); %get the set of times
    3310     pxcm_xy=get(handles.SearchRange,'UserData');
    3311     pxcmx=pxcm_xy(1);
    3312     pxcmy=pxcm_xy(2);
     3302    pxcm=get(handles.SearchRange,'UserData');
    33133303    mode_list=get(handles.ListPairMode,'String');
    33143304    mode_value=get(handles.ListPairMode,'Value');
    3315     mode=mode_list{mode_value};
     3305    mode=mode_list{mode_value};     
    33163306    if isequal (mode, 'series(Di)' )
    33173307        ref_i=str2double(get(handles.ref_i,'String'));
     
    33263316        num_a=ref_j-floor(index/2);%  first image numbers
    33273317        num_b=ref_j+ceil(index/2);
    3328     elseif isequal(mode,'pair j1-j2') %case of bursts (png_old or png_2D)
     3318    elseif isequal(mode,'pair j1-j2') %case of bursts (png_old or png_2D)     
    33293319        ref_i=str2double(get(handles.ref_i,'String'));
    33303320        num1=ref_i;
    33313321        num2=ref_i;
    3332         num_a=displ_num(1,index);
    3333         num_b=displ_num(2,index);
    3334     end
    3335     dt=time(num2,num_b)-time(num1,num_a);
     3322                r=regexp(pair_string,'(?<mode>(Di=)|(Dj=)) -*(?<num1>\d+)\|(?<num2>\d+)','names');
     3323        if isempty(r)
     3324            r=regexp(pair_string,'(?<num1>\d+)(?<mode>-)(?<num2>\d+)','names');
     3325        end 
     3326        num_a=str2num(r.num1);
     3327        num_b=str2num(r.num2);
     3328    end
     3329    dt=time(num2+1,num_b+1)-time(num1+1,num_a+1);
    33363330    ibx=str2double(get(handles.num_Bx,'String'));
    33373331    iby=str2double(get(handles.num_By,'String'));
    3338     umin=dt*pxcmx*umin;
    3339     umax=dt*pxcmx*umax;
    3340     vmin=dt*pxcmy*vmin;
    3341     vmax=dt*pxcmy*vmax;
     3332    umin=dt*pxcm*umin;
     3333    umax=dt*pxcm*umax;
     3334    vmin=dt*pxcm*vmin;
     3335    vmax=dt*pxcm*vmax;
    33423336    shiftx=round((umin+umax)/2);
    33433337    shifty=round((vmin+vmax)/2);
    3344     isx=(umax+2-shiftx)*2+ibx;
     3338    isx=(umax+2-shiftx)*2+param_civ1.Bx;
    33453339    isx=2*ceil(isx/2)+1;
    3346     isy=(vmax+2-shifty)*2+iby;
     3340    isy=(vmax+2-shifty)*2+param_civ1.Bx;
    33473341    isy=2*ceil(isy/2)+1;
    33483342    set(handles.num_Shiftx,'String',num2str(shiftx));
     
    40023996end
    40033997
     3998%------------------------------------------------------------------------
     3999%----function introduced for the correlation window figure, activated by deleting this window
     4000function closeview_field(gcbo,eventdata)
     4001%------------------------------------------------------------------------
     4002hview_field=findobj(allchild(0),'tag','view_field');% look for view_field
     4003if ~isempty(hview_field)
     4004    delete(hview_field)
     4005end
    40044006
    40054007%------------------------------------------------------------------------
     
    44614463        set(handles.num_Rho,'String','1')
    44624464        set(handles.BATCH,'Enable','on')
     4465        set(handles.CheckThreshold,'Visible','off')
     4466        set(handles.CheckDeformation,'Value',1)
     4467        set(handles.CheckDecimal,'Value',1)
    44634468    case 'Matlab'
    44644469        set(handles.num_MaxDiff,'Visible','on')
     
    44714476        set(handles.num_Rho,'Value',1)
    44724477        set(handles.num_Rho,'String',{'1';'2'})
     4478        set(handles.CheckThreshold,'Visible','on')
     4479        set(handles.CheckDeformation,'Value',0)% desactivate (work in progress)
     4480        set(handles.CheckDecimal,'Value',0)% desactivate (work in progress)
    44734481end
    44744482
Note: See TracChangeset for help on using the changeset viewer.