-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathSlantStack.m
More file actions
62 lines (54 loc) · 1.59 KB
/
SlantStack.m
File metadata and controls
62 lines (54 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
%close all
%definition axe distances
dist=0.2*(0:1:2568);
%Selection de la boite d'intéret
itmin=150;
itmax=480;
ixmin=20;
ixmax=250;
figure
CLIM0=[-10000 10000];
imagesc(trace,CLIM0)
hold all
plot([ixmin ixmax],[itmin itmin],'k-','LineWidth',2)
plot([ixmin ixmax],[itmax itmax],'k-','LineWidth',2)
plot([ixmax ixmax],[itmin itmax],'k-','LineWidth',2)
plot([ixmin ixmin],[itmin itmax],'k-','LineWidth',2)
trace_trnk=trace(itmin:itmax,ixmin:ixmax);
x=dist(ixmin:ixmax);
t=time(itmin:itmax);
figure
CLIM0=[-10000 10000];
imagesc([x(1) x(end)],[t(1) t(end)],trace_trnk,CLIM0)
%foward slant stack
[stp,tau,p]=tptran(trace_trnk,t,x,-10,10,.1);
figure
imagesc([min(tau) max(tau)],[min(p) max(p)],stp);
%filter out main reflectors by power
threshold=.5e6;
rshp_stp=reshape(stp, prod(size(stp)),1);
rshp_stp=sort(rshp_stp);
stp_filt=stp.*(0.5+0.5.*erf((abs(stp)-threshold)./100));
%statistic plots
figure
imagesc([min(tau) max(tau)],[min(p) max(p)],stp_filt);
figure
plot(rshp_stp)
hold all
plot([0 length(rshp_stp)],[threshold threshold])
figure
hist(rshp_stp,100)
hold all
plot(threshold*[1 1],[0 1e4])
%inverse slant stack of filtered data
[seis,t1,x1]=itptran(stp_filt,tau,p,x(1),x(end),.2);
seis=seis.*repmat((t(1)+t1)<t(end),1,size(seis,2));
figure
CLIM=[-100000 100000];
imagesc([x1(1) x1(end)],[t(1)+t1(1) t(1)+t1(end)],seis,CLIM);
%inverse slant stack of unfiltered data
[seis,t2,x2]=itptran(stp,tau,p,x(1),x(end),.2);
seis=seis.*repmat((t(1)+t1)<t(end),1,size(seis,2));
figure
CLIM=[-100000 100000];
imagesc([x2(1) x2(end)],[t(1)+t2(1) t(1)+t2(end)],seis,CLIM);