anxcor是一个python库,用于执行地震环境噪声互相关

anxcor的Python项目详细描述


< >[许可证:mit](https://opensource.org/licenses/mit" rel="nofollow">https://img.shields.io/badge/license mit yellow.png)(https://opensource.org/licenses/mit) [![生成状态](https://travis-ci.org/uofuseismo/anxcor.png?branch=master)(https://travis ci.org/uofuseismo/anxcor) ![pypi](https://img.shields.io/pypi/v/anxcor.png?颜色=蓝色&样式=塑料) ![pypi-下载](https://img.shields.io/pypi/dm/anxcor.png?样式=塑料

##anxcor:环境噪声x(互)相关

anxcor是一个用于执行地震环境噪声互相关的python库。

anxcor并不打算取代现有的地震环境噪声处理规范。 相反,我们的目标是为新处理例程的快速原型设计提供一个框架, 以及小批量生产的地震环境噪声相关函数。 anxcor的设计考虑了可读性和明确的文档;所有算法都有很好的文档,基于 研究,并遵循[Robert C.Martin编写的《清洁代码手册》(Clean code handbook)(http://www.amazon.com/clean-code-handbook-software-craftship/dp/0132350882" rel="nofollow">https://www.amazon.com/clean-code handbook-software-craftship/dp/0132350882)。

anxcor无缝集成到当前python数据科学堆栈中,利用通用的数据科学包 比如[pandas](http://pandas.pydata.org)、[numpy](http://www.numpy.org)和[scipy](http://www.scipy.org), 以及流行的地震学软件包[obspy](https://github.com/obspy/obspy/wiki)。 此外,它还利用了[xarray](http://xarray.pydata.org/en/stable/)和[dask](http://dask.org) 实现令人尴尬的并行执行。使用这些流行的软件包可以让使用anxcor变得直观, 简洁、可扩展,没有编译语言方面的深入领域经验。

##为什么是anxcor?

由环境地震噪声导出的互相关函数在地球物理学中具有广泛的适用性, 从火山活动的监测[Lobkis and Weaver,2001年](https://scholar.google.com/scholar\u lookup?HL=en&volume=110&publication年=2001&pages=3011&journal=j.+acoust.+soc.+am&issue=6&author=o.+i.+lobkis&author=r.+l.+weaver&title=on+the+emergence+of+the+green%27s+function+in+the+correlations+of+a+diffuse+field), 通知地震易损性评估[[Prieto,GA和Beroza GC 2008](https://scholar.google.com/scholar?集群=496935384843554773&hl=en&as_sdt=0,45)]。像[Magseis Fairfield Zland 3C]这样便宜的检波器的出现(https://www.passcal.nmt.edu/content/fairfieldnodal-zland-3-channel-sensor" rel="nofollow">https://www.passcal.nmt.edu/content/fairfieldnodal-zland-3-channel-sensor) 让研究部门和美国地质勘探局办公室刷新WITH数据。这些数据的规模从千兆字节到数兆字节不等,要保持有序可能会很痛苦。

典型的互相关工作流程包括信号处理的每个步骤的读/写操作。即使是下采样和信噪比数据校正, 目录中很容易会挤满成千上万的文件。试图把每一点 将有意义的元数据转换成文件名,为所有熟悉数据集的人都制造了一个逻辑上的噩梦。 另外,用于分析这些数据的优化代码通常使用包含bash、tcsh、sac、fortran和c脚本的混合工作流; 编译后的代码具有简洁(但不可读)的定义变量和少量模块化函数。

像[MS Noise]这样的解决方案(http://www.ms noise.org/" rel="nofollow">http://www.msnoise.org/)非常优秀,引用率高,而且稳定。冒着引入另一个 标准的,我们为我们当中的非程序员提供一个可能的解决方案。

我们通过以下方法来缓解上述问题 使用[xarray data structures](http://xarray.pydata.org/en/stable/data-structures.html" rel="nofollow">http://xarray.pydata.org/en/stable/data structures.html)进行矢量化计算和元数据 坚持不懈。使用[dask](http://dask.org)、[numpy](http://www.numpy.org)和[scipy](http://www.scipy.org),我们可以 创建一个令人尴尬的并行计算图。这使得计算几乎完全在RAM中进行,消除了冗余文件的激增, 同时允许用户选择要保存到文件中的特定输出。

anxcor还为希望实现自己的互相关方法或 预处理步骤。因为我们将所有并行化都推迟到[dask]处理(http://dask.org" rel="nofollow">http://dask.org),所以我们可以这样做 界面简洁、可读、高度模块化。

因为anxcor是专门针对[python的数据科学生态系统](https://scipy-learns.org/intro/intro.html),我们相信 我们可以提供一种地震环境噪声互相关的方法,为已经熟悉的用户提供了极大的利用 带着这些包裹。

##文档

在[wiki]上了解有关anxcor的更多信息(https://github.com/uofuseismo/anxcor/wiki" rel="nofollow">https://github.com/uofuseismo/anxcor/wiki)。

##致谢 Kevin A.Mendoza曾担任ANXCOR的首席架构师和程序员。该项目的开发灵感来自范志林博士在环境噪声地震层析成像方面的工作。这里实现的许多例程都是在与他和他的研究生工作组仔细协商后编写的(但是,他们的代码都没有被复制或直接翻译成anxcor)。特别是伊丽莎白·伯格博士候选人,对这个项目的成功是不可或缺的。

##归属

##已知问题 ##计划的增强功能

  • 组件沿方位角和后方位角旋转
  • ftan和波束形成例程
  • 自定义互相关预处理函数
  • 互相关的gpu实现

##贡献 欢迎拉取请求。对于重大更改,请先打开一个问题,讨论要更改的内容。

请确保根据需要更新测试。

##贡献者 -博士生kevin a.mendoza是项目的主要开发人员,负责项目的原始架构。 -博士生丹尼尔·威尔斯贡献了许多测试套件。

##许可证

版权所有2019 Kevin A Mendoza

特此免费向任何获得本文件副本的人授予许可 软土是和相关的文档文件("软件"),用于处理软件 不受限制,包括但不限于使用、复制、修改的权利, 前往、发布、分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守以下条件 条件:

上述版权公告及本许可公告须包括在所有副本内。 或软件的重要部分。

软件按"原样"提供,无任何明示或暗示的保证, 包括但不限于适销性保证、特定产品的适用性保证 目的和非侵犯。在任何情况下,作者或版权 持有人须对任何申索、损害或其他法律责任负责,不论是在诉讼中或 合同、侵权行为或其他,由软件引起的、由软件引起的或与软件有关的,或 软件的使用或其他交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使图像以正确的速度在屏幕上移动,以适应所有显示   内存Java分配:从预先存在/分配的池中分配对象   java这种书写方式?   Java正则表达式查找字符串的开头   java是否可以创建一个类来处理安卓中的所有日志代码(例如log.d(TAG,message))   如何使用Selenium和java单击WebTable任意页面上的WebElement   java解析字符串中的文件名   java刷新JTree内容   java如何覆盖RequestMappingHandler   爪哇数石头、布、剪刀赢了多少   struts中的java无效令牌   swing JTree,优化算法,Java   java Tomcat和SSL:密钥库格式无效