Как импортировать значения углов из каталога в GalSim

Я пытаюсь импортировать значения галактик (индекс Серсика, половину светового радиуса и т. Д.) Из внешнего файла ASCII в GalSim. У меня проблемы с чтением в значении угла положения "бета", и я хотел бы знать, возможно ли это с использованием формата 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:

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).

Заранее благодарю за любую помощь или совет по этому вопросу.

1 ответ

Решение

Попробуй это:

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 введите тот же способ, если в столбцах каталога указан угол в градусах.

Другие вопросы по тегам