Мне нужно хорошее объяснение или пример того, как работает Astropy search_around_*. К сожалению, туториал с официальной страницы мне не помогает.
У меня есть каталог с источниками наземной истины (GT). У меня также есть несколько патчей (соответствующих изображениям), которые включают в себя некоторые из тех, которые включены в мой каталог GT. Я хочу узнать, какие источники в моем каталоге GT включены в патч для изображений.
Мой каталог GT организован примерно так: ID ... RA, Dec ... и это файл .txt.
Вот я и хочу вернуть какие координаты в ГТ включены в патч.
Что я сделал, так это то, что я получил WCS из заголовка патча, и у меня есть мировой центр изображения. Затем я попытался протестировать фактический код, предоставленный официальной документацией (http://docs.astropy.org/en/stable/coordinates/matchsep.html).
Я использовал следующий код, предполагая, что 2-й аргумент search_around_sky
- это градусы, которые он ищет (??)
x,y,w=patch_celestial_center(patch=None) #x,y are the World center of the patch
c=SkyCoord(ra=x*u.deg,dec=y*u.deg, frame=FK5)
cat=ascii.read("$training_set.txt")
catalogue_coo=SkyCoord(cat["RA(core)"]*u.deg, cat["DEC(core)"]*u.deg, frame=FK5)
idx_1, idx_2 d2d_, d3d_ = catalogue_coo.search_around_sky(c, 1*u.deg)
Я получаю следующую ошибку:
Traceback (most recent call last):
File "$$/train_utils.py", line 49, in <module>
x,y,w=patch_celestial_center(patch=None)
File "$$train_utils.py", line 43, in patch_celestial_center
idxc, idxcatalog, d2d, d3d = catalog.search_around_sky(c, 1 * u.deg)
File "$$/lib/python3.5/site-packages/astropy/coordinates/sky_coordinate.py", line 1170, in search_around_sky
storekdtree='_kdtree_sky')
File "$$/lib/python3.5/site-packages/astropy/coordinates/matching.py", line 330, in search_around_sky
raise ValueError('One of the inputs to search_around_sky is a scalar. '
ValueError: One of the inputs to search_around_sky is a scalar. search_around_sky is intended for use with array coordinates, not scalars. Instead, use ``coord1.separation(coord2) < seplimit`` to find the coordinates near a scalar coordinate.
Process finished with exit code 1
это что-то, что связано с моими данными перед тестированием? Это из-за формирования моего каталога?
Я чего-то не понимаю в функциональности search_around_sky
?
Пожалуйста, помогите!