Community연구 & 데이터 분석github.com

marnixGeerkens/rocketlauncher-claude-code

천문학 및 천체물리학을 위한 포괄적인 Python 라이브러리입니다. 천체 좌표, 물리 단위, FITS 파일, 우주론 계산, 시간 시스템, 테이블, 세계 좌표계(WCS) 및 천문 데이터 분석을 포함한 천문 데이터 작업에 사용해야 합니다. 좌표 변환, 단위 변환, FITS 파일 조작, 우주론적 거리 계산, 시간 척도 변환 또는 천문 데이터 처리 작업에 사용하세요.

rocketlauncher-claude-code란 무엇인가요?

이 스킬은 천문학 및 천체물리학 연구 및 데이터 분석에 필수적인 기능을 제공하는 핵심 Python 패키지인 Astropy에 대한 포괄적인 지침을 제공합니다. 개발자는 이 스킬을 사용하여 천체 좌표 변환(ICRS, 은하 좌표, AltAz 등), 물리 단위 및 수량 계산, FITS 파일 읽기/쓰기/조작, 표준 우주론 모델(Planck18 등)을 사용한 우주론적 거리 계산, 정밀 시간 처리 및 다양한 시간 척도(UTC, TAI, TDB) 간 변환을 수행할 수 있습니다. 또한 테이블 기반 카탈로그 작업(교차 매칭, 필터링, 조인)과 세계 좌표계(WCS)를 사용한 픽셀-좌표 변환도 지원합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 AI 에이전트에 최적화되어 있으며, 개발자가 천문 데이터 처리 워크플로우를 효율적으로 구축할 수 있도록 상세한 코드 예제와 모범 사례를 제공합니다.

지원 대상✓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 패키지입니다. 좌표 변환, 단위 및 수량 계산, FITS 파일 작업, 우주론 계산, 정밀 시간 처리, 표 형식 데이터 조작 및 천문 이미지 처리에 Astropy를 사용하세요.

이 스킬을 사용해야 하는 경우

다음과 같은 작업이 포함될 때 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로 좌표 생성
  • 좌표계 간 변환
  • 각분리 및 위치각 계산
  • 카탈로그에 좌표 매칭
  • 3D 좌표 작업에 거리 포함
  • 고유 운동 및 시선 속도 처리
  • 온라인 데이터베이스에서 명명된 객체 쿼리

참조: references/coordinates.md에서 상세 좌표 프레임 설명, 변환, 관측자 종속 프레임(AltAz), 카탈로그 매칭 및 성능 팁을 확인하세요.

3. 우주론 계산 (astropy.cosmology)

표준 우주론 모델을 사용하여 우주론 계산을 수행합니다.

주요 작업:

  • 내장 우주론 (Planck18, WMAP9 등) 사용
  • 사용자 정의 우주론 모델 생성
  • 거리 계산 (광도, 공변, 각지름)
  • 나이 및 후방 시간 계산
  • 모든 적색편이에서 허블 매개변수 결정
  • 밀도 매개변수 및 부피 계산
  • 역 계산 수행 (주어진 거리에 대한 z 찾기)

참조: 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) 작업
  • 마스킹으로 누락된 데이터 처리

참조: references/tables.md에서 테이블 생성, I/O 작업, 데이터 조작, 정렬, 필터링, 조인, 그룹화 및 성능 팁을 확인하세요.

6. 시간 처리 (astropy.time)

정밀한 시간 표현 및 시간 척도와 형식 간 변환.

주요 작업:

  • 다양한 형식(ISO, JD, MJD, Unix 등)으로 Time 객체 생성
  • 시간 척도 간 변환 (UTC, TAI, TT, TDB 등)
  • TimeDelta로 시간 산술 연산 수행
  • 관측자를 위한 항성시 계산
  • 광행시간 보정 계산 (무게 중심, 태양 중심)
  • 시간 배열 효율적으로 작업
  • 마스킹된(누락된) 시간 처리

참조: references/time.md에서 시간 형식, 시간 척도, 변환, 산술, 관측 기능 및 정밀도 처리를 확인하세요.

7. 세계 좌표계 (astropy.wcs)

이미지의 픽셀 좌표와 세계 좌표 간 변환합니다.

주요 작업:

  • FITS 헤더에서 WCS 읽기
  • 픽셀 좌표를 세계 좌표로 변환 (및 역변환)
  • 이미지 풋프린트 계산
  • WCS 매개변수 접근 (기준 픽셀, 투영, 축척)
  • 사용자 정의 WCS 객체 생성

참조: references/wcs_and_other_modules.md에서 WCS 작업 및 변환을 확인하세요.

추가 기능

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"고도={c_altaz.alt.deg}, 방위각={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}, 중앙값: {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.

관련 스킬