简单的纯Python AVM元数据处理
项目描述
关于
PyAVM是一个模块,用于表示、读取和写入遵循*天文学可视化元数据* (AVM)标准的元数据。
需求
PyAVM支持Python 2.7和3.5+。只需读取和嵌入AVM元数据,无需其他依赖项。
但是,以下可选依赖项对于更高级的功能是必需的
安装和报告问题
PyAVM可以使用pip安装
pip install pyavm
请通过GitHub上的问题跟踪器报告您遇到的问题。
使用PyAVM
导入
PyAVM提供了代表AVM元数据的AVM类,并按以下方式导入
>>> from pyavm import AVM
解析文件
要从现有图像解析AVM元数据,只需使用图像的文件名(或任何类似文件的对象)调用from_image类方法
>>> avm = AVM.from_image('myexample.jpg')
目前只支持JPEG和PNG文件,因为解析遵循JPEG和PNG规范。对于其他文件格式,PyAVM将简单地扫描文件内容,寻找XMP数据包。此方法不太可靠,但在大多数实际情况下应该有效。
访问和设置元数据
您可以使用以下方法查看AVM对象的内 容:
>>> print(avm)
可以使用属性符号访问AVM元数据
>>> avm.Spatial.Equinox
'J2000'
>>> avm.Publisher
'Chandra X-ray Observatory'
可以修改标签
>>> avm.Spatial.Equinox = "B1950"
>>> avm.Spatial.Notes = "The WCS information was updated on 04/02/2010"
从头创建AVM对象
要创建一个空的AVM元数据持有者,只需调用 AVM() 而不带任何参数即可
>>> avm = AVM()
请注意,这将创建一个遵循1.2规范的AVM对象。如有必要,您可以指定使用标准的哪个版本
>>> avm = AVM(version=1.1)
转换为WCS对象
可以从AVM元数据创建一个Astropy WCS对象
>>> wcs = avm.to_wcs()
默认情况下,如果可用,将使用 Spatial.FITSheader,否则将从其他 Spatial.* 标签中提取WCS信息。要强制PyAVM不尝试使用 Spatial.FITSheader,请使用
>>> wcs = avm.to_wcs(use_full_header=False)
从FITS头初始化
要从FITS头创建AVM元数据对象,只需将头(作为Astropy Header实例)传递给 from_header 类方法即可
>>> from astropy.io import fits
>>> header = fits.getheader('image.fits')
>>> avm = AVM.from_header(header)
默认情况下,将创建AVM标签 Spatial.FITSheader,其中包含完整头信息(除了其他 Spatial.* 标签)。这可以通过以下方式禁用
>>> avm = AVM.from_header(header, include_full_header=False)
从WCS对象初始化
同样,您还可以从Astropy WCS实例创建AVM元数据对象
>>> from astropy.wcs import WCS
>>> from pyavm import AVM
>>> wcs = WCS('image.fits')
>>> avm = AVM.from_wcs(wcs)
使用AVM元数据标记图像
可以将AVM元数据嵌入到图像文件中
>>> avm.embed('original_image.jpg', 'tagged_image.jpg')
目前,仅支持将AVM元数据嵌入到JPG和PNG文件中
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
PyAVM-0.9.6.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | b3b78b3e80070db63db4fb77440e73260f8db93b5557f4aaa54511dcdac6f26d |
|
MD5 | 880a1efd4e875460f2bb8a6bee38bd1a |
|
BLAKE2b-256 | c79d0f5fbf2030a83a9ca23f2801eeb27f4407675f17622208491118bdfc207c |
PyAVM-0.9.6-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | fcb2c5881b5612415ab4acc895b5b2edd7d2b8fe295fcfbe5c773ecf4c55c1ba |
|
MD5 | 8bfe76dcc58741766324569f6537498e |
|
BLAKE2b-256 | 061fc59626570fda6e5579631ec35c40b9e32ce1a828400b246acc7d18d054dc |