Changeset 761 for trunk/src/series/civ_series.m
 Timestamp:
 May 1, 2014, 8:28:05 AM (11 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/src/series/civ_series.m
r758 r761 97 97 end 98 98 if isfield(Param,'InputTable') 99 [tild,i_series,tild,j_series]=get_file_series(Param);99 [tild,i1_series,i2_series,j1_series,j2_series]=get_file_series(Param); 100 100 % iview_nc=0;% series index (iview) for an input nc file (for civ2 or patch2) 101 101 iview_A=0;% series index (iview) for the first image series … … 107 107 end 108 108 if strcmp(Param.ActionInput.ListCompareMode,'shift') 109 iview_B=iview_A+1; % the second image series is on the next line of the tinput table109 iview_B=iview_A+1; % the second image series is on the next line of the input table 110 110 end 111 111 if iview_A~=0 … … 132 132 PairCiv2=Param.ActionInput.PairIndices.ListPairCiv2; 133 133 end 134 [i1_series_Civ1,i2_series_Civ1,j1_series_Civ1,j2_series_Civ1,check_bounds,NomTypeNc]=... 135 find_pair_indices(PairCiv1,i_series{1},j_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j); 136 if ~isempty(PairCiv2) 137 [i1_series_Civ2,i2_series_Civ2,j1_series_Civ2,j2_series_Civ2,check_bounds_Civ2]=... 138 find_pair_indices(PairCiv2,i_series{1},j_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j); 139 check_bounds=check_bounds  check_bounds_Civ2; 140 end 141 i1_series_Civ1=i1_series_Civ1(~check_bounds); 142 i2_series_Civ1=i2_series_Civ1(~check_bounds); 143 j1_series_Civ1=j1_series_Civ1(~check_bounds); 144 j2_series_Civ1=j2_series_Civ1(~check_bounds); 134 if iview_A==1% if Civ1 is performed 135 [i1_series_Civ1,i2_series_Civ1,j1_series_Civ1,j2_series_Civ1,check_bounds,NomTypeNc]=... 136 find_pair_indices(PairCiv1,i1_series{1},j1_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j); 137 if ~isempty(PairCiv2) 138 [i1_series_Civ2,i2_series_Civ2,j1_series_Civ2,j2_series_Civ2,check_bounds_Civ2]=... 139 find_pair_indices(PairCiv2,i1_series{1},j1_series{1},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j); 140 check_bounds=check_bounds  check_bounds_Civ2; 141 end 142 else% we start from an existing Civ1 file 143 i1_series_Civ1=i1_series{1}; 144 i2_series_Civ1=i2_series{1}; 145 j1_series_Civ1=j1_series{1}; 146 j2_series_Civ1=j2_series{1}; 147 NomTypeNc=Param.InputTable{1,4}; 148 if ~isempty(PairCiv2) 149 [i1_series_Civ2,i2_series_Civ2,j1_series_Civ2,j2_series_Civ2,check_bounds,NomTypeNc]=... 150 find_pair_indices(PairCiv2,i1_series{2},j1_series{2},MinIndex_i,MaxIndex_i,MinIndex_j,MaxIndex_j); 151 % check_bounds=check_bounds  check_bounds_Civ2; 152 end 153 end 154 % i1_series_Civ1=i1_series_Civ1(~check_bounds); 155 % i2_series_Civ1=i2_series_Civ1(~check_bounds); 156 % j1_series_Civ1=j1_series_Civ1(~check_bounds); 157 % j2_series_Civ1=j2_series_Civ1(~check_bounds); 145 158 case 'displacement' 146 159 i1_series_Civ1=Param.ActionInput.OriginIndex*ones(size(i_series{1})); 147 160 i2_series_Civ1=i_series{1};i2_series_Civ2=i_series{1}; 148 161 j1_series_Civ1=ones(size(i_series{1}));% first j index is 1 149 if isempty(j _series{1})162 if isempty(j1_series_Civ1) 150 163 j2_series_Civ1=ones(size(i_series{1})); 151 164 else 152 j2_series_Civ1=j _series{1};165 j2_series_Civ1=j1_series_Civ1; 153 166 end 154 167 i1_series_Civ2=i1_series_Civ1; … … 170 183 NomTypeNc=NomType_A; 171 184 end 172 if isempty(j _series{1})185 if isempty(j1_series_Civ1) 173 186 FrameIndex_A_Civ1=i1_series_Civ1; 174 187 FrameIndex_B_Civ1=i2_series_Civ1; 188 j1_series_Civ1=ones(size(i1_series_Civ1)); 189 j2_series_Civ1=ones(size(i1_series_Civ1)); 175 190 else 176 191 FrameIndex_A_Civ1=j1_series_Civ1; … … 178 193 end 179 194 if ~isempty(PairCiv2) 180 i1_series_Civ2=i1_series_Civ2(~check_bounds);181 i2_series_Civ2=i2_series_Civ2(~check_bounds);182 j1_series_Civ2=j1_series_Civ2(~check_bounds);183 j2_series_Civ2=j2_series_Civ2(~check_bounds);184 if isempty(j _series{1})195 % i1_series_Civ2=i1_series_Civ2(~check_bounds); 196 % i2_series_Civ2=i2_series_Civ2(~check_bounds); 197 % j1_series_Civ2=j1_series_Civ2(~check_bounds); 198 % j2_series_Civ2=j2_series_Civ2(~check_bounds); 199 if isempty(j1_series_Civ2) 185 200 FrameIndex_A_Civ2=i1_series_Civ2; 186 201 FrameIndex_B_Civ2=i2_series_Civ2; … … 300 315 break 301 316 end 317 if iview_A==1% if Civ1 is performed 318 Civ1Dir=OutputDir; 319 else 320 Civ1Dir=Param.InputTable{1,2}; 321 end 302 322 if strcmp(Param.ActionInput.ListCompareMode,'PIV') 303 ncfile=fullfile_uvmat(RootPath_A, OutputDir,RootFile_A,'.nc',NomTypeNc,i1_series_Civ1(ifield),i2_series_Civ1(ifield),...323 ncfile=fullfile_uvmat(RootPath_A,Civ1Dir,RootFile_A,'.nc',NomTypeNc,i1_series_Civ1(ifield),i2_series_Civ1(ifield),... 304 324 j1_series_Civ1(ifield),j2_series_Civ1(ifield)); 305 325 else 306 ncfile=fullfile_uvmat(RootPath_A, OutputDir,RootFile_A,'.nc',NomTypeNc,i2_series_Civ1(ifield),[],...326 ncfile=fullfile_uvmat(RootPath_A,Civ1Dir,RootFile_A,'.nc',NomTypeNc,i2_series_Civ1(ifield),[],... 307 327 j1_series_Civ1(ifield),j2_series_Civ1(ifield)); 308 328 end … … 400 420 CivFile=Param.Patch1.CivFile; 401 421 end 402 Data=nc2struct(CivFile,'ListGlobalAttribute','absolut_time_T0'); %look for the constant 'absolut_time_T0' to detect old civx data format 403 if isfield(Data,'Txt') 404 errormsg=Data.Txt; 422 [Data,tild,tild,errormsg]=nc2struct(CivFile,'ListGlobalAttribute','absolut_time_T0'); %look for the constant 'absolut_time_T0' to detect old civx data format 423 if ~isempty(errormsg) 405 424 disp_uvmat('ERROR',errormsg,checkrun) 406 425 return … … 410 429 [Data,vardetect,ichoice]=nc2struct(CivFile);%read the variables in the netcdf file 411 430 else 412 Data=nc2struct(CivFile);%read civ1 and fix1 data in the existing netcdf file431 [Data,tild,tild,errormsg]=nc2struct(CivFile);%read civ1 and fix1 data in the existing netcdf file 413 432 end 414 433 end … … 526 545 NbSubDomain=size(Data.Civ1_SubRange,3); 527 546 % get the guess from patch1 528 for isub=1:NbSubDomain 529 nbvec_sub=Data.Civ1_NbCentres(isub); 530 ind_sel=find(GridX>=Data.Civ1_SubRange(1,1,isub) & GridX<=Data.Civ1_SubRange(1,2,isub) & GridY>=Data.Civ1_SubRange(2,1,isub) & GridY<=Data.Civ1_SubRange(2,2,isub)); 531 epoints = [GridX(ind_sel) GridY(ind_sel)];% coordinates of interpolation sites 547 for isub=1:NbSubDomain% for each subdomain of Patch1 548 nbvec_sub=Data.Civ1_NbCentres(isub);% nbre of Civ1 vectors in the subdomain 549 ind_sel=find(par_civ2.Grid(:,1)>=Data.Civ1_SubRange(1,1,isub) & par_civ2.Grid(:,1)<=Data.Civ1_SubRange(1,2,isub) &... 550 par_civ2.Grid(:,2)>=Data.Civ1_SubRange(2,1,isub) & par_civ2.Grid(:,2)<=Data.Civ1_SubRange(2,2,isub)); 551 epoints = par_civ2.Grid(ind_sel,:);% coordinates of interpolation sites 532 552 ctrs=Data.Civ1_Coord_tps(1:nbvec_sub,:,isub) ;%(=initial points) ctrs 533 553 nbval(ind_sel)=nbval(ind_sel)+1;% records the number of values for eacn interpolation point (in case of subdomain overlap) … … 552 572 par_civ2.SearchBoxSize(2)=2*iby2+9; 553 573 par_civ2.SearchBoxShift=[Shiftx(nbval>=1)./nbval(nbval>=1) Shifty(nbval>=1)./nbval(nbval>=1)]; 554 par_civ2.Grid=[ GridX(nbval>=1)par_civ2.SearchBoxShift(:,1)/2 GridY(nbval>=1)par_civ2.SearchBoxShift(:,2)/2];% grid taken at the extrapolated origin of the displacement vectors574 par_civ2.Grid=[par_civ2.Grid(nbval>=1,1)par_civ2.SearchBoxShift(:,1)/2 par_civ2.Grid(nbval>=1,2)par_civ2.SearchBoxShift(:,2)/2];% grid taken at the extrapolated origin of the displacement vectors 555 575 if par_civ2.CheckDeformation 556 576 par_civ2.DUDX=DUDX./nbval;
Note: See TracChangeset
for help on using the changeset viewer.