def goShifts(): s1,s2,g = getImage() g = slog(g) plot2(s1,s2,g,title="log input") fse = FaultSemblance() g = fse.taper(10,g) p = fse.slopes(g) sn,sd = fse.semblanceNumDen(p,g) fsc = FaultScanner2(sigmaTheta,[sn,sd],smoother) f,t = fsc.scan(-15,15) plot2(s1,s2,g,f,gmin=0,gmax=1,title="fault likelihood") #ff,tt = fsc.thin([f,t]) #plot2(s1,s2,g,ff,gmin=0,gmax=1,title="fault likelihood") shiftMin,shiftMax = -20,20 faults = fsc.findFaults([f,t],shiftMax-shiftMin); ff = faults.getLikelihoods() plot2(s1,s2,g,ff,gmin=0,gmax=1,title="fault likelihood") g = fsc.smooth(4,p,ff,g) plot2(s1,s2,g,ff,gmin=0,gmax=1,title="input smoothed") p = fse.slopes(g) faults.findShifts(g,p,shiftMin,shiftMax) faults.clean() s = faults.getShifts() print "s min =",min(s)," max =",max(s) plot2(s1,s2,g,s,gmin=-8,gmax=8,title="fault throws")
def goScan(): s1, s2, g = getImage() g = slog(g) fse = FaultSemblance() g = fse.taper(10, g) #p = fse.slopes(g) p = getSlopes(g) sn, sd = fse.semblanceNumDen(p, g) fsc = FaultScanner2(sigmaTheta, [sn, sd], FaultScanner2.Smoother.FFT) st = Sampling(25, 2.0, -25.0) for theta in st.values: f = fsc.likelihood(theta) plot2(s1, s2, g, f, gmin=0.2, gmax=0.7, gmap=jetr, title="theta = " + str(int(theta))) tmin, tmax = st.first, st.last f, t = fsc.scan(tmin, tmax) plot2(s1, s2, g, f, gmin=0.2, gmax=0.7, gmap=jetr, title="fault likelihood")
def goShifts(): s1,s2,g = getImage() g = slog(g) #plot2(s1,s2,g,title="log input") fse = FaultSemblance() g = fse.taper(10,g) p = fse.slopes(g) sn,sd = fse.semblanceNumDen(p,g) fsc = FaultScanner2(sigmaTheta,[sn,sd],smoother) f,t = fsc.scan(-15,15) shiftMin,shiftMax = -20,20 faults = fsc.findFaults([f,t],shiftMax-shiftMin); ff = faults.getLikelihoods() plot2(s1,s2,g,ff,gmin=0,gmax=1,gmap=jetr,label="Fault likelihood",png="flg") g = fsc.smooth(4,p,ff,g) plot2(s1,s2,g,ff,gmin=0,gmax=1,gmap=jetr,label="Fault likelihood",png="flgs") plot2(s1,s2,g,label="Log amplitude",png="gs") p = fse.slopes(g) faults.findShifts(g,p,shiftMin,shiftMax) faults.clean() s = faults.getShifts() s = mul(s1.delta*1000.0,s) s = neg(s) print "s min =",min(s)," max =",max(s) plot2(s1,s2,g,s,gmin=0,gmax=28,gmap=jetr, label="Vertical component of throw (ms)",png="fs") plot2(s1,s2,g,s,gmin=0,gmax=15,gmap=jetr, label="Vertical component of throw (ms)",png="fs15")
def goShifts(): s1, s2, g = getImage() g = slog(g) plot2(s1, s2, g, title="log input") fse = FaultSemblance() g = fse.taper(10, g) p = fse.slopes(g) sn, sd = fse.semblanceNumDen(p, g) fsc = FaultScanner2(sigmaTheta, [sn, sd], smoother) f, t = fsc.scan(-15, 15) #plot2(s1,s2,g,f,gmin=0,gmax=1,title="fault likelihood") #ff,tt = fsc.thin([f,t]) #plot2(s1,s2,g,ff,gmin=0,gmax=1,title="fault likelihood") shiftMin, shiftMax = -20, 20 faults = fsc.findFaults([f, t], shiftMax - shiftMin) ff = faults.getLikelihoods() #plot2(s1,s2,g,ff,gmin=0,gmax=1,title="fault likelihood") #plot2(s1,s2,g,ff,gmin=0,gmax=1,label="Fault likelihood",png="flg") g = fsc.smooth(4, p, ff, g) #plot2(s1,s2,g,ff,gmin=0,gmax=1,title="input smoothed") #plot2(s1,s2,g,ff,gmin=0,gmax=1,label="Fault likelihood",png="flgs") plot2(s1, s2, g, label="Log amplitude", png="gs") p = fse.slopes(g) faults.findShifts(g, p, shiftMin, shiftMax) faults.clean() s = faults.getShifts() s = mul(s1.delta * 1000.0, s) print "s min =", min(s), " max =", max(s)
def goThin(): s1,s2,g = getImage() g = slog(g) #plot2(s1,s2,g,title="log input") fse = FaultSemblance() g = fse.taper(10,g) for iter in range(1): p = fse.slopes(g) #p = zerofloat(len(p[0]),len(p)) sn,sd = fse.semblanceNumDen(p,g) fsc = FaultScanner2(sigmaTheta,[sn,sd],smoother) f,t = fsc.scan(-15,15) #plot2(s1,s2,g,f,gmin=0,gmax=1,title="fault likelihood") #plot2(s1,s2,g,t,title="fault dip (degrees)") fs = copy(f); RecursiveGaussianFilter(1.0).apply00(fs,fs) #plot2(s1,s2,g,fs,gmin=0,gmax=1,title="fault likelihood smoothed") plot2(s1,s2,g,fs,gmin=0.5,gmax=1,gmap=jetr,label="Fault likelihood") ft,tt = fsc.thin([f,t]) #plot2(s1,s2,g,ft,gmin=0,gmax=1,title="fault likelihood thinned") #plot2(s1,s2,g,tt,title="fault dip (degrees) thinned") plot2(s1,s2,g,ft,gmin=0.5,gmax=1,gmap=jetr, label="Fault likelihood",png="flt") plot2(s1,s2,g,tt,gmap=bwrn,label="Fault dip (degrees)",png="ftt") g = fsc.smooth(8,p,ft,g) #plot2(s1,s2,g,title="input smoothed") plot2(s1,s2,g,label="Log amplitude",png="gs")
def goScan(): s1,s2,g = getImage() g = slog(g) fse = FaultSemblance() g = fse.taper(10,g) p = fse.slopes(g) sn,sd = fse.semblanceNumDen(p,g) fsc = FaultScanner2(sigmaTheta,[sn,sd]) st = Sampling(31,1.0,-15.0) for theta in st.values: f = fsc.likelihood(theta) plot2(s1,s2,g,f,gmin=0,gmax=1,title="theta = "+str(int(theta))) tmin,tmax = st.first,st.last f,t = fsc.scan(tmin,tmax) plot2(s1,s2,g,f,gmin=0,gmax=1,title="fault likelihood") plot2(s1,s2,g,t,gmin=tmin,gmax=tmax,title="fault dip (degrees)")
def goScan(): s1,s2,g = getImage() g = slog(g) fse = FaultSemblance() g = fse.taper(10,g) p = fse.slopes(g) sn,sd = fse.semblanceNumDen(p,g) fsc = FaultScanner2(sigmaTheta,[sn,sd]) st = Sampling(31,1.0,-15.0) for theta in st.values: f = fsc.likelihood(theta) png = "fl"+str(int(theta)) plot2(s1,s2,g,f,gmin=0.5,gmax=1,gmap=jetr,label="Fault likelihood",png=png) tmin,tmax = st.first,st.last f,t = fsc.scan(tmin,tmax) plot2(s1,s2,g,f,gmin=0.5,gmax=1,gmap=jetr,label="Fault likelihood",png="fl")
def goThin(): s1, s2, g = getImage() plot2(s1, s2, g, title="input") g = slog(mul(2.0, g)) plot2(s1, s2, g, title="log input") fse = FaultSemblance() g = fse.taper(10, g) for iter in range(1): #p = fse.slopes(g) p = getSlopes(g) #p = zerofloat(len(p[0]),len(p)) sn, sd = fse.semblanceNumDen(p, g) fsc = FaultScanner2(sigmaTheta, [sn, sd], smoother) f, t = fsc.scan(-25, 25) plot2(s1, s2, g, f, gmin=0, gmax=1, title="fault likelihood") #plot2(s1,s2,g,t,title="fault dip (degrees)") ft, tt = fsc.thin([f, t]) plot2(s1, s2, g, ft, gmin=0, gmax=1, title="fault likelihood thinned") #plot2(s1,s2,g,tt,title="fault dip (degrees) thinned") g = fsc.smooth(16, p, ft, g) plot2(s1, s2, g, title="input smoothed")