如何解决如何将分位数裁剪应用于地震数据?
当前,我正在尝试使用segyio对地震数据应用分位数剪裁,以访问跟踪数据,并使用Numpy进行数据处理。 我编写了以下功能:
def clip(file,value):
traces = file.trace
for i,_ in enumerate(traces):
traces[i] = np.where(traces[i]>value,value,traces[i])
traces[i] = np.where(traces[i]<-value,-value,traces[i])
和
def qclip(file,value):
data = np.array([i for i in file.trace ])
clipval = np.quantile(np.abs(data),value)
clip(file,clipval)
qclip 使用segyio打开的文件和[0,1]中的值将分位数裁剪应用于迹线。 它可以工作,但是应用的剪切值与我使用以下方法从Seismic Unix获得的值有很大不同:
sugain < infile qclip=value > outfile
这是sugain qclip的实现。
解决方法
试试 np.percentile 而不是 np.quantile
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。