跳转到主要内容

创建ULLYSES数据产品

项目描述

ULLYSES

此存储库包含用于创建哈勃太空望远镜(HST)紫外 Legacy Library of Young Stars as Essential Standards(ULLYSES)程序中目标的高级科学产品(HLSP)的代码。特别是,ULLYSES包中包含了HASP(哈勃高级光谱产品)使用的光谱叠加算法。

有关ULLYSES及其目标的更多信息,请访问ullyses.stsci.edu。ULLYSES团队生成的数据产品的完整描述可以在ULLYSES数据产品中找到。

安装

可以通过pipullyses包安装到虚拟环境或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有四种主要类型

  1. 合并对齐光谱
  2. 时序光谱
  3. 重新打包的drizzled图像
  4. 自定义校准的单个光谱,或级别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

贡献和反馈

我们欢迎对这个项目的贡献和反馈。如果您想建议对这个内容进行更改,请按照以下步骤操作

  1. 将其Fork。
  2. 创建您的功能分支(git checkout -b my-new-feature)。
  3. 将您的更改添加到暂存区域(git add myfile);这可以重复多次。
  4. 如果您添加了新的样式指南,请不要忘记更新README.md中的指南列表。
  5. 在暂存区域提交您的更改(git commit -m 'Added some feature')。
  6. 将分支推送到(git push origin my-new-feature)。
  7. 创建新的Pull Request(PR)。
  8. 请求PR审查。

我们致力于通过遵守行为准则为所有用户提供欢迎的社区。

如果您对软件有任何问题或疑虑,请打开一个问题或联系HST帮助台。如果您对ULLYSES程序设计或数据有任何问题,请联系HST帮助台

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

ullyses-4.1.0.tar.gz (82.5 kB 查看哈希值)

上传时间 源代码

构建分发

ullyses-4.1.0-py3-none-any.whl (89.4 kB 查看哈希值)

上传时间 Python 3

由以下支持