Community研究&データ分析github.com

marnixGeerkens/rocketlauncher-claude-code

天文学および天体物理学のための包括的なPythonライブラリです。天体座標、物理単位、FITSファイル、宇宙論的計算、時刻系、テーブル、世界座標系(WCS)、天体データ解析などに関わるタスクで使用します。座標変換、単位変換、FITSファイル操作、宇宙論的距離計算、時刻系変換、天体データ処理が必要な場合に利用してください。

rocketlauncher-claude-code とは?

このスキルは、天文学・天体物理学におけるPythonパッケージ「Astropy」の包括的な使用ガイドです。開発者は、天体座標変換(ICRS、銀河座標、FK5、AltAzなど)、物理単位と数量の扱い、FITSファイルの読み書き・操作、宇宙論的距離計算(光度距離、共動距離、角直径距離)、精密な時刻処理(UTC、TAI、TT、TDBなどの時刻系相互変換)、テーブル操作(カタログのクロスマッチ、フィルタリング、結合)、世界座標系(WCS)によるピクセル座標と天体座標の変換など、多岐にわたる天文学データ処理を効率的に行えます。スキルはClaude Codeを主なプラットフォームとして想定しており、SKILL.mdには各モジュール(units, coordinates, cosmology, io.fits, table, time, wcs)の主要な操作例やベストプラクティスが詳細に記述されています。また、NDData、モデリング、可視化、定数、畳み込み、統計などの追加機能もカバーしており、天文学データ解析の標準的なワークフローを素早く実装できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marnixGeerkens/rocketlauncher-claude-code/tree/HEAD/components/skills/scientific/astropy

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Astropy

概要

Astropyは天文学の中核となるPythonパッケージであり、天文研究とデータ解析に不可欠な機能を提供します。Astropyは座標変換、単位と数量の計算、FITSファイル操作、宇宙論的計算、精密な時刻処理、表形式データの操作、天文画像処理に使用します。

このスキルを使用すべき場合

以下のようなタスクでAstropyを使用します。

  • 天体座標系間の変換(ICRS、銀河座標、FK5、AltAzなど)
  • 物理単位と数量の操作(JyをmJyに、パーセクをkmに変換するなど)
  • FITSファイル(画像またはテーブル)の読み取り、書き込み、操作
  • 宇宙論的計算(光度距離、ルックバックタイム、ハッブルパラメータ)
  • 異なる時刻系(UTC、TAI、TT、TDB)と形式(JD、MJD、ISO)を用いた精密な時刻処理
  • テーブル操作(カタログの読み取り、クロスマッチ、フィルタリング、結合)
  • ピクセル座標と天体座標間のWCS変換
  • 天文定数と計算

クイックスタート

import astropy.units as u
from astropy.coordinates import SkyCoord
from astropy.time import Time
from astropy.io import fits
from astropy.table import Table
from astropy.cosmology import Planck18

# 単位と数量
distance = 100 * u.pc
distance_km = distance.to(u.km)

# 座標
coord = SkyCoord(ra=10.5*u.degree, dec=41.2*u.degree, frame='icrs')
coord_galactic = coord.galactic

# 時刻
t = Time('2023-01-15 12:30:00')
jd = t.jd  # ユリウス日

# FITSファイル
data = fits.getdata('image.fits')
header = fits.getheader('image.fits')

# テーブル
table = Table.read('catalog.fits')

# 宇宙論
d_L = Planck18.luminosity_distance(z=1.0)

中核機能

1. 単位と数量(astropy.units)

物理量を単位とともに扱い、単位変換を実行し、計算における次元の一貫性を確保します。

主要な操作:

  • 値に単位を掛けて数量を作成
  • .to() メソッドを使用して単位を変換
  • 自動単位処理による算術演算
  • ドメイン固有の変換用等価性(分光、ドップラー、視差)の使用
  • 対数単位(等級、デシベル)の操作

参照: 包括的なドキュメント、単位系、等価性、パフォーマンス最適化、単位演算については references/units.md を参照してください。

2. 座標系(astropy.coordinates)

天体の位置を表現し、異なる座標系間で変換します。

主要な操作:

  • 任意の座標系(ICRS、銀河座標、FK5、AltAzなど)で SkyCoord を使って座標を作成
  • 座標系間の変換
  • 角分離と位置角の計算
  • カタログへの座標マッチング
  • 3次元座標操作のための距離の組み込み
  • 固有運動と視線速度の処理
  • オンラインデータベースからの命名天体の問い合わせ

参照: 詳細な座標系の説明、変換、観測者依存の座標系(AltAz)、カタログマッチング、パフォーマンスのヒントについては references/coordinates.md を参照してください。

3. 宇宙論的計算(astropy.cosmology)

標準的な宇宙論モデルを使用して宇宙論的計算を実行します。

主要な操作:

  • 組み込み宇宙論(Planck18、WMAP9など)の使用
  • カスタム宇宙論モデルの作成
  • 距離の計算(光度距離、共動距離、角直径距離)
  • 年齢とルックバックタイムの計算
  • 任意の赤方偏移におけるハッブルパラメータの決定
  • 密度パラメータと体積の計算
  • 逆計算(与えられた距離に対する赤方偏移を求める)

参照: 利用可能なモデル、距離計算、時間計算、密度パラメータ、ニュートリノ効果については references/cosmology.md を参照してください。

4. FITSファイル処理(astropy.io.fits)

FITS(Flexible Image Transport System)ファイルの読み取り、書き込み、操作を行います。

主要な操作:

  • コンテキストマネージャーを使用したFITSファイルのオープン
  • インデックスまたは名前によるHDU(ヘッダーデータユニット)へのアクセス
  • ヘッダー(キーワード、コメント、履歴)の読み取りと変更
  • 画像データ(NumPy配列)の操作
  • テーブルデータ(バイナリテーブルおよびASCIIテーブル)の操作
  • 新しいFITSファイルの作成(単一または複数拡張)
  • 大容量ファイルのメモリマッピング
  • リモートFITSファイル(S3、HTTP)へのアクセス

参照: 包括的なファイル操作、ヘッダー操作、画像とテーブルの処理、複数拡張ファイル、パフォーマンスの考慮事項については references/fits.md を参照してください。

5. テーブル操作(astropy.table)

単位、メタデータ、およびさまざまなファイル形式をサポートする表形式データを操作します。

主要な操作:

  • 配列、リスト、または辞書からテーブルを作成
  • 複数の形式(FITS、CSV、HDF5、VOTable)でのテーブルの読み書き
  • 列と行へのアクセスと変更
  • テーブルのソート、フィルタリング、インデックス付け
  • データベース形式の操作(結合、グループ化、集約)
  • テーブルのスタックと連結
  • 単位認識列を備えたテーブル(QTable)の操作
  • マスキングによる欠損値の処理

参照: テーブル作成、I/O操作、データ操作、ソート、フィルタリング、結合、グループ化、パフォーマンスのヒントについては references/tables.md を参照してください。

6. 時刻処理(astropy.time)

精密な時刻表現と、時刻系と形式間の変換。

主要な操作:

  • さまざまな形式(ISO、JD、MJD、Unixなど)でのTimeオブジェクトの作成
  • 時刻系間の変換(UTC、TAI、TT、TDBなど)
  • TimeDeltaによる時刻演算
  • 観測者のための恒星時の計算
  • 光が伝わる時間の補正(重心補正、太陽中心補正)の計算
  • 時刻配列の効率的な操作
  • マスクされた(欠損)時刻の処理

参照: 時刻形式、時刻系、変換、演算、観測機能、精度処理については references/time.md を参照してください。

7. 世界座標系(astropy.wcs)

画像のピクセル座標と天体座標の間の変換。

主要な操作:

  • FITSヘッダーからのWCSの読み取り
  • ピクセル座標から天体座標への変換(およびその逆)
  • 画像フットプリントの計算
  • WCSパラメータ(基準ピクセル、投影法、スケール)へのアクセス
  • カスタムWCSオブジェクトの作成

参照: WCS操作と変換については references/wcs_and_other_modules.md を参照してください。

追加機能

references/wcs_and_other_modules.md ファイルは以下もカバーしています。

NDDataとCCDData

メタデータ、不確かさ、マスキング、WCS情報を持つn次元データセットのためのコンテナ。

モデリング

天文データに数理モデルを作成しフィッティングするためのフレームワーク。

可視化

適切なストレッチやスケーリングを用いた天体画像表示のためのツール。

定数

適切な単位を持つ物理定数および天文定数(光速度、太陽質量、プランク定数など)。

畳み込み

平滑化やフィルタリングのための画像処理カーネル。

統計

シグマクリッピングや外れ値除去を含むロバストな統計関数。

インストール

# astropyのインストール
uv pip install astropy

# すべての機能を有効にするためのオプション依存関係を含める場合
uv pip install astropy[all]

一般的なワークフロー

座標系間の変換

from astropy.coordinates import SkyCoord
import astropy.units as u

# 座標の作成
c = SkyCoord(ra='05h23m34.5s', dec='-69d45m22s', frame='icrs')

# 銀河座標に変換
c_gal = c.galactic
print(f"l={c_gal.l.deg}, b={c_gal.b.deg}")

# 高度方位角に変換(時刻と場所が必要)
from astropy.time import Time
from astropy.coordinates import EarthLocation, AltAz

observing_time = Time('2023-06-15 23:00:00')
observing_location = EarthLocation(lat=40*u.deg, lon=-120*u.deg)
aa_frame = AltAz(obstime=observing_time, location=observing_location)
c_altaz = c.transform_to(aa_frame)
print(f"Alt={c_altaz.alt.deg}, Az={c_altaz.az.deg}")

FITSファイルの読み取りと解析

from astropy.io import fits
import numpy as np

# FITSファイルを開く
with fits.open('observation.fits') as hdul:
    # 構造を表示
    hdul.info()

    # 画像データとヘッダーを取得
    data = hdul[1].data
    header = hdul[1].header

    # ヘッダー値にアクセス
    exptime = header['EXPTIME']
    filter_name = header['FILTER']

    # データを解析
    mean = np.mean(data)
    median = np.median(data)
    print(f"Mean: {mean}, Median: {median}")

宇宙論的距離計算

from astropy.cosmology import Planck18
import astropy.units as u
import numpy as np

# z=1.5での距離を計算
z = 1.5
d_L = Planck18.luminosity_distance(z)
d_A = Planck18.angular_diameter_distance(z)

print(f"光度距離: {d_L}")
print(f"角直径距離: {d_A}")

# その赤方偏移における宇宙の年齢
age = Planck18.age(z)
print(f"z={z} における年齢: {age.to(u.Gyr)}")

# ルックバックタイム
t_lookback = Planck18.lookback_time(z)
print(f"ルックバックタイム: {t_lookback.to(u.Gyr)}")

カタログのクロスマッチ

from astropy.table import Table
from astropy.coordinates import SkyCoord, match_coordinates_sky
import astropy.units as u

# カタログを読み取り
cat1 = Table.read('catalog1.fits')
cat2 = Table.read('catalog2.fits')

# 座標オブジェクトを作成
coords1 = SkyCoord(ra=cat1['RA']*u.degree, dec=cat1['DEC']*u.degree)
coords2 = SkyCoord(ra=cat2['RA']*u.degree, dec=cat2['DEC']*u.degree)

# マッチを検索
idx, sep, _ = coords1.match_to_catalog_sky(coords2)

# 分離閾値でフィルタリング
max_sep = 1 * u.arcsec
matches = sep < max_sep

# マッチしたカタログを作成
cat1_matched = cat1[matches]
cat2_matched = cat2[idx[matches]]
print(f"{len(cat1_matched)} 個のマッチを検出")

ベストプラクティス

  1. 常に単位を使用する: 数量に単位を付けて誤りを防ぎ、次元の一貫性を確保する
  2. FITSファイルにはコンテキストマネージャーを使用する: ファイルが適切に閉じられることを保証する
  3. ループよりも配列を優先する: パフォーマンス向上のため、複数の座標/時刻は配列として処理する
  4. 座標系を確認する: 変換前に座標系を検証する
  5. 適切な宇宙論モデルを使用する: 解析に適した宇宙論モデルを選択する
  6. 欠損データを処理する: 欠損値があるテーブルにはマスク列を使用する
  7. 時刻系を明示する: 精密な時刻処理のために時刻系(UTC、TT、TDB)を明示する
  8. 単位認識テーブルにはQTableを使用する: テーブル列に単位がある場合
  9. WCSの有効性を確認する: 変換前にWCSを検証する
  10. 頻繁に使用する値はキャッシュする: 高コストな計算(例: 宇宙論的距離)はキャッシュ可能

ドキュメントとリソース

参照ファイル

特定のモジュールの詳細については、以下を参照してください。

  • references/units.md - 単位、数量、変換、等価性
  • references/coordinates.md - 座標系、変換、カタログマッチング
  • references/cosmology.md - 宇宙論モデルと計算
  • references/fits.md - FITSファイル操作と操作
  • references/tables.md - テーブル作成、I/O、操作
  • references/time.md - 時刻形式、系、計算
  • references/wcs_and_other_modules.md - WCS、NDData、モデリング、可視化、定数、ユーティリティ

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

marnixGeerkens/rocketlauncher-claude-code

When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says "CRO," "conversion rate optimization," "this page isn't converting," "improve conversions," or "why isn't this page working." For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.

marnixGeerkens/rocketlauncher-claude-code

Balance visual design with ATS compatibility for creative roles. Use when the user is in design, art, writing, marketing creative, or any visual/creative field and needs a resume that looks distinctive but still parses.

marnixGeerkens/rocketlauncher-claude-code

Transform resume bullets into detailed portfolio case studies with context, action, and outcome. Use when the user mentions portfolio, case study, project write-up, or expanding a resume bullet into a longer narrative.

marnixGeerkens/rocketlauncher-claude-code

Expert in building portfolios that actually land jobs and clients - not just showing work, but creating memorable experiences. Covers developer portfolios, designer portfolios, creative portfolios, and portfolios that convert visitors into opportunities. Use when: portfolio, personal website, showcase work, developer portfolio, designer portfolio.

marnixGeerkens/rocketlauncher-claude-code

Tailwind CSS v4 principles. CSS-first configuration, container queries, modern patterns, design token architecture.

marnixGeerkens/rocketlauncher-claude-code

Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices.

marnixGeerkens/rocketlauncher-claude-code

Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.

marnixGeerkens/rocketlauncher-claude-code

Next.js App Router principles. Server Components, data fetching, routing patterns.

marnixGeerkens/rocketlauncher-claude-code

Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS. Includes component scaffolding, performance optimization, bundle analysis, and UI best practices. Use when developing frontend features, optimizing performance, implementing UI/UX designs, managing state, or reviewing frontend code.

marnixGeerkens/rocketlauncher-claude-code

Create API handoff documentation for frontend developers. Use when backend work is complete and needs to be documented for frontend integration, or user says 'create handoff', 'document API', 'frontend handoff', or 'API documentation'.

marnixGeerkens/rocketlauncher-claude-code

Document frontend data needs for backend developers. Use when frontend needs to communicate API requirements to backend, or user says 'backend requirements', 'what data do I need', 'API requirements', or is describing data needs for a UI.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.

関連スキル