主星序的自动属性插值和颜色计算

MeanStars的Python项目详细描述


Build StatusCoverage StatusastropyPyPI versionRequirements Status

平均星

这段代码提供了基于Eric Mamajek的“现代平均矮恒星颜色和有效温度序列”(http://www.pas.rochester.edu/~emamajek/EEM_dwarf_UBVIJHK_colors_Teff.txt)的自动计算功能。

该代码的目的是允许用户自动插入表的属性列,并根据测光列的任何组合计算颜色。

安装和要求

meanstars需要以下python模块:

  • 努比
  • scipy
  • 天体物理学

要安装,只需运行:

pip install MeanStars

或者,获取存储库的副本并运行:

python setup.py install

用法

要使用meanstars,必须首先创建meanstars对象:

fromMeanStarsimportMeanStarsms=MeanStars()

此对象包含许多有用的属性,包括:

  • ms.data:astropy表格格式的完整数据集
  • ms.bands:数据集(在字符串数组中)中所有唯一条带的名称
  • ms.colors:数据集的所有原始颜色(在nx2字符串数组中,其中n是ms.bands的长度,颜色是第一列减去第二列)。同样的信息也编码在ms.colorstr中,这是数据集的原始颜色名
  • ms.noncolors:所有与颜色无关的数据属性(包括恒星质量、半径等)
  • ms.SpecTypes:数据集中的所有主要光谱类型(在字符串数组中,通常为o、b、a、f、g、k、m、l、t、y)
  • ms.colorgraph:一个有向图(编码为字典),映射由原始数据集中的颜色建立的波段之间的所有关系

插值颜色

meanstars提供了两种插值颜色的方法:TeffColorSpTColor,前者按有效温度插值,后者按光谱类型插值。一般来说,您不太可能希望按未明确列出的任何光谱类型来查询数据,因此SpTColor通常充当数据的简单查找表。在每种情况下,通过提供定义颜色的两个波段(在代码中称为startend)以及温度或光谱类型来调用这些方法。

因此,要找到29000K恒星的“U-B”颜色,您可以执行:

ms.TeffColor('U','B',29000)

这个特定的实例对应于数据表中的一个确切条目,返回的值应该与条目完全匹配。一个更有趣的例子是6000 K恒星的“U-H”颜色:

ms.TeffColor('U','H',6000)

在这里,您请求的颜色在表中未找到的温度下(但用其他温度值括起来)。通过运行以下命令,您可以查询以找到组合成此结果的特定颜色集:

ms.searchgraph('U','H')

它将返回['U', 'B', 'V', 'Ks', 'H'],这意味着添加了“u-b”、“b-v”、“v-ks”和“ks-h”颜色以获得结果。

按谱类型插值的工作方式完全相同,只是类型由表示主要子类型和次要子类型的两个输入变量定义。因此,要找到g2v矮星的u-h颜色,您可以执行:

ms.SpTColor('U','H','G',2)

每次对新颜色(对于给定的对象实例)调用这些例程中的一个时,生成的interplant将保存在ms.Teffinterpsms.SpTinterps(根据方法调用而定)中。这意味着每个对象实例只生成一次interplant,从而加快后续计算。

插值其他属性

与颜色一样,原始数据集中的任何其他属性都可以分别通过方法TeffOtherSpTOther作为有效温度或光谱类型的函数进行插值。这些方法使用与其颜色对应项相同的语法,但属性是由单个字符串输入定义的。

因此,要计算5500K恒星的平均太阳质量,你可以运行:

ms.TeffOther('Msun',5500)

找到中庸之道k9v星的半径,你可以运行:

ms.SpTOther('R_Rsun','K',9)

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

推荐PyPI第三方库


热门话题
java如何将异步类的结果放入mainActivity EditText   java LDAP目录管理器服务提供,OutOfMemory   java Cassandra NoHostAvailableException,但仍存在活动节点   springboot应用程序的java启动线程   如果poll不一定返回第一项,那么java是ConcurrentLinkedQueue的好选择吗?   解析XML时JSON中出现java意外字符串   当'key'是两个整数时,如何输出Java HashMap键?   java为什么不显示在jsp页面中   java使用流式API转换映射列表中的值   JavaJPA+Spring:基于在持久化实体之前接收到的值,将外键列映射到ID   java如何使用selenium读取pdf文件   Canny之后的java对象提取   DSpace没有列出集合,java。lang.NumberFormatException:null   java我可以为数据库表主键设置一个最大值吗?   java如何定义Javadoc链接,可以通过单击   @java/spring中的SessionAttribute是否丢失数据?