创建GHz/THz范围内的星系光谱样本

galspec的Python项目详细描述


GalSpec包

这个软件包的目的是快速而容易地产生一个带有黑体连续发射线和发射线的星系光谱。此软件包中的线路包括:

  • CO线
  • SIII公司
  • SiII公司
  • 喂,喂
  • 不,不
  • CII,CI

代码,Tom Bakx,分子线的包装和添加以及Stefanie Brackenhoff的重标度

功能和使用

  • 可以使用spectrum()函数生成光谱。在

它需要以下输入:

  • luminity以log为单位(L_fir[L_sol])
  • redshiftz
  • fLow,fHigh频谱中以GHz为单位的最小和最大频率
  • numFreqBins应评估频谱的线性间隔频率单元的数量
  • linewidth以km/s为单位的谱线宽度
  • COlines“Kamenetzky”1或“Rosenberg”2决定CO线的振幅,默认为Kamenetzky。在
  • lines“Bonato”3或“Spinoglio”4决定其余谱线的振幅,默认为Bonato
  • mollines“真”或“假”。切换是否显示分子线。使用5估计的值。默认为“真”
  • ^{str1}$variance增加了原子线振幅的不确定性。默认为0。当前版本中未实现的分子线变化。在
  • manualrescale设置行是由Kamenetzky/Rosenberg和Bonato/Spinoglio设置的默认比率,还是由用户设置。选项:
    • 'False'使用的默认线振幅
    • ^{str1}$'Absolute'Jy黑体辐射相加中37个线振幅的numpy数组可以在rescaleArray中设置。如果mollines设置为“False”,则忽略其他条目。在
    • 'Relative'可以在rescaleArray中设置37个标量的numpy数组。Kamenetzky/Rosenberg的默认比率在加入黑体光谱之前乘以这些标量。如果mollines设置为“False”,则忽略其他条目。在
  • rescaleArray根据“手动重新缩放”中的设置重新缩放发射线。可以使用linenames()找到行的顺序

并作为输出创建:

  • freqArray以GHz为单位的阵列频率
  • spectr以Jy为单位的光谱中通量密度的数组
  • 可以使用plotspectrum()函数快速绘制光谱

此函数将spectrum()的输出作为输入,并创建带有轴标签的绘图

  • {cd5>输出的{cd5>数组中{cd5>的顺序是{cd5>。是否显示分子线的名称可以通过将关键字mollines设置为“False”来切换。在

示例

  • 简单的例子
import galspec

luminosity = 13.7
z = 4.43
fLow = 90 #GHz
fHigh = 910 #GHz
numFreqBins = 1500
linewidth = 600
gal_freq, gal_flux = galspec.spectrum(luminosity, z, fLow, fHigh, numFreqBins, linewidth, mollines = 'False')

galspec.plotspectrum(gal_freq, gal_flux)

Example

  • 利用罗森博格和斯宾诺格里奥的比率
^{pr2}$

Example2

  • 使用手动比率仅显示CO线
import galspec
import numpy as np

luminosity = 13.7
z = 4.43
fLow = 90 #GHz
fHigh = 910 #GHz
numFreqBins = 1500
linewidth = 600

names = galspec.linenames()
lines = np.zeros(len(names))
for i in range(len(names)):
    if names[i].startswith('CO'): lines[i]=1

gal_freq, gal_flux = galspec.spectrum(luminosity, z, fLow, fHigh, numFreqBins, linewidth, manualrescale = 'Relative', rescaleArray = lines, mollines = 'False')

galspec.plotspectrum(gal_freq, gal_flux)

Example3

  • 包括分子线
import galspec
import numpy as np

luminosity = 13.7
z = 4.43
fLow = 90 #GHz
fHigh = 910 #GHz
numFreqBins = 1500
linewidth = 600


gal_freq, gal_flux = galspec.spectrum(luminosity, z, fLow, fHigh, numFreqBins, linewidth)

galspec.plotspectrum(gal_freq, gal_flux)

Example4

安装

pip install galspec

必需的软件包

  • Numpy
  • ^{cd9}
  • matplotlib
  • scipy

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

推荐PyPI第三方库


热门话题
AmazonS3查找从S3forJava下载的压缩文件的MIME类型   java如何使用Selenium在<span>中查找具有特定文本的元素   python如何使用OpenIEDemo生成自定义三元组。由stanfordnlp提供的java   java遇到“方法不适用”编译错误   java如何使用Mockito在Looper中运行的验证代码。getMainLooper?   类Java目录错误   java在已知其他泛型信息时使用原始类型   java connect()和disconnect()在哪里实现?   java使用PDF Box库拆分PDF,生成的PDF几乎与源PDF文件大小相同   java PowerMockito返回错误的对象   java如何找到TIBCO集合消息的字节编码?   java Basic音乐播放器下一步和上一步按钮   添加模块描述符时,java没有名为“entityManagerFactory”的bean可用   java为什么我的代码不是线程安全的?   eclipse java。引用项目中的类的lang.NoClassDefFoundError