Skip to main content

Глубокий анализ астрономических каталогов

PyPI version Documentation Status codecov Python Versions

Установка

CosMatch доступен для установки с сайта PyPI.

Установка базовой версии:

pip install cosmatch

Некоторые модули не представлены в базовой версии, так как содержат в себе спецефические модели, которые по возможности можно установить отдельно.

Доступные для дополнительной установки модули:

  • nway- добавляет модель для отождествления на основе байесовского подхода.

  • torch - открывает доступ к некоторым моделям, построенным на основе нейронных сетей.

Дополнительные модули могут быть установлены через "[extension-name]". Пример:

pip install cosmatch[extension-name]

Описание

Пакет CosMatch позволяет обрабатывать астрономические каталоги на новом уровне. В пакете реализованные следующие модули:

  • match - отождествление космических каталогов из разных спектральных диапазонов.

  • classification - Классификация астрономических объектов (в разработке).

  • search - Поиск редких объектов.

Также представлены несколько вспомогательных модулей:

  • load - загрузка каталогов и другие взаимодействия с популярными астрономическими сервисами.

Модуль match

Быстрый старт

Получение обучающей и прогнозной выборки.

from cosmatch.load import CSC2, CatalogLoader
from cosmatch.utils import add_postfix_to_main_columns
from cosmatch.match import get_pairs_train, get_pairs_predict

# Загружаем два рентгеновских каталога: Chandra - вспомогательный, 4XMM - основной каталог, который хотим отождествить
csc = CSC2().load()
xmm = CatalogLoader('Tests/4XMM.pkl').load()

# Загружаем оптических соседей в 15 угловых секундах от обоих каталогов
ps_near_cxc = CatalogLoader('Tests/PS_near_CSC_2_fluxes.pkl').load()
ps_near_xmm = CatalogLoader('Tests/PS_near_XMM_2_fluxes.pkl').load()

# Изменяем названия колонок, и устанавливаем словарь attrs
add_postfix_to_main_columns(csc, 'csc', add_to_attrs=True)
add_postfix_to_main_columns(xmm, 'xmm', add_to_attrs=True)
add_postfix_to_main_columns(ps_near_cxc, 'ps', add_to_attrs=True)
add_postfix_to_main_columns(ps_near_xmm, 'ps', add_to_attrs=True)
xmm.attrs['poserr'] = 'poserr'

# Получаем обущающую выборку, и выборку для применения модели (получения пар отождествления)
data_train = get_pairs_train(ps_near_cxc, xmm, csc, max_distance=15)
data_predict = get_pairs_predict(ps_near_xmm, xmm)

Построение пайплайна обучения.

from cosmatch.match import Pipeline
from cosmatch.match.models import Catboost
from cosmatch.transforms import DistanceTransform, FluxesTransform
from cosmatch.transforms import NeighboursTransform, IgnoreTransform

transforms = [
NeighboursTransform(
    to_r98=True,
    to_distance=(5, 10, 15)),
FluxesTransform(
    fluxes=[('ps_flux_1', 'ps_flux_1_err'),
            ('ps_flux_2', 'ps_flux_2_err'),
            ('xmm_flux_1', 'xmm_flux_1_err'),
            ('xmm_flux_2', 'xmm_flux_2_err'),
            ('xmm_flux_3', 'xmm_flux_3_err'),
            ('xmm_flux_4', 'xmm_flux_4_err'),
            ('xmm_flux_5', 'xmm_flux_5_err'),
            ('xmm_flux_8', 'xmm_flux_8_err'),
            ('xmm_flux_9', 'xmm_flux_9_err')]),
IgnoreTransform(
    ['ps_flux_1', 'ps_flux_1_err',
    'ps_flux_2', 'ps_flux_2_err',
    'xmm_flux_1', 'xmm_flux_1_err',
    'xmm_flux_2', 'xmm_flux_2_err',
    'xmm_flux_3', 'xmm_flux_3_err',
    'xmm_flux_4', 'xmm_flux_4_err',
    'xmm_flux_5', 'xmm_flux_5_err',
    'xmm_flux_8', 'xmm_flux_8_err',
    'xmm_flux_9', 'xmm_flux_9_err']
)
]
pipeline = Pipeline(
    model=Catboost(),
    transforms=transforms,
    ignored_features=['ra_xmm', 'dec_xmm', 'ra_ps', 'dec_ps'])

Обучение модели и прогноз на всем каталоге

pipeline.fit(data_train)

result = pipeline.predict(data_predict)

Более подробно про различные модели, метрики, преобразования данных смотрите в jupiter notebooks в примерах.

Примеры использования инструмента

  • Основное обучение модулю match notebook

Документация

Документация CosMatch доступна тут

Metadata

Release files for cosmatch 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cosmatch 0.1.4
File Size Uploaded Provenance Actions
cosmatch-0.1.4.tar.gz 82.9 kB Without provenance Details for cosmatch-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cosmatch 0.1.4
File Interpreter ABI Platform Actions
cosmatch-0.1.4-py3-none-any.whl Python 3 none any Details for cosmatch-0.1.4-py3-none-any.whl

Total release size: 180.5 kB

Release files / cosmatch-0.1.4.tar.gz

Download URL cosmatch-0.1.4.tar.gz
Size 82.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b91dc7bc3a898c0b7533776f8cc1d5a7f3e1f98669f4ab251eda91a1c39bb615
BLAKE2b-256 checksum
How to use checksums
dafa4f95791a752e2141aa526a58714b939fe800782cc4ffd5dde31b7ad3770d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Linux/5.4.109+

Release files / cosmatch-0.1.4-py3-none-any.whl

Download URL cosmatch-0.1.4-py3-none-any.whl
Size 97.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd48878130ced44b4aed69e4453e123a0fd829aac48f195dc60beb80cfbadaaa
BLAKE2b-256 checksum
How to use checksums
8bbcb5fe6b3a86fc1d8d1abfb069906407d6668fdd8fde330781df75e4c96e0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Linux/5.4.109+

Security for cosmatch 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page