Changeset 1141 for trunk/src/series/civ_input.m
- Timestamp:
- May 3, 2024, 6:16:47 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/series/civ_input.m
r1139 r1141 319 319 320 320 %% set the menu and default choice of civ pairs 321 if ~isfield(Param.IndexRange,'first_j')||isequal(MaxIndex_j,MinIndex_j)% no possibility of j pairs321 if isequal(MaxIndex_j,MinIndex_j)% no possibility of j pairs 322 322 PairMenu={'series(Di)'}; 323 elseif MaxIndex_i==1 && MaxIndex_j>1% simple series in j 323 elseif MaxIndex_j-MinIndex_j==1 324 PairMenu={'pair j1-j2'}; 325 elseif MaxIndex_i==MinIndex_i && MaxIndex_j-MinIndex_j>2% simple series in j 324 326 PairMenu={'pair j1-j2';'series(Dj)'}; 325 327 else … … 1795 1797 % -------------------------------------------------------------------- 1796 1798 function TestPatch1_Callback(hObject, eventdata, handles) 1797 1798 if get(handles.TestPatch1,'Value')% if TestPatch1 is activated 1799 hseries=findobj(allchild(0),'Tag','series'); 1800 Param=read_GUI(hseries); 1801 CivDir=fullfile(Param.OutputPath,Param.Experiment,Param.Device,[Param.OutputSubDir Param.OutputDirExt]); 1802 % ListXml=dir(CivXmlDir); 1803 if exist(CivDir,'dir') 1804 CivFile=uigetfile_uvmat('pick .nc file with civ1-fix1 data',CivDir,'.nc'); 1805 [Field,VelTypeOut,errormsg]=read_civdata(CivFile) 1806 for ilist=1:numel(Field.ListGlobalAttribute) 1807 r=regexp(Field.ListGlobalAttribute{ilist},'Civ1_(?<field>.+)','names');% \D = not a digit, \d =digi 1808 if ~isempty(r) 1809 ParamTest.Civ1.(r.field)=(Field.(['Civ1_' r.field])); 1810 end 1811 r=regexp(Field.ListGlobalAttribute{ilist},'Fix1_(?<field>.+)','names');% \D = not a digit, \d =digi 1812 if ~isempty(r) 1813 ParamTest.Fix1.(r.field)=(Field.(['Fix1_' r.field])); 1814 end 1815 end 1816 fill_GUI(ParamTest,handles.civ_input)% fill the elements of the GUI series with the input parameters 1817 drawnow 1818 update_CivOptions(handles,0) 1819 1820 set(handles.TestPatch1,'BackgroundColor',[1 1 0])%paint TestPatch1 button in yellow to indicate activation 1821 % set(handles.Civ1,'BackgroundColor',[1 1 0])% indicate civ1 calculation is performed 1822 Param.Action.RUN=1; 1823 Param.ActionInput=read_GUI(handles.civ_input); 1824 Param.ActionInput.CheckCiv1=0;% do not repeat Civ1 computation 1825 if isfield(Param.ActionInput,'Civ2')%remove options that may be selected beyond Patch1 1826 Param.ActionInput=rmfield(Param.ActionInput,'Civ2'); 1827 end 1828 if isfield(Param.ActionInput,'Fix2') 1829 Param.ActionInput=rmfield(Param.ActionInput,'Fix2'); 1830 end 1831 if isfield(Param.ActionInput,'Patch2') 1832 Param.ActionInput=rmfield(Param.ActionInput,'Patch2'); 1833 end 1834 if isfield(Param,'OutputSubDir') 1835 Param=rmfield(Param,'OutputSubDir'); %remove output file option from civ_series 1836 end 1837 ParamPatch1=Param.ActionInput.Patch1; %store the patch1 parameters 1838 Param.ActionInput=rmfield(Param.ActionInput,'Patch1');% does not execute Patch 1839 Param.IndexRange.first_i=str2num(get(handles.ref_i,'String')); 1840 Param.IndexRange.last_i=Param.IndexRange.first_i; 1841 if strcmp(get(handles.ref_j,'Visible'),'on') 1842 Param.IndexRange.first_j=str2num(get(handles.ref_j,'String')); 1843 Param.IndexRange.last_j=Param.IndexRange.first_j; 1844 else 1845 Param.IndexRange.first_j=1; 1846 Param.IndexRange.last_j=1; 1847 end 1848 [Data,errormsg]=civ_series(Param);% get the civ1+fix1 results 1849 bckcolor=get(handles.civ_input,'Color'); 1850 set(handles.Civ1,'BackgroundColor',bckcolor)% indicate civ1 calculation is finished 1851 1852 %% prepare Param for iterative Patch processing without input file reading 1853 Param.Civ1_X=Data.Civ1_X; 1854 Param.Civ1_Y=Data.Civ1_Y; 1855 Param.Civ1_U=Data.Civ1_U; 1856 Param.Civ1_V=Data.Civ1_V; 1857 Param.Civ1_FF=Data.Civ1_FF; 1858 Param=rmfield(Param,'InputTable');%desactivate input file reading 1859 if isfield(Param.ActionInput,'Civ1') 1860 Param.ActionInput=rmfield(Param.ActionInput,'Civ1');%desactivate civ1: remove civ1 input param if relevant 1861 end 1862 if isfield(Param.ActionInput,'Fix1') 1863 Param.ActionInput=rmfield(Param.ActionInput,'Fix1');%desactivate fix1:remove fix1 input param if relevant 1864 end 1865 SmoothingParam=(ParamPatch1.FieldSmooth/10)*2.^(1:7);%scan the smoothing param from 1/10 to 12.8 current value 1866 NbGood=numel(find(Data.Civ1_FF==0)); 1867 NbExclude=zeros(1,7);% initialize the set of smoothing parameters 1868 DiffVel=zeros(1,7);% initialize the rms difference between patch and civ 1869 Param.ActionInput.Patch1=ParamPatch1;% retrieve Patch1 parameters 1870 for irho=1:7 1871 Param.ActionInput.Patch1.FieldSmooth=SmoothingParam(irho); 1872 [Data,errormsg]= civ_series(Param);%apply the processing fct 1873 if ~isempty(errormsg) 1874 msgbox_uvmat('ERROR',errormsg) 1875 return 1876 end 1877 ind_good=find(Data.Civ1_FF==0); 1878 Civ1_U_Diff=Data.Civ1_U(ind_good)-Data.Civ1_U_smooth(ind_good); 1879 Civ1_V_Diff=Data.Civ1_V(ind_good)-Data.Civ1_V_smooth(ind_good); 1880 DiffVel(irho)=sqrt(mean(Civ1_U_Diff.*Civ1_U_Diff+Civ1_V_Diff.*Civ1_V_Diff)); 1881 NbExclude(irho)=(NbGood-numel(ind_good))/NbGood; 1882 end 1883 figure(1) 1884 semilogx(SmoothingParam,DiffVel,'b',SmoothingParam,NbExclude,'r',SmoothingParam,0.2*ones(size(SmoothingParam)),'m') 1885 grid on 1886 legend('rms velocity diff. Patch1-Civ1 (pixels)','proportion of excluded vectors (between 0 to 1)','recommended diff Patch1-Civ1') 1887 xlabel('smoothing parameter') 1888 ylabel('smoothing effect') 1889 set(handles.TestPatch1,'BackgroundColor',[0 1 0]) 1890 else 1891 corrfig=findobj(allchild(0),'tag','corrfig');% look for a current figure for image correlation display 1892 if ~isempty(corrfig) 1893 delete(corrfig) 1894 end 1895 hview_field=findobj(allchild(0),'tag','view_field');% look for view_field 1896 if ~isempty(hview_field) 1897 delete(hview_field) 1898 end 1899 end 1900 else 1901 msgbox_uvmat('ERROR','no output file: first perform a civ1-fix1 computation') 1902 return 1903 end 1799 msgbox_uvmat('WARNING','open the civ file and run "series/test_patch_tps" ') 1800 1801 % if get(handles.TestPatch1,'Value')% if TestPatch1 is activated 1802 % hseries=findobj(allchild(0),'Tag','series'); 1803 % Param=read_GUI(hseries); 1804 % CivDir=fullfile(Param.OutputPath,Param.Experiment,Param.Device,[Param.OutputSubDir Param.OutputDirExt]); 1805 % % ListXml=dir(CivXmlDir); 1806 % if exist(CivDir,'dir') 1807 % CivFile=uigetfile_uvmat('pick .nc file with civ1-fix1 data',CivDir,'.nc'); 1808 % [Field,VelTypeOut,errormsg]=read_civdata(CivFile) 1809 % for ilist=1:numel(Field.ListGlobalAttribute) 1810 % r=regexp(Field.ListGlobalAttribute{ilist},'Civ1_(?<field>.+)','names');% \D = not a digit, \d =digi 1811 % if ~isempty(r) 1812 % ParamTest.Civ1.(r.field)=(Field.(['Civ1_' r.field])); 1813 % end 1814 % r=regexp(Field.ListGlobalAttribute{ilist},'Fix1_(?<field>.+)','names');% \D = not a digit, \d =digi 1815 % if ~isempty(r) 1816 % ParamTest.Fix1.(r.field)=(Field.(['Fix1_' r.field])); 1817 % end 1818 % end 1819 % fill_GUI(ParamTest,handles.civ_input)% fill the elements of the GUI series with the input parameters 1820 % drawnow 1821 % update_CivOptions(handles,0) 1822 % 1823 % set(handles.TestPatch1,'BackgroundColor',[1 1 0])%paint TestPatch1 button in yellow to indicate activation 1824 % % set(handles.Civ1,'BackgroundColor',[1 1 0])% indicate civ1 calculation is performed 1825 % Param.Action.RUN=1; 1826 % Param.ActionInput=read_GUI(handles.civ_input); 1827 % Param.ActionInput.CheckCiv1=0;% do not repeat Civ1 computation 1828 % if isfield(Param.ActionInput,'Civ2')%remove options that may be selected beyond Patch1 1829 % Param.ActionInput=rmfield(Param.ActionInput,'Civ2'); 1830 % end 1831 % if isfield(Param.ActionInput,'Fix2') 1832 % Param.ActionInput=rmfield(Param.ActionInput,'Fix2'); 1833 % end 1834 % if isfield(Param.ActionInput,'Patch2') 1835 % Param.ActionInput=rmfield(Param.ActionInput,'Patch2'); 1836 % end 1837 % if isfield(Param,'OutputSubDir') 1838 % Param=rmfield(Param,'OutputSubDir'); %remove output file option from civ_series 1839 % end 1840 % ParamPatch1=Param.ActionInput.Patch1; %store the patch1 parameters 1841 % Param.ActionInput=rmfield(Param.ActionInput,'Patch1');% does not execute Patch 1842 % Param.IndexRange.first_i=str2num(get(handles.ref_i,'String')); 1843 % Param.IndexRange.last_i=Param.IndexRange.first_i; 1844 % if strcmp(get(handles.ref_j,'Visible'),'on') 1845 % Param.IndexRange.first_j=str2num(get(handles.ref_j,'String')); 1846 % Param.IndexRange.last_j=Param.IndexRange.first_j; 1847 % else 1848 % Param.IndexRange.first_j=1; 1849 % Param.IndexRange.last_j=1; 1850 % end 1851 % [Data,errormsg]=civ_series(Param);% get the civ1+fix1 results 1852 % bckcolor=get(handles.civ_input,'Color'); 1853 % set(handles.Civ1,'BackgroundColor',bckcolor)% indicate civ1 calculation is finished 1854 % 1855 % %% prepare Param for iterative Patch processing without input file reading 1856 % Param.Civ1_X=Data.Civ1_X; 1857 % Param.Civ1_Y=Data.Civ1_Y; 1858 % Param.Civ1_U=Data.Civ1_U; 1859 % Param.Civ1_V=Data.Civ1_V; 1860 % Param.Civ1_FF=Data.Civ1_FF; 1861 % Param=rmfield(Param,'InputTable');%desactivate input file reading 1862 % if isfield(Param.ActionInput,'Civ1') 1863 % Param.ActionInput=rmfield(Param.ActionInput,'Civ1');%desactivate civ1: remove civ1 input param if relevant 1864 % end 1865 % if isfield(Param.ActionInput,'Fix1') 1866 % Param.ActionInput=rmfield(Param.ActionInput,'Fix1');%desactivate fix1:remove fix1 input param if relevant 1867 % end 1868 % SmoothingParam=(ParamPatch1.FieldSmooth/10)*2.^(1:7);%scan the smoothing param from 1/10 to 12.8 current value 1869 % NbGood=numel(find(Data.Civ1_FF==0)); 1870 % NbExclude=zeros(1,7);% initialize the set of smoothing parameters 1871 % DiffVel=zeros(1,7);% initialize the rms difference between patch and civ 1872 % Param.ActionInput.Patch1=ParamPatch1;% retrieve Patch1 parameters 1873 % for irho=1:7 1874 % Param.ActionInput.Patch1.FieldSmooth=SmoothingParam(irho); 1875 % [Data,errormsg]= civ_series(Param);%apply the processing fct 1876 % if ~isempty(errormsg) 1877 % msgbox_uvmat('ERROR',errormsg) 1878 % return 1879 % end 1880 % ind_good=find(Data.Civ1_FF==0); 1881 % Civ1_U_Diff=Data.Civ1_U(ind_good)-Data.Civ1_U_smooth(ind_good); 1882 % Civ1_V_Diff=Data.Civ1_V(ind_good)-Data.Civ1_V_smooth(ind_good); 1883 % DiffVel(irho)=sqrt(mean(Civ1_U_Diff.*Civ1_U_Diff+Civ1_V_Diff.*Civ1_V_Diff)); 1884 % NbExclude(irho)=(NbGood-numel(ind_good))/NbGood; 1885 % end 1886 % figure(1) 1887 % semilogx(SmoothingParam,DiffVel,'b',SmoothingParam,NbExclude,'r',SmoothingParam,0.2*ones(size(SmoothingParam)),'m') 1888 % grid on 1889 % legend('rms velocity diff. Patch1-Civ1 (pixels)','proportion of excluded vectors (between 0 to 1)','recommended diff Patch1-Civ1') 1890 % xlabel('smoothing parameter') 1891 % ylabel('smoothing effect') 1892 % set(handles.TestPatch1,'BackgroundColor',[0 1 0]) 1893 % else 1894 % corrfig=findobj(allchild(0),'tag','corrfig');% look for a current figure for image correlation display 1895 % if ~isempty(corrfig) 1896 % delete(corrfig) 1897 % end 1898 % hview_field=findobj(allchild(0),'tag','view_field');% look for view_field 1899 % if ~isempty(hview_field) 1900 % delete(hview_field) 1901 % end 1902 % end 1903 % else 1904 % msgbox_uvmat('ERROR','no output file: first perform a civ1-fix1 computation') 1905 % return 1906 % end 1904 1907 1905 1908 %------------------------------------------------------------------------ … … 2011 2014 function TestPatch2_Callback(hObject, eventdata, handles) 2012 2015 if get(handles.TestPatch2,'Value')% if TestPatch2 is activated 2013 set(handles.TestPatch2,'BackgroundColor',[1 1 0])%paint TestPatch2 button in yellow to indicate activation 2014 set(handles.Civ1,'BackgroundColor',[1 1 0])% indicate civ1 calculation is activated 2015 set(handles.Fix1,'BackgroundColor',[1 1 0])% indicate fix1 calculation is activated 2016 set(handles.Patch1,'BackgroundColor',[1 1 0])% indicate Patch1 calculation is activated 2017 set(handles.Civ2,'BackgroundColor',[1 1 0])% indicate civ2 calculation is activated 2018 set(handles.Fix2,'BackgroundColor',[1 1 0])% indicate fix2 calculation is activated 2019 hseries=findobj(allchild(0),'Tag','series'); 2020 Param=read_GUI(hseries); 2021 Param.Action.RUN=1; 2022 Param.ActionInput=read_GUI(handles.civ_input); 2023 if isfield(Param,'OutputSubDir') 2024 Param=rmfield(Param,'OutputSubDir'); %remove output file option from civ_series 2025 end 2026 ParamPatch2=Param.ActionInput.Patch2; %store the patch1 parameters 2027 Param.ActionInput=rmfield(Param.ActionInput,'Patch2');% does not execute Patch 2028 Param.IndexRange.first_i=str2num(get(handles.ref_i,'String')); 2029 Param.IndexRange.last_i=Param.IndexRange.first_i; 2030 if strcmp(get(handles.ref_j,'Visible'),'on') 2031 Param.IndexRange.first_j=str2num(get(handles.ref_j,'String')); 2032 Param.IndexRange.last_j=Param.IndexRange.first_j; 2033 else 2034 Param.IndexRange.first_j=1; 2035 Param.IndexRange.last_j=1; 2036 end 2037 [Data,errormsg]=civ_series(Param);% get the civ1+fix1 results 2038 bckcolor=get(handles.civ_input,'Color'); 2039 set(handles.Civ1,'BackgroundColor',bckcolor)% indicate civ1 calculation is finished 2040 set(handles.Fix1,'BackgroundColor',bckcolor)% indicate fix1 calculation is finished 2041 set(handles.Patch1,'BackgroundColor',bckcolor)% indicate Patch1 calculation is finished 2042 set(handles.Civ2,'BackgroundColor',bckcolor)% indicate civ2 calculation is finished 2043 set(handles.Fix2,'BackgroundColor',bckcolor)% indicate fix2 calculation is finished 2044 2045 %% prepare Param for iterative Patch processing without input file reading 2046 Param.Civ2_X=Data.Civ2_X; 2047 Param.Civ2_Y=Data.Civ2_Y; 2048 Param.Civ2_U=Data.Civ2_U; 2049 Param.Civ2_V=Data.Civ2_V; 2050 Param.Civ2_FF=Data.Civ2_FF; 2051 Param=rmfield(Param,'InputTable');%desactivate input file reading 2052 if isfield(Param.ActionInput,'Civ1') 2053 Param.ActionInput=rmfield(Param.ActionInput,'Civ1');%desactivate civ1: remove civ1 input param if relevant 2054 end 2055 if isfield(Param.ActionInput,'Fix1') 2056 Param.ActionInput=rmfield(Param.ActionInput,'Fix1');%desactivate fix1:remove fix1 input param if relevant 2057 end 2058 if isfield(Param.ActionInput,'Patch1') 2059 Param.ActionInput=rmfield(Param.ActionInput,'Patch1');%desactivate fix1:remove fix1 input param if relevant 2060 end 2061 if isfield(Param.ActionInput,'Civ2') 2062 Param.ActionInput=rmfield(Param.ActionInput,'Civ2');%desactivate civ2: remove civ2 input param if relevant 2063 end 2064 if isfield(Param.ActionInput,'Fix2') 2065 Param.ActionInput=rmfield(Param.ActionInput,'Fix2');%desactivate fix1:remove fix1 input param if relevant 2066 end 2067 SmoothingParam=(ParamPatch2.FieldSmooth/10)*2.^(1:7);%scan the smoothing param from 1/10 to 12.8 current value 2068 NbGood=numel(find(Data.Civ2_FF==0)); 2069 NbExclude=zeros(1,7);% initialize the set of smoothing parameters 2070 DiffVel=zeros(1,7);% initialize the rms difference between patch and civ 2071 Param.ActionInput.Patch2=ParamPatch2;% retrieve Patch2 parameters 2072 for irho=1:7 2073 Param.ActionInput.Patch2.FieldSmooth=SmoothingParam(irho); 2074 [Data,errormsg]= civ_series(Param);%apply the processing fct 2075 if ~isempty(errormsg) 2076 msgbox_uvmat('ERROR',errormsg) 2077 return 2078 end 2079 ind_good=find(Data.Civ2_FF==0); 2080 Civ2_U_Diff=Data.Civ2_U(ind_good)-Data.Civ2_U_smooth(ind_good); 2081 Civ2_V_Diff=Data.Civ2_V(ind_good)-Data.Civ2_V_smooth(ind_good); 2082 DiffVel(irho)=sqrt(mean(Civ2_U_Diff.*Civ2_U_Diff+Civ2_V_Diff.*Civ2_V_Diff)); 2083 NbExclude(irho)=(NbGood-numel(ind_good))/NbGood; 2084 end 2085 figure(1) 2086 semilogx(SmoothingParam,DiffVel,'b',SmoothingParam,NbExclude,'r',SmoothingParam,0.1*ones(size(SmoothingParam)),'m') 2087 grid on 2088 legend('rms velocity diff. Patch2-Civ2 (pixels)','proportion of excluded vectors (between 0 to 1)','recommended value diff. Patch2-Civ2') 2089 xlabel('smoothing parameter') 2090 ylabel('smoothing effect') 2091 set(handles.TestPatch2,'BackgroundColor',[0 1 0]) 2092 else 2093 corrfig=findobj(allchild(0),'tag','corrfig');% look for a current figure for image correlation display 2094 if ~isempty(corrfig) 2095 delete(corrfig) 2096 end 2097 hview_field=findobj(allchild(0),'tag','view_field');% look for view_field 2098 if ~isempty(hview_field) 2099 delete(hview_field) 2100 end 2101 end 2102 2103 2104 %'nomtype2pair': creates nomencalture for index pairs knowing the image nomenclature 2016 msgbox_uvmat('WARNING','open the civ file and run "series/test_patch_tps" ') 2017 end 2018 % set(handles.TestPatch2,'BackgroundColor',[1 1 0])%paint TestPatch2 button in yellow to indicate activation 2019 % set(handles.Civ1,'BackgroundColor',[1 1 0])% indicate civ1 calculation is activated 2020 % set(handles.Fix1,'BackgroundColor',[1 1 0])% indicate fix1 calculation is activated 2021 % set(handles.Patch1,'BackgroundColor',[1 1 0])% indicate Patch1 calculation is activated 2022 % set(handles.Civ2,'BackgroundColor',[1 1 0])% indicate civ2 calculation is activated 2023 % set(handles.Fix2,'BackgroundColor',[1 1 0])% indicate fix2 calculation is activated 2024 % hseries=findobj(allchild(0),'Tag','series'); 2025 % Param=read_GUI(hseries); 2026 % Param.Action.RUN=1; 2027 % Param.ActionInput=read_GUI(handles.civ_input); 2028 % if isfield(Param,'OutputSubDir') 2029 % Param=rmfield(Param,'OutputSubDir'); %remove output file option from civ_series 2030 % end 2031 % ParamPatch2=Param.ActionInput.Patch2; %store the patch1 parameters 2032 % Param.ActionInput=rmfield(Param.ActionInput,'Patch2');% does not execute Patch 2033 % Param.IndexRange.first_i=str2num(get(handles.ref_i,'String')); 2034 % Param.IndexRange.last_i=Param.IndexRange.first_i; 2035 % if strcmp(get(handles.ref_j,'Visible'),'on') 2036 % Param.IndexRange.first_j=str2num(get(handles.ref_j,'String')); 2037 % Param.IndexRange.last_j=Param.IndexRange.first_j; 2038 % else 2039 % Param.IndexRange.first_j=1; 2040 % Param.IndexRange.last_j=1; 2041 % end 2042 % [Data,errormsg]=civ_series(Param);% get the civ1+fix1 results 2043 % bckcolor=get(handles.civ_input,'Color'); 2044 % set(handles.Civ1,'BackgroundColor',bckcolor)% indicate civ1 calculation is finished 2045 % set(handles.Fix1,'BackgroundColor',bckcolor)% indicate fix1 calculation is finished 2046 % set(handles.Patch1,'BackgroundColor',bckcolor)% indicate Patch1 calculation is finished 2047 % set(handles.Civ2,'BackgroundColor',bckcolor)% indicate civ2 calculation is finished 2048 % set(handles.Fix2,'BackgroundColor',bckcolor)% indicate fix2 calculation is finished 2049 % 2050 % %% prepare Param for iterative Patch processing without input file reading 2051 % Param.Civ2_X=Data.Civ2_X; 2052 % Param.Civ2_Y=Data.Civ2_Y; 2053 % Param.Civ2_U=Data.Civ2_U; 2054 % Param.Civ2_V=Data.Civ2_V; 2055 % Param.Civ2_FF=Data.Civ2_FF; 2056 % Param=rmfield(Param,'InputTable');%desactivate input file reading 2057 % if isfield(Param.ActionInput,'Civ1') 2058 % Param.ActionInput=rmfield(Param.ActionInput,'Civ1');%desactivate civ1: remove civ1 input param if relevant 2059 % end 2060 % if isfield(Param.ActionInput,'Fix1') 2061 % Param.ActionInput=rmfield(Param.ActionInput,'Fix1');%desactivate fix1:remove fix1 input param if relevant 2062 % end 2063 % if isfield(Param.ActionInput,'Patch1') 2064 % Param.ActionInput=rmfield(Param.ActionInput,'Patch1');%desactivate fix1:remove fix1 input param if relevant 2065 % end 2066 % if isfield(Param.ActionInput,'Civ2') 2067 % Param.ActionInput=rmfield(Param.ActionInput,'Civ2');%desactivate civ2: remove civ2 input param if relevant 2068 % end 2069 % if isfield(Param.ActionInput,'Fix2') 2070 % Param.ActionInput=rmfield(Param.ActionInput,'Fix2');%desactivate fix1:remove fix1 input param if relevant 2071 % end 2072 % SmoothingParam=(ParamPatch2.FieldSmooth/10)*2.^(1:7);%scan the smoothing param from 1/10 to 12.8 current value 2073 % NbGood=numel(find(Data.Civ2_FF==0)); 2074 % NbExclude=zeros(1,7);% initialize the set of smoothing parameters 2075 % DiffVel=zeros(1,7);% initialize the rms difference between patch and civ 2076 % Param.ActionInput.Patch2=ParamPatch2;% retrieve Patch2 parameters 2077 % for irho=1:7 2078 % Param.ActionInput.Patch2.FieldSmooth=SmoothingParam(irho); 2079 % [Data,errormsg]= civ_series(Param);%apply the processing fct 2080 % if ~isempty(errormsg) 2081 % msgbox_uvmat('ERROR',errormsg) 2082 % return 2083 % end 2084 % ind_good=find(Data.Civ2_FF==0); 2085 % Civ2_U_Diff=Data.Civ2_U(ind_good)-Data.Civ2_U_smooth(ind_good); 2086 % Civ2_V_Diff=Data.Civ2_V(ind_good)-Data.Civ2_V_smooth(ind_good); 2087 % DiffVel(irho)=sqrt(mean(Civ2_U_Diff.*Civ2_U_Diff+Civ2_V_Diff.*Civ2_V_Diff)); 2088 % NbExclude(irho)=(NbGood-numel(ind_good))/NbGood; 2089 % end 2090 % figure(1) 2091 % semilogx(SmoothingParam,DiffVel,'b',SmoothingParam,NbExclude,'r',SmoothingParam,0.1*ones(size(SmoothingParam)),'m') 2092 % grid on 2093 % legend('rms velocity diff. Patch2-Civ2 (pixels)','proportion of excluded vectors (between 0 to 1)','recommended value diff. Patch2-Civ2') 2094 % xlabel('smoothing parameter') 2095 % ylabel('smoothing effect') 2096 % set(handles.TestPatch2,'BackgroundColor',[0 1 0]) 2097 % else 2098 % corrfig=findobj(allchild(0),'tag','corrfig');% look for a current figure for image correlation display 2099 % if ~isempty(corrfig) 2100 % delete(corrfig) 2101 % end 2102 % hview_field=findobj(allchild(0),'tag','view_field');% look for view_field 2103 % if ~isempty(hview_field) 2104 % delete(hview_field) 2105 % end 2106 % end 2107 % 2108 2109 %'nomtype2pair': creates nomenclature for index pairs knowing the image nomenclature 2105 2110 %--------------------------------------------------------------------- 2106 2111 function NomTypeNc=nomtype2pair(NomTypeIma,mode_selected)
Note: See TracChangeset
for help on using the changeset viewer.