跳转到主要内容

DKIST数据验证器

项目描述

包含验证器和DKIST规范(特别是对应于SPEC122 RevE和SPEC214 RevA数据)的规范翻译器的接口

  • SPEC-0122:来自山顶的数据

  • SPEC-0214 l0:由数据中心摄取和解析的数据

  • SPEC-0214:数据中心发布的数据(不完整)

验证器引用DKIST头规范的可读机器版本,这些规范在此处定义,在dkist-fits-specifications中。除非另有说明,否则验证器将与dkist-fits-specifications包的最新版本一起安装。如果您收到验证错误,请参考dkist-fits-specifications包中标识的DKIST头规范版本,以确保您的头文件符合该版本。

功能

  • 使用voluptuous模式来验证给定输入头文件与dkist规范

  • 3个关键字验证:类型验证、必需性验证和值验证

  • 失败异常包括验证失败原因的字典

  • SPEC-0122到SPEC-0214 l0的翻译

安装

pip install dkist-header-validator

用法

目前,此包可用于验证SPEC122数据或SPEC214数据。请导入相应的函数(spec122_validator和Spec122ValidationException,或spec214_validator和Spec214ValidationException,或spec214_l0_validator和Spec214ValidationException)。

此包可用于验证数据,或用于验证和翻译数据(仅限SPEC122输入)。

输入数据可以是以下之一
  • 字符串文件路径

  • 文件对象

  • HDUList对象

  • fits.header.Header对象

  • 标题键值字典

验证数据

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException

>>> spec122_validator.validate('dkist_rosa0181200000_observation.fits')

CLI也可以用来验证数据

>>> dkist-header-validator validate122 "path/to/file.fits"

>>> dkist-header-validator validate214 "path/to/file.fits"

验证并将数据翻译为spec214 l0

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException

>>> spec122_validator.validate_and_translate_to_214_l0('dkist_rosa0181200000_observation.fits')
在validate和validate_and_translate方法中,可以设置一系列标志,否则它们将采用默认值
  • extra: 默认值为true(允许额外键)。此标志确定是否允许在要验证的模式中包含额外关键字。摄取验证应允许额外键。

  • return_type: 默认值为HDUList。此标志将确定返回类型。可以是dict、Path、BytesIO、fits.header.Header、HDUList之一。

示例

  1. 验证文件

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException
>>> spec122_validator.validate('dkist_rosa0181200000_observation.fits', return_type=dict)

>>> from pathlib import Path
>>> spec122_validator.validate('dkist_rosa0181200000_observation.fits', return_type=Path)
  1. 验证并翻译文件

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException
>>> spec122_validator.validate_and_translate_to_214_l0('dkist_rosa0181200000_observation.fits')
  1. 验证头信息

>>> from dkist_header_validator import spec122_validator, Spec122ValidationException
>>> from astropy.io import fits
>>> hdus = fits.open('dkist_rosa0181200000_observation.fits')
>>> spec122_validator.validate(hdus[0].header, return_type=dict)

本项目的版权为(c) AURA/NSO。

项目详情


发布历史 发布通知 | RSS源

下载文件

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

源分发

dkist-header-validator-5.1.1.tar.gz (29.2 kB 查看哈希值)

上传时间

由以下支持