首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将角值从目录导入到GalSim中

如何将角值从目录导入到GalSim中
EN

Stack Overflow用户
提问于 2019-01-24 01:28:33
回答 1查看 36关注 0票数 1

我试图从外部的ascii文件中导入星系值(Sersic索引、半光半径等)到GalSim中。我在读取位置角值'beta‘有困难,并想知道这是否可能使用YAML格式。

当我尝试时,我得到了错误消息:

galsim.errors.GalSimConfigValueError: Invalid value_type specified for parameter beta with type=Catalog. Value <class 'coord.angle.Angle'> not in (<class 'float'>, <class 'int'>, <class 'bool'>, <class 'str'>)

我意识到我收到了这个错误消息,因为我无法在输入后追加字符串'deg‘来指定输入的单位是度。

我尝试将'deg‘直接添加到输入目录中(在“语音标记”中),但没有成功。我还试着在目录读取代码中的语句后添加“deg”,也没有成功。

下面是一个最低限度的工作示例。这依赖于同一个目录中一个名为“input.dat”的文件,其中只有一个数字(例如,45)。然后,将下面的代码保存为“test.yaml”,并以$ galsim test.yaml的形式在命令行上运行

代码语言:javascript
复制
gal :
    type : Sersic
    n : 1
    half_light_radius : 1
    flux : 1
    ellip : 
        type : QBeta 
        q : 0.5
        beta : { type : Catalog , col : 0 }

input :
    catalog :
        file_name : input.dat

我希望能够从输入的ascii目录中读取β位置角参数,并将它们复制到输出星系轮廓中。上面的MWE应该在45度的位置角(或放置在“input.dat”内的任何数字)产生一个中等椭圆星系的小邮资邮票图像。

预先感谢您在这方面的任何帮助或建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-28 19:18:42

试试这个:

代码语言:javascript
复制
gal :
    type : Sersic
    n : 1
    half_light_radius : 1
    flux : 1
    ellip : 
        type : QBeta 
        q : 0.5
        beta : 
            type: Radians
            theta: { type : Catalog , col : 0 }

input :
    catalog :
        file_name : input.dat

如果目录列以度为单位列出角度,则还有一个Degrees类型的工作方式相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54338131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档