Astropy 天文学核心库
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/astropy。
技能介绍
要解决什么问题
天文数据处理里,坐标系不统一、单位混用、FITS 头与像素坐标脱节、时间尺度选错,都会在后期分析里放大成系统性错误。Astropy 把天文学里反复出现的「表示—转换—读写—计算」收敛到同一套 Python API,而不是在每个项目里手写换算与文件解析。
技能如何工作
本 Skill 围绕 Astropy 的稳定子模块组织用法,可按任务切入:
astropy.units/Quantity:物理量带单位运算,用.to()与等价关系(光谱、多普勒、视差等)做领域转换。astropy.coordinates.SkyCoord:在 ICRS、Galactic、FK5、AltAz 等框架间变换,算角距、位置角,并与星表做匹配。astropy.io.fits:用上下文管理器读写 HDU,处理图像数组与二进制/ASCII 表,必要时内存映射或远程 FITS。astropy.cosmology:基于 Planck18、WMAP9 等模型算光度/共动距离、回溯时间、哈勃参数及反算红移。astropy.time:在 UTC、TAI、TT、TDB 等尺度与 JD、MJD、ISO 等格式间做精确时间与光行时修正。astropy.table/QTable:星表 I/O、过滤、连接、分组;带单位列时用QTable。astropy.wcs:从 FITS 头建立 WCS,在像素与世界坐标间互转。
常见路径包括:批量坐标变换、打开 FITS 做头/数据检查、宇宙学距离计算、两表交叉匹配。Skill 内 references/*.md 按模块展开细节与性能提示。
适用边界与注意点
- 需要 Python 3.11+;生产环境应固定
astropy与完整依赖树,避免[recommended]/[all]带来不可复现的传递版本。 SkyCoord.from_name()、远程 FITS、download_file()、部分 IERS 更新 可能访问外网或刷新本地缓存;敏感目标名、地址或专有路径应先与用户确认。- 变换坐标前务必核对 框架;计时任务应 显式指定时间尺度;含缺失值的表优先用掩码列。
- Astropy 8.0 候选版会调整宇宙学子模块导入路径与默认物理常数集;若重现实验结果,需有意识锁定常量与版本。
使用场景
- 夜测前把 ICRS 目标坐标变换到台址 AltAz,并核对观测窗口与角距约束
- 从望远镜多扩展 FITS 读取图像与表扩展,检查头关键字并提取像素级数据
- 将两份巡天星表按 SkyCoord 做交叉匹配,过滤角距阈值内的候选源
- 给定星系红移,用 Planck18 等模型计算光度距离、共动距离与回溯时间供论文图件使用
适合人员
- 在台址做观测准备、要把星表坐标变换到地平系并算角距的观测助理或值班研究生
- 负责数据 reduction、每天读写 FITS 并维护 WCS 与源表管道的天文数据工程师
- 写宇宙学或星系演化分析、需要标准模型距离—红移关系与可复现常数的博士后或研究员
- 维护时间序列或脉冲星计时流程、必须在 UTC/TT/TDB 间显式换算并做光行时修正的时域天文研究者