1 |
Afile=''; |
2 |
Bfile=''; |
3 |
|
4 |
|
5 |
% 6 passes starting with 64*64 windows and ending with 16*16. |
6 |
winsize=[64 64;64 64;32 32;32 32;16 16;16 16]; |
7 |
winsize=[64 64;32 32;32 32;16 16;16 16]; |
8 |
winsize=[64 64;64 64;32 32;32 32]; |
9 |
winsize=[64 64;64 64]; |
10 |
|
11 |
% 5 passes ending up with 32*16 pixels large interrogation regions |
12 |
%winsize=[64 64;64 32;32 32;32 16;32 16]; |
13 |
%winsize=[32 32;32 32;16 16;16 16;8 8;8 8]; |
14 |
delT=0.078; |
15 |
overlap=0.75; |
16 |
method='multin'; |
17 |
wocofile='worldco1.mat'; |
18 |
%wocofile='worldco4.mat'; |
19 |
%wocofile=''; |
20 |
mask='polymask.mat'; |
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
[filelist]=textread('filelist.txt','%[^\n]'); |
27 |
|
28 |
for pair=1:2:(size(filelist)) |
29 |
|
30 |
Afile=cell2mat(filelist(pair)) |
31 |
Bfile=cell2mat(filelist(pair+1)) |
32 |
%Cfile=cell2mat(filelist(pair+2)) |
33 |
|
34 |
|
35 |
[Atick level]=strread(Afile,'frame.%u.%[^.].jpg'); |
36 |
[Btick level]=strread(Bfile,'frame.%u.%[^.].jpg'); |
37 |
%[Ctick level]=strread(Cfile,'frame.%u.%[^.].jpg'); |
38 |
delT1=(Btick-Atick)/1000; |
39 |
%delT2=Ctick-Atick; |
40 |
%delT2=(Ctick-Btick)/1000; |
41 |
|
42 |
|
43 |
[x1,y1,u1,v1,snr1,pkh1]=matpiv(Afile,Bfile,winsize,delT1,... |
44 |
overlap,method,wocofile,mask); |
45 |
% [x2,y2,u2,v2,snr2,pkh2]=matpiv(Bfile,Cfile,winsize,delT2,... |
46 |
% overlap,method,wocofile,mask); |
47 |
%[x,y,u,v]=matpiv(Afile,Bfile,winsize,delT,overlap,method); |
48 |
%[su,sv]=snrfilt(x,y,u,v,snr,1.3); |
49 |
%[pu,pv]=peakfilt(x,y,su,sv,pkh,0.5); |
50 |
%[gu,gv]=globfilt(x,y,pu,pv,3); |
51 |
%[mu,mv]=localfilt(x,y,gu,gv,2,'median',3,'polymask.mat'); |
52 |
%[fu,fv]=naninterp(mu,mv,'linear','polymask.mat',x,y); |
53 |
|
54 |
|
55 |
|
56 |
field=(pair+1)/2 |
57 |
|
58 |
if 1 |
59 |
|
60 |
SNR(:,:,field)=snr1; |
61 |
|
62 |
[su1,sv1]=snrfilt(x1,y1,u1,v1,snr1,1.2); |
63 |
SU1(:,:,field)=su1; |
64 |
SV1(:,:,field)=sv1; |
65 |
|
66 |
%[su2,sv2]=snrfilt(x2,y2,u2,v2,snr2,1.3); |
67 |
%SU2(:,:,field)=su2; |
68 |
%SV2(:,:,field)=sv2; |
69 |
|
70 |
if 1 |
71 |
[pu1,pv1]=peakfilt(x1,y1,su1,sv1,pkh1,0.3); |
72 |
PU1(:,:,field)=pu1; |
73 |
PV1(:,:,field)=pv1; |
74 |
|
75 |
%[pu2,pv2]=peakfilt(x2,y2,su2,sv2,pkh2,0.4); |
76 |
%PU2(:,:,field)=pu2; |
77 |
%PV2(:,:,field)=pv2; |
78 |
else |
79 |
pu1=su1; |
80 |
pv1=sv1; |
81 |
pu2=su2; |
82 |
pv2=sv2; |
83 |
end |
84 |
|
85 |
[gu1,gv1]=globfilt(x1,y1,pu1,pv1,4); |
86 |
GU1(:,:,field)=gu1; |
87 |
GV1(:,:,field)=gv1; |
88 |
|
89 |
XX1(:,:,field)=x1; |
90 |
YY1(:,:,field)=y1; |
91 |
|
92 |
%[gu2,gv2]=globfilt(x2,y2,pu2,pv2,4); |
93 |
%GU2(:,:,field)=gu2; |
94 |
%GV2(:,:,field)=gv2; |
95 |
|
96 |
if 0 |
97 |
[mu1,mv1]=localfilt(x1,y1,gu1,gv1,2,'median',3,mask); |
98 |
MU1(:,:,field)=mu1; |
99 |
MV1(:,:,field)=mv1; |
100 |
|
101 |
[mu2,mv2]=localfilt(x2,y2,gu2,gv2,2,'median',3,mask); |
102 |
MU2(:,:,field)=mu2; |
103 |
MV2(:,:,field)=mv2; |
104 |
|
105 |
[fu1,fv1]=naninterp(mu1,mv1,'linear',mask,x1,y1); |
106 |
FU1(:,:,field)=fu1; |
107 |
FV1(:,:,field)=fv1; |
108 |
|
109 |
[fu2,fv2]=naninterp(mu2,mv2,'linear',mask,x2,y2); |
110 |
FU2(:,:,field)=fu2; |
111 |
FV2(:,:,field)=fv2; |
112 |
end; |
113 |
|
114 |
end |
115 |
|
116 |
end; |
117 |
|
118 |
save errsuite.mat GU1 GV1 XX1 YY1; |
119 |
|
120 |
|
121 |
|
122 |
|