模块化银河图像模拟工具包

GalSim的Python项目详细描述


Galsim:模块化银河图像模拟工具包

galsim是模拟天体图像的开源软件 (恒星,星系)以各种方式。大部分的计算是 在c++中执行,用户界面是python。另外,代码 可以直接在"配置"文件上操作,对于那些不愿意工作的用户 在蟒蛇中。软件包的推动力是一个薄弱的lensing社区 数据挑战,称为great3:

< Buff行情> http://great3challenge.info/

但是,代码除了需要 这是一个挑战,对许多需要 用精确的大小和剪刀模拟高保真的星系图像。在 在这个文件的末尾,有一个代码功能和未来计划的列表 发展。有关算法和代码验证的详细信息,请参见

< Buff行情> http://adsabs.harvard.edu/abs/2015a%26c….10..121r

安装

通常,要安装galsim,只需运行

< Buff行情> pip安装galsim

根据您的设置,可能需要在开始时添加sudo 或者–用户在这个命令的末尾,就像您在pip安装时通常做的那样 包裹。

请参阅install.md以获取完整的详细信息,包括 pip可安装,因此在运行此命令之前可能需要安装。

您也可以通过Conda Forge使用Conda

< Buff行情> Conda安装-c Conda Forge Galsim

源分布

galsim当前发布的版本是2.1版。为了得到密码,你 可以从中获取tarball(或zip文件) < Buff行情> https://github.com/galsim developers/galsim/releases/tag/v2.1.5

另外,也可以随意分叉存储库:

< Buff行情> https://github.com/galsim developers/galsim/fork

或者使用以下任一选项克隆存储库:

< Buff行情> git克隆git git @ github com :galsim developers/galsim.git git clone https://github.com/galsim developers/galsim.git

该代码还通过fink、macports和面向mac用户的自制程序分发。 有关详细信息,请参见install.md。

E代码是根据BSD样式许可证授权的。有关更多信息,请参见文件许可证 细节:

与Galsim保持同步

有一个galsim邮件列表,通过google组组织 高尔西姆宣布。组成员将收到有关 galsim代码,包括主要版本发布的通知、新功能 以及错误修复。

你不需要一个google帐户来订阅这个组,只需发送任何 电子邮件到

< Buff行情> galsim announce+subscribe @ 谷歌组 com

如果收到确认请求(请检查垃圾邮件过滤器!)简单回答 直接发到那封邮件,什么都可以,确认一下。你也可以点击链接 在确认请求中,但可能会要求您登录Google帐户。

要取消订阅,只需将任何电子邮件发送到

< Buff行情> galsim announce+unsubscribe @ 谷歌组 com

您应该会收到取消订阅成功的通知。

如何与galsim开发人员沟通

目前,galsim的主要开发人员是:

< Buff行情>
  • Mike Jarvis(Gmail的Mikejarvis17)
  • Rachel Mandelbaum(Andrew Dot CMU Dot Edu的RMandelb)
  • 乔什·迈耶斯(Gmail的JMeyers314)

然而,许多其他人多年来也为加尔西姆做出了贡献,因为 我们非常感谢。

如果你对如何使用galsim有疑问,可以在 [stackoverflow](http://stackoverflow.com/" rel="nofollow">http://stackoverflow.com/)。一些galsim开发者 将警报设置为自动通知 "galsim"标签,因此很有可能会回答您的问题。

如果您在安装或使用代码时遇到任何问题,或者发现一个bug,或者 关于新功能的建议,请在我们的[GitHub]上打开一个问题 存储库](https://github.com/galsim-developers/galsim/issues" rel="nofollow">https://github.com/galsim developers/galsim/issues)。我们也接受 如果您有希望为代码库贡献的内容,请拉取请求。

如果这些沟通渠道都不合适,你也可以联系 直接发送到上述电子邮件地址。

入门

  • 如上所述安装代码(另请参见install.md)。

  • 可选,但建议在尝试新版本的代码时运行 单元测试以确保没有错误。你可以通过跑步来做到这一点 python setup.py测试 。如果有任何问题,请在我们的 Github页面。

  • 可选:使用 指定所有doxygen设置的主存储库目录。或者, 您可以在

    < Buff行情>

    http://galsim developers.github.io/galsim/

参考文档

有关galsim工作流和python工具的概述,请参见文件 文档/galsim_quick_reference.pdf 在galsim存储库中。使用指南 生成仿真的配置文件,安装问题的常见问题解答, 其他有用的参考资料可以在galsim wiki上找到,

< Buff行情> https://github.com/galsim developers/galsim/wiki

有关代码所有部分的更详细的文档可以在 多氧制剂文件在上一节或python中提到 在 galsim/*.py 中记录字符串

存储库目录结构

存储库有许多子目录。下面是他们的指南 内容:

  • bin/:可执行文件(编译过程完成后)。

  • devel/:各种开发工具。

  • < DL>
    文档/ 文档,包括快速参考指南,如果

    用户使用doxyfile生成doxygen文档,输出 也将进入此目录。

  • examples/:示例脚本(请参阅下一节)。

  • < DL>
    galsim/ galsim的python代码(这是大多数最终用户交互的内容

    使用)。

    <> >://:GalSIM的C++部分的.h头文件.< /P>
  • lib/:编译的库(在编译过程完成后)。

  • < DL> PySrc/< StaseCype ="分类器定界符">:使GALSIM的纯C++部分可访问的代码

    galsim的python层。

    >P>SRC/:GALSIM的纯C++部分的源代码。
  • 测试/:单元测试。

演示脚本

examples/ 中有许多脚本演示了代码如何 被使用。它们被称为demo1.py…`demo13.py`。你可以带他们过去 在 examples/ 中输入(例如)python demo1.py 设计为在 examples/ 目录中运行。他们中的一些人 文件位于 examples/ 目录的子目录中,因此它们无法工作 从其他位置正确。

一个完全并行的配置文件序列,名为 demo1.yaml 。 演示如何使用 可执行文件 bin/galsim 解析的配置文件。(没有 demo12和demo13对应的.yaml文件,因为 无法使用配置文件执行功能。)

examples/ 目录中可能感兴趣的另外两个脚本,但是 不是galsim教程系列的一部分,是 演示如何使用fouriersqrt转换来优化coadd 图像,以及psf-wf-movie.py,它展示了真实的大气 通过制作一部时变psf和波前的电影来实现psf编码。

随着项目的进一步发展 软件的功能,可以在 examples/ 中添加更多演示脚本 以说明Galsim可以做什么。

标记版本

每个galsim版本都在git中标记了标记名 vx.x.x 。你可以看到 使用命令的可用标记

< Buff行情> git标记-l

在存储库内的终端上。除了官员 发布版中,我们还为其他重要的里程碑添加了标记 一次或另一次。

任何给定快照的代码版本都可以从 GitHub网页,或使用标记名从存储库签出,例如:

< Buff行情> Git签出v2.1.5版

然后将目录树更新为 已请求里程碑。(你也会收到一条信息,说你处于"分离"状态 国家元首。这很正常。)

对于版本历史记录和代码当前版本的说明 与上次标记的版本不同,请参阅history.md和changelog.md (分别)。这些文件位于galsim主目录中,并且 也显示在上面链接的wiki上。

当前能力摘要

目前,galsim具有以下功能:

  • 可以从各种简单的参数模型(如moffat, Kolmogorov和Airy,以及包括Zernike的光学PSF模型 任意顺序的像差,可选的中心遮蔽和 Struts,

  • 可以从各种简单的参数模型以及 从真实的HST数据。有关下载一套宇宙的信息 图像,请参见

    < Buff行情>

    https://github.com/galsim developers/galsim/wiki/realgaxy%20data

  • 可以从真实的湍流相位屏模拟大气psf。

  • 可以通过i)傅里叶变换,ii)真实空间生成图像 卷积(实空间有时比fourier快),或 iii)光子发射。例外情况是包含 反褶积(如真星系天体)必须使用傅里叶展开 仅限方法。

  • 可以处理波长相关的配置文件并通过滤波器集成 适当的带通。

  • 可以对星系轮廓应用剪切、放大、膨胀或旋转 包括来自功率谱或NFW光环剖面的基于透镜的模型。

  • 可以将星系图像绘制到更大图像中的任意位置。

  • 可以使用各种噪声模型添加噪声,包括相关噪声。

  • 可以对现有的相关噪声(即 已经在图像中。

  • 可以从目录、字典文件(如json)读取输入值 或yaml文件),或fits头。

  • 可以以多种格式写入图像:常规fits文件、fits数据 多维数据集或多扩展名fits文件。它还可以压缩输出文件 使用各种压缩,包括gzip、bzip2和rice。

  • 可以使用两个并行的 方法:直接使用python代码,或者通过指定模拟 输入配置脚本中的属性。查看中的演示脚本 每个示例的示例/目录。

  • 从简单的像素比例因子支持多种可能的WCS选项 将ArcSec/像素到仿射变换为(x,y)的任意函数, 包括各种常见的WCS规格。

  • 可以包括一系列简单的探测器效应,如非线性, 更亮更胖的效果等。

  • 有一个模块专门用来模拟wfirst的图像 调查:

未来发展规划概要

我们计划在将来的版本中添加以下附加功能 GalSim:

  • 波长相关的光子发射。目前,彩色功能 仅可用于FFT渲染,这相当慢。用于大多数用途 光子射出的速度应该快几个数量级,所以 近期的优先任务。(参见第540期)
  • 模拟更复杂的探测器缺陷和图像伪影。例如。 渐晕、边缘、宇宙射线、饱和度、出血等(参见问题 #553,828)
  • 正确的尘埃消光模型。(参见第541期和第550期)
  • 各种速度改进。(参见第205期、第566期、第875期和第935期)
  • 把文件换成狮身人面像。(参见第160期)

还有很多其他的。请参见

< Buff行情> https://github.com/galsim-developeRS/GALSIM/问题

获取当前未解决问题的列表。如果有问题请随时补充 是一些有用的东西,你认为应该是可能的,但目前还没有 实施。

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

推荐PyPI第三方库


热门话题
手机上的html调试Java web应用程序   Java当前日期和过去日期之间的差值,以年、月、日、小时、分、秒为单位   如果方法名称相同,java如何使扩展类不从上面的类触发方法?   即使在提供了准确的firebase引用之后,java仍出现“无法跳转到类型”异常。请看详情   jar文件中的java图像   java如何避免从缓存读取时修改相同的对象实例?   Android中java完全控制的线程队列   JTextArea中的java计算   java如何独立运行。jar作为64位mashine上的32位   java在尝试实例化自引用泛型类的实例时,如何处理自引用类型参数   java如何安装着色jar而不是原来的jar   java在resultSet之后使用If-Else   多线程是java。朗,反思一下。方法调用线程安全   java 7语言向后兼容性   Objective C中的Category和Java 8中的Default方法是否等效?