跳转到主要内容

nireports的Pydra任务包

项目描述

https://github.com/nipype/pydra-nireports/actions/workflows/ci-cd.yaml/badge.svg https://codecov.io/gh/nipype/pydra-nireports/branch/main/graph/badge.svg?token=UIS0OGPST7 Supported Python versions Latest Version

此包包含一组用于nireports工具包的Pydra任务接口。该集合的基础是通过使用Nipype2Pydra工具将现有的Nipype接口半自动转换为Pydra而形成的。

自动生成任务与手动整理任务

自动生成的任务可以在pydra.tasks.nireports.auto包中找到。这些包应谨慎使用,因为它们可能未通过测试。经过编辑并已通过测试的生成任务被导入到一个或多个pydra.tasks.nireports.v*包中,这些包对应于它们为nireports工具包设计的版本。

测试

此包附带一系列自动生成的测试模块。要安装运行测试所需的依赖项

$ pip install -e .[test]

然后可以使用以下方式启动测试,包括doctests <https://docs.pythonlang.cn/3/library/doctest.html>`__

$ pytest --doctest-modules pydra/tasks/*

默认情况下,测试在10秒后超时,之后假设底层工具已通过验证/初始化阶段,并假设它将运行到完成。要禁用此功能并完整运行测试,请运行

$ pytest --doctest-modules --timeout-pass 0 pydra/tasks/*

持续集成

此模板使用 GitHub Actions <https://githubdocs.cn/en/actions/> 运行测试并将软件包部署到 PYPI。当在 GitHub 上创建发布版本或发布 Nipype 或 Nipype2Pydra 转换工具的新版本时,将构建和上传新软件包。由 Nipype 或 Nipype2Pydra 更新触发的发布版本以 postN 后缀表示,其中 N = <nipype-version><nipype2pydra-version> 中的点被移除,例如 v0.2.3post185010 对应于此存储库的 v0.2.3 标签,并使用 Nipype2Pydra 0.1.0 自动生成的软件包。

为此软件包做出贡献

开发者安装

安装与 AFNI 特定文件格式对应的 fileformats 软件包

$ pip install -e ./related-packages/fileformats[dev]
$ pip install -e ./related-packages/fileformats-extras[dev]

从源目录以开发者模式安装存储库,并安装 pre-commit 以确保代码风格和质量的一致性。

$ pip install -e .[test,dev]
$ pre-commit install

接下来安装运行自动转换脚本的依赖项,并从其 Nipype 对应物生成 Pydra 任务接口

$ pip install -r nipype-auto-conv/requirements.txt

运行转换脚本以将 Nipype 接口转换为 Pydra

$ nipype-auto-conv/generate

方法

此软件包的开发预计将有两个阶段

  1. 在此阶段,相应的 Nipype 接口被视为基准,Pydra 任务从它们生成

  2. 当 Pydra 任务被视为成熟且手动编辑时

不同的任务可能在不同时间成熟,因此可能在 1 和 2 之间有一个中间阶段。

自动转换阶段

自动转换的 Pydra 任务是从其对应的 Nipype 接口生成的,并结合位于 nipype-auto-conv/specs/ 的 YAML 规范中的“转换提示”。应手动编辑这些自文档化的转换规范,以帮助自动转换器生成有效的 Pydra 任务。编辑一个或多个转换规范后,应通过运行来重新生成 pydra.tasks.nireports.auto 软件包

$ nipype-auto-conv/generate

应在自动生成的任务上运行测试,以查看它们是否有效

$ pytest --doctest-modules pydra/tasks/nireports/auto/tests/test_<the-name-of-the-task-you-edited>.py

如果测试通过,则应编辑 pydra/tasks/nireports/v<tool-version>/__init__.py 文件以导入现在有效的任务接口,表示它已通过验证并准备使用,例如

键入和样本测试数据

自动生成的测试将尝试根据字段的类型及其对它的任何约束,以合理的默认值提供要测试的任务实例。然而,这些通常需要手动覆盖,在查阅底层工具的文档后。

对于基于文件的 数据,将自动创建选定的格式类型的文件系统对象,例如 Nifti、Dicom。因此,在 YAML 规范的 inputs > typesoutputs > types 字典中,使用对应于 fileformats 类的“mime-like”字符串指定文件的格式很重要。

如果所需的文件类型未在 fileformats 中实现,请参阅 fileformats 文档 中的定义新文件格式类型的说明,并参阅 fileformats-medimage-extras 的示例,了解如何实现生成这些类型样本数据的方法。

项目详情


下载文件

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

源分发

pydra_nireports-0.1.1.tar.gz (37.8 kB 查看散列)

上传时间

构建的发行版

pydra_nireports-0.1.1-py3-none-any.whl (44.6 kB 查看哈希值)

上传时间 Python 3

由以下组织支持