创建ULLYSES数据产品
项目描述
ULLYSES
此存储库包含用于创建哈勃太空望远镜(HST)紫外 Legacy Library of Young Stars as Essential Standards(ULLYSES)程序中目标的高级科学产品(HLSP)的代码。特别是,ULLYSES包中包含了HASP(哈勃高级光谱产品)使用的光谱叠加算法。
有关ULLYSES及其目标的更多信息,请访问ullyses.stsci.edu。ULLYSES团队生成的数据产品的完整描述可以在ULLYSES数据产品中找到。
安装
可以通过pip
将ullyses
包安装到虚拟环境或conda环境中。我们建议对于每个安装,您首先创建一个全新的环境,其中仅安装Python,然后将ullyses
包及其依赖项安装到该裸环境中。如果使用conda环境,请确保您已安装Anaconda或Miniconda的最新版本。
所有包依赖项将使用ullyses
安装,包括ullyses-utils,其中包含用于创建HLSPs的实用脚本和数据文件。唯一例外是stisblazefix
和CalSTIS包,它们必须手动安装,但仅当您希望创建blaze校正产品或自定义校准的STIS产品时。有关安装stisblazefix的说明,请参阅stisblazefix文档。要安装CalSTIS,您必须使用stenv
。
安装最新版本
前两步是创建和激活环境
conda create -n <env_name> python=3.9
conda activate <env_name>
一些依赖项(包括在这些脚本中使用的COS数据校准管道calcos
)需要Python 3.9或更高版本。
然后只需使用pip安装ullyses的最新版本即可
pip install ullyses
安装开发版本
要从github安装您自己的开发版本副本,您首先需要fork和克隆ullyses
存储库
cd <where you want to put the repo>
git clone https://github.com/spacetelescope/ullyses
cd ullyses
然后从您本地的已检出副本进行安装
pip install -e .
创建HLSPs(高级科学产品)
ULLYSES HLSPs有四种主要类型
- 合并和对齐光谱
- 时序光谱
- 重新打包的drizzled图像
- 自定义校准的单个光谱,或级别0 HLSPs
以下是创建每种类型HLSP的说明。
合并和对齐光谱HLSPs
为每个目标创建合并和对齐光谱。目前支持HST/COS、HST/STIS和FUSE仪器。对于COS和STIS,输入文件是_x1d.fits
或_sx1.fits
文件,对于FUSE是_vo.fits
文件。这些输入文件也可能是级别0(自定义校准光谱,见下文)。然后可以程序化创建合并和对齐光谱,或使用命令行脚本coadd
。
从命令行
coadd -i <input_directory> -o <output_directory>
其中<input_directory>
包含要合并的数据,产品将写入<output_directory>
。
可以程序化提供目录或一组特定文件
from ullyses.ullyses_coadd_abut_wrapper import main, coadd_and_abut_files
coadd_and_abut_files(file_list, output_directory)
main(input_directory, output_directory)
无论在输入列表或目录中指定了什么文件,只有相同仪器和光栅组合的文件才会合并。所有输入光栅的数据都将根据ULLYSES采用的策略对齐。
时序光谱HLSPs
有两种主要的时序光谱类型:曝光级和子曝光级。曝光级时序光谱实际上是单个1D光谱的堆叠。子曝光级时序光谱由分割的1D光谱组成。也就是说,对于时间标记数据(目前仅限COS/UV),曝光被分解成更小的时序块,然后进行堆叠。
HST时序
对于HST,曝光级和子曝光级时序光谱的创建方式相同。要创建HST时序光谱,您必须提供配置YAML文件。ULLYSES团队已经为监测恒星(V-TW-HYA、V-BP-TAU、V-RU-LUP、V-GM-AUR)创建了此类文件,并在ullyses-utils存储库中存储了最佳参数的YAML文件。您可以使用ULLYSES YAML文件作为输入,或提供自己的,但它们必须符合所需格式。有关示例,请参阅TW Hydra YAML文件。
警告:为了创建HST时序光谱,必须创建和校准单个分割曝光。这个过程可能非常耗时,在某些系统上可能需要数小时。
一旦您有了YAML文件,就可以这样创建时序光谱
python ctts_cal.py --orig <origdir> --copydir <copydir> --hlspdir <hlspdir> --targ <targ> --yaml <yaml>
其中,<origdir>
是包含所有输入数据的目录,<copydir>
是复制输入数据的目录(数据将被修改),<hlspdir>
是写入最终时序光谱的目录,<targ>
是校准目标的ULLYSES名称,而<yaml>
是YAML确认文件。如果没有提供YAML文件,则将使用目标名称从ullyses-utils
存储库获取适当的文件。
ctts_cal.py
还校正了COS/NUV数据中的光晕。
光度时序
可以使用随时间变化的光度测量创建时序“光谱”。ULLYSES团队使用LCOGT望远镜网络对ULLYSES低质量恒星进行了光度测量。
要创建LCOGT光度时序光谱
python lcogt_hlsps_wrapper.py -i <indir> -o <outdir> -t <targ>
其中,<indir>
是包含原始LCOGT FITS图像的目录(用于提取观测元数据),<outdir>
是写入HLSP的目录,而<targ>
是ULLYSES目标名称。将使用目标名称从ullyses-utils
存储库中检索适当的光度测量。
重新打包的Drizzled图像HLSP
ULLYSES团队为低金属丰度星系NGC3109和SextansA创建了drizzled WFC3图像。这些图像已重新打包以符合ULLYSES HLSP要求,但数据数组值保持不变。
要创建drizzled图像HLSP
python imaging_hlsps_wrapper.py <drcfile> -o <outdir> -t <targ>
其中,<drcfile>
是原始drizzled DRC文件的名字,<outdir>
是写入HLSP的目录,而<targ>
是ULLYSES目标名称。
可选参数是
--hdr_targ HDR_TARG If specified, alternative target name to use in HLSP file name
--hlspname HLSPNAME Name of output HLSP file. By default, follows ULLYSES standard
自定义校准光谱HLSP
在将光谱转换为ULLYSES HLSP之前,一些目标需要额外的处理来解决各种校准问题。例如,STIS/G750L数据必须去光环,或必须纠正波长偏移。一旦应用了这些自定义校准步骤,将在输出FITS文件中添加一个关键字,表示文件应被视为级别0 HLSP——即,一个自定义校准的单个 1D光谱。下面描述了各种级别0产品及其创建方法。
自定义校准STIS光谱
所有T Tauri星STIS CCD观测,以及部分STIS NUV-和FUV-MAMA观测,都需要定制的校准。特殊的校准步骤可能包括:自定义热像素识别和标记,G750L观测的去光环,以及为T Tauri星及其伴星定制的光谱提取参数。
要创建自定义校准的STIS光谱,您必须提供一个配置YAML文件,其中列出特定的校准参数。ULLYSES团队已检查每个T Tauri星,并在ullyses-utils存储库中记录了最佳自定义校准参数的YAML文件。您可以使用ULLYSES YAML文件作为输入,或提供自己的文件,但它必须符合此处概述的格式。
一旦您有了YAML文件,就可以这样创建自定义校准的STIS光谱
python calibrate_stis_data.py -i <indir> -y <yaml> -o <outdir>
其中,<indir>
是包含您希望校准的数据的输入目录,<yaml>
是yaml文件名,而<outdir>
是写入产品、日志和诊断图的输出目录。将写入一个格式为YYYYMMDD_HHmm_cal.log
的日志文件,除非使用以下可选参数进行其他指定。
可选参数是
-c, --clobber If True, overwrite existing products
--nolog If True, do not produce log file
-l LOGFILE, --logfile LOGFILE
Alternative name of output log file
波长移位的COS光谱
如果目标在COS孔径中未完全居中,波长阵列可能会偏离其真实值。可以通过重新校准数据和向CalCOS提供偏移文件来轻松纠正波长偏移,具体方法请参阅COS数据手册。
ULLYSES团队已经确定了需要此类波长偏移校正的恒星,并在ullyses-utils存储库中存储的文本文件中记录了必要的偏移。
一旦你有了偏移文件,你可以通过提供多个曝光的目录或提供单个文件来创建波长偏移的COS光谱。你可以使用预定义的ULLYSES偏移文件创建波长偏移的COS光谱,如下所示
python apply_cos_shifts.py <infiledir> <outdir>
其中 <infiledir>
是应偏移的输入文件名或文件目录,<outdir>
是写入偏移1D光谱的目录。在这种情况下,输入文件(们)头部的目标名称必须与偏移文件中的目标名称匹配。如果由于某种原因它不匹配,您还必须使用额外的 -t <targ>
参数提供偏移文件中出现的目标名称。
您还可以使用自己的自定义偏移文件创建波长偏移的COS光谱,方法如下
python apply_cos_shifts.py <infiledir> <outdir> -s <shift_file>
其中 <shift_file>
是您自定义偏移文件的名称。
其他可选参数包括
--copydir COPYDIR Name of directory to copy shifted products to
-c, --overwrite If True, overwrite existing products
自定义标记的FUSE光谱
ULLYSES团队通常使用经过最小修改的FUSE 虚拟天文台文件。每个VO文件都添加了一个DQ(数据质量)数组,这是ULLYSES管道所需的。对于大多数FUSE目标,这个DQ数组是均匀为零的,这意味着没有数据质量问题。然而,对于少数目标,将实施自定义标记,以筛选出有问题的光谱区域。可能的DQ标记包括
- DQ=1(区域受到蠕虫的影响)
- DQ=2(光度质量差)
要创建这些自定义标记的FUSE光谱
python make_flagged_fuse.py -i <infile> -o <outdir>
其中 <infile>
是要标记的文件,<outdir>
是输出目录。
其他可选参数包括
-t TARG or --targ TARG ULLYSES name of target
-c or --overwrite If True, overwrite existing products
贡献和反馈
我们欢迎对这个项目的贡献和反馈。如果您想建议对这个内容进行更改,请按照以下步骤操作
- 将其Fork。
- 创建您的功能分支(git checkout -b my-new-feature)。
- 将您的更改添加到暂存区域(git add myfile);这可以重复多次。
- 如果您添加了新的样式指南,请不要忘记更新README.md中的指南列表。
- 在暂存区域提交您的更改(git commit -m 'Added some feature')。
- 将分支推送到(git push origin my-new-feature)。
- 创建新的Pull Request(PR)。
- 请求PR审查。
我们致力于通过遵守行为准则为所有用户提供欢迎的社区。
如果您对软件有任何问题或疑虑,请打开一个问题或联系HST帮助台。如果您对ULLYSES程序设计或数据有任何问题,请联系HST帮助台。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
ullyses-4.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a3fb592d2072aa1ef89e82c0b5e8ac294c54d12f7f61de9fce30e4b996d3f827 |
|
MD5 | 6e3e6add7c82dea1a78b094bf4d2a78e |
|
BLAKE2b-256 | f4272b7ceded4120674c939d98dcb848ab3de8ae6d924fd8cf6e6ccdae3da38b |
ullyses-4.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9aca1603bb18866a8c9632291b94189d1c59d083acb194913f929bd87ee8ae54 |
|
MD5 | b99d1b306662d704dc9577d408380f69 |
|
BLAKE2b-256 | 6ca038a40da07f8c0821dbcd93613370775ade5c456a82c203ddc989aa35f178 |