DKIST数据的标题生成器和FITS文件创建器。
项目描述
DKIST数据的标题生成器和FITS文件创建器。
本软件包旨在生成代表DKIST 0级和1级数据的FITS文件集。这些生成数据不应被视为获取真实数据时的承诺,这些产品仍在开发中。
使用
生成伪随机数据
生成数据的最简单方法是使用dkist_data_simulator.spec122.Spec122Dataset或dkist_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 Lowe为PyCon演讲编写,并由dkist-data-simulator根据其在MetPy项目的README文件中的使用情况进行了修改。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分布
构建分布
dkist_data_simulator-5.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9cdfa5a21b8dad1f7a092a6c9f0adabb77280ef04f2342a1eb83860a8f941d12 |
|
MD5 | 6848401cae66a8c8ab1038743c79a439 |
|
BLAKE2b-256 | fc25946aa1c8b54ebf759fc7455e5221ed8afe7e214d6b821b8ba1ea89531cf0 |
dkist_data_simulator-5.2.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4b72936a43ea17b2c3d7b9b7c29177fc7281c8c90b8a963685f69c8699bb04a8 |
|
MD5 | e30fe3791e102c2ca0c42a9044c4f8fb |
|
BLAKE2b-256 | ce48f15ac23547709ea80538d87567eb2f0ba619341c6a06bc7a4ebb18b74491 |