跳转到主要内容

afni的Pydra任务包

项目描述

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

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

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

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

测试

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

$ 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 从 Nipype 1.8.5 自动生成的软件包。

为该软件包做出贡献

开发者安装

从源目录安装存储库以开发者模式,并安装 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.afni.auto

$ nipype-auto-conv/generate

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

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

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

键入和样本测试数据

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

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

如果所需的文件类型未在 fileformats 中实现,请参阅 fileformats 文档 了解如何定义新的文件格式类型,并查看 fileformats-medimage-extras 了解如何实现为它们生成示例数据的方法的示例。

项目详情


下载文件

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

源分发

pydra_afni-0.3.2.tar.gz (198.3 kB 查看散列值)

上传于 来源

构建版本

pydra_afni-0.3.2-py3-none-any.whl (220.7 kB 查看哈希)

上传于 Python 3

由以下支持

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