跳转到主要内容

DKIST数据的标题生成器和FITS文件创建器。

项目描述

DKIST数据的标题生成器和FITS文件创建器。

本软件包旨在生成代表DKIST 0级和1级数据的FITS文件集。这些生成数据不应被视为获取真实数据时的承诺,这些产品仍在开发中。

使用

生成伪随机数据

生成数据的最简单方法是使用dkist_data_simulator.spec122.Spec122Datasetdkist_data_simulator.spec214.Spec214Dataset类。

生成标题

>>> from dkist_data_simulator.spec122 import Spec122Dataset
>>> ds = Spec122Dataset(dataset_shape=(1, 512, 512), array_shape=(1, 512, 512), time_delta=10)
>>> ds.header()

可以使用generate_headers方法生成数据集中所有帧的完整标题列表。

也可以遍历数据集,这将更改.index属性。

这可以用来一次生成一个标题序列

>>> header_generator = (d.header() for d in ds)

也可以用来在内存中生成文件

>>> import io
>>> file_generator = (d.file(io.BytesIO()) for d in ds)

自定义生成数据

要自定义正在生成的数据,可以创建数据集的子类。要添加新标题,可以在构造函数中使用add_constant_key方法或add_generator_function方法。另外,要使用函数生成键值,可以使用dkist_data_simulator.dataset.key_function装饰器。

>>> from dkist_data_simulator.dataset import key_function
>>> from dkist_data_simulator.spec122 import Spec122Dataset
>>> class ExampleDataset(Spec122Dataset):
...     def __init__(self, *args, **kwargs):
...         super().__init__(*args, **kwargs)
...         # Add a header key with a given, fixed value over all headers
...         self.add_constant_key("INSTRUME", "Example")
...         # Add a header key with a given, single random value over all headers
...         self.add_constant_key("EXPER_ID")
...
...     @key_function("FRAMEVOL")
...     def framevol(self, key):
...         return 10

要从生成的标题中删除键(例如生成无效数据),可以重载header()方法并在返回之前删除键

>>> class InvalidDataset(Spec122Dataset):
...     def header(self, *args, **kwargs):
...         header = super().header(*args, **kwargs)
...         header.pop("NAXIS")
...         return header

许可

本项目的版权归AURA / NSO所有,并根据BSD 3-Clause许可条款许可。本软件包基于Openastronomy打包指南,该指南根据BSD 3-clause许可证许可。有关更多信息,请参阅许可文件夹。

贡献

我们欢迎贡献!dkist-data-simulator是开源的,基于开源,我们希望您能加入我们的社区。

冒充者综合症免责声明:我们需要您的帮助。不,真的。

你头脑中可能有一个微小的声音告诉你,你还没有准备好成为开源贡献者;你的技能远远不够贡献。你究竟能为这样的项目提供什么价值呢?

我们向你保证——你头脑中的那个小声音是错的。只要你能够编写代码,你就可以为开源项目贡献代码。为开源项目做贡献是提高编程技能的绝佳方式。编写完美的代码并不是衡量优秀开发者的标准(这会排除我们所有人!);而是尝试创造事物,犯错误,并从错误中学习。我们就是这样不断进步的,我们也愿意帮助他人学习。

成为开源贡献者并不意味着仅仅是编写代码。你也可以通过编写文档、测试或甚至对项目(以及——是的——贡献过程)提供反馈来提供帮助。其中一些贡献可能对整个项目来说最有价值,因为你带着新的视角来到项目中,所以你可以看到经验丰富的贡献者可能已经忽略的错误和假设。

注意:本免责声明最初由Adrienne LowePyCon演讲编写,并由dkist-data-simulator根据其在MetPy项目的README文件中的使用情况进行了修改。

项目详情


发布历史 发布通知 | RSS订阅

下载文件

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

源代码分布

dkist_data_simulator-5.2.1.tar.gz (45.7 kB 查看哈希值)

上传时间 源代码

构建分布

dkist_data_simulator-5.2.1-py3-none-any.whl (47.6 kB 查看哈希值)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面