跳转到主要内容

mriqc的Pydra任务包

项目描述

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

本软件包包含一组用于mriqc工具包的Pydra任务接口。该集合的基础是通过使用Nipype2Pydra工具将现有的Nipype接口半自动转换为Pydra构建的。

自动生成任务与手动编写的任务

自动生成的任务可以在pydra.tasks.mriqc.auto软件包中找到。这些软件包应极其谨慎地使用,因为它们很可能未通过测试。经过编辑并通过测试生成的任务被导入到相应的pydra.tasks.mriqc.v*软件包中,这些软件包对应于它们设计的mriqc工具包版本。

测试

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

$ 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 `__ 来运行测试并将软件包部署到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]

从源目录以开发者模式安装repo,并安装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.mriqc.auto 软件包:

$ nipype-auto-conv/generate

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

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

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

键入和样本测试数据

自动生成的测试将尝试为待测试的任务实例提供基于字段类型及其任何约束的有意义的默认值。然而,在查阅底层工具的文档后,这些值可能需要手动覆盖。

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

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

项目详情


下载文件

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

源分发

pydra_mriqc-0.1.0.tar.gz (30.8 kB 查看散列值)

上传时间

构建分发

pydra_mriqc-0.1.0-py3-none-any.whl (5.8 kB 查看散列值)

上传时间 Python 3

由支持