osv流程简解
demo3d.py
Main函数入口
def main(args):
goPlanar()
goFaultOrientScan()
goSurfaceVoting()
goFaultSurfaces()
共有四步:
- 计算地震平面度作为输入断层属性
- 大致估计断层走向
- 计算投票面和最终投票得分图
- 构造断层面
从xs.dat
输入地震图像
...
gxfile = "xs" # input seismic image
...
...
gx = readImage3D(gxfile)
...
下面输出的图片并不全,因为其调用的子函数也会输出图像。
这些图片具体是什么,怎么计算的我没有了解,需要结合相关专业知识。
每个plot具体输出的是哪张图像,可以通过clab看出一点蛛丝马迹。
goPlanar 计算地震平面度
输出了三张图:
...
plot3(gx, ep, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Planarity", png="ep")
plot3(gx, fe, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Planarity", png="fl")
plot3(gx, fp, cmin=1, cmax=360, cmap=hueFill(1.0),
clab="Fault strike (degrees)", png="ph")
goFaultOrientScan 计算投票面和最终投票得分图
输出两张图:
...
plot3(gx, ep, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Planarity", png="ep")
plot3(gx, fv, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Surface voting", png="fv")
goSurfaceVoting 计算投票面和最终投票得分图
输出两张图
plot3(gx, ep, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Planarity", png="ep")
plot3(gx, fv, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Surface voting", png="fv")
goFaultSurfaces 构造断层面
输出四张图:
...
plot3(gx, clab="Amplitude", png="seis")
plot3(gx, fv, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Voting score", png="fv")
plot3(gx, ft, cmin=0.25, cmax=1.0, cmap=jetRamp(1.0),
clab="Thinned voting score", png="fvt")
plot3(gx, skinx=sks, au=80, ev=55, v3=0.05, png="skinv")