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

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正则表达式输出不相同   java如何使用JSOUP获取第一个链接?   java实现Spring HATEOAS链接构建   java循环骰子模拟   静态变量上的java异常   felix scr中@Reference和@References注释之间的java差异   java将SpringMVC中的路由映射到不同文件夹路径的简单方法   java通过socket将图像从安卓发送到pc   java在OpenGL中围绕点旋转直线   MyBatis生成器中的java私有同义词   既不使用volatile也不使用局部变量的java双重检查锁定   java按显示自动切换文本视图大小   继承Java SE 7程序员I Oracle认证   在JavaSwing中一行显示Blob数据   Java数独:通用数组创建   java显示包含一个属性的对象数组列表,该属性的值高于某个值   x509certificate如何获取服务器证书链,然后在Java中验证其有效性和受信任性   java与HikariCP的并发性   是否有使用Scala或Java编辑MP4元数据的库?   netbeans Java读取不同类型的图像格式jpg、tif、gif、png