Нарисуйте круги в DS9 на верхней части изображения

У меня есть астрономическое изображение всего ночного неба (галактическая плоскость в гамма-лучах), открытого на DS9 в галактических координатах. Я хотел бы, чтобы DS9 рисовал круги над списком координат, которые я предоставляю, и рисовал эти круги поверх изображения ночного неба, которое у меня уже есть. Я знаю, что должен быть простой способ сделать это, почесывая голову здесь...

1 ответ

если у вас есть каталог объектов

      import pandas as pd
from astropy.table import Table

# read catalog
candels_catalog = 'cat.csv'
df = pd.read_csv(candels_catalog)

# CSV to Astropy Table
table = Table.from_pandas(df)

# prepare .reg f=ile
reg_filename = "cat.reg"
with open(reg_filename, 'w') as regfile:
    regfile.write("# Region file format: DS9 version 4.1\n")
    regfile.write("global color=green dashlist=8 3 width=2 font=\"helvetica 10 normal roman\" select=1 highlite=1 dash=0 fixed=0 edit=1 move=1 delete=1 include=1 source=1\n")
    regfile.write("image\n")

    # over table'objects
    for obj in table:
        x, y = obj['X_IMAGE'], obj['Y_IMAGE']
        a, b = obj['A_IMAGE'], obj['B_IMAGE']
        theta = obj['THETA_IMAGE']

        # write.reg(use pixel coor)
        regfile.write("ellipse({},{},{},{},{})\n".format(x, y, a, b, -theta))
Другие вопросы по тегам