适用于ANTs的Pydra任务包
项目描述
pydra-ants
Pydra任务包为ANTs
Pydra是一个数据流引擎,提供了一套用于DAG构建、操作和分布式执行的轻量级抽象。
ANTs是一个多变量图像配准、分割和统计分析工具箱。
目录
可用任务
- ApplyTransforms
- CreateJacobianDeterminantImage
- N4BiasFieldCorrection
- 配准、registration_syn、registration_syn_quick
安装
pip install pydra-ants
使用此包需要单独安装ANTs。
可以通过conda-forge获取官方conda包
conda install -c conda-forge ants
自动转换
自动生成的任务可以在子包 pydra.tasks.ants.auto
中找到。这些接口应该谨慎使用,因为它们很可能未通过测试。经过编辑并通过测试的生成任务将被导入一个或多个 pydra.tasks.ants.v*
子包(例如 pydra.tasks.ants.v7_4
),对应于它们设计的 ants 工具包版本。
持续集成
此模板使用 GitHub 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 自动生成软件包。
开发
方法论
预计该包的开发将有两个阶段
- 其中相应的 Nipype 接口被认为是基准事实,Pydra 任务由此生成
- 当 Pydra 任务被认为是成熟并且它们经过人工编辑时
不同的任务可能在不同的时间成熟,因此可能在 1 和 2 之间有一个中间阶段。
开发者安装
首先安装运行自动转换脚本的需求,并从它们的 Nipype 对应物生成 Pydra 任务接口
pip install -r nipype-auto-conv/requirements.txt
运行转换脚本将 Nipype 接口转换为 Pydra
nipype-auto-conv/generate
从源目录以开发者模式安装存储库并安装 pre-commit 以确保代码风格和质量的一致性。
pip install -e .[test,dev]
pre-commit install
自动转换阶段
自动转换的 Pydra 任务是从它们的相应 Nipype 接口以及位于 nipype-auto-conv/specs/
中的 YAML 规范中的“转换提示”结合生成的。应手动编辑这些自文档化的转换规范,以帮助自动转换器生成有效的 Pydra 任务。编辑一个或多个转换规范后,应通过运行以下命令重新生成 pydra.tasks.ants.auto
包
nipype-auto-conv/generate
应该在自动生成的任务上运行测试,以查看它们是否有效
pytest pydra/tasks/ants/auto/tests/test_<the-name-of-the-task-you-edited>.py
如果测试通过,则应编辑 pydra/tasks/ants/v*/__init__.py
文件以导入自动生成的任务接口,表示它已经过验证并准备使用,其中 v* 对应于您测试的 ANTs 版本,例如
from pydra.tasks.ants.auto import <the-task-you-have-validated>
并将测试文件 pydra/tasks/ants/auto/tests/test_<validated-task>.py
复制到 pydra/tasks/ants/v*/tests
。
文件格式和样本测试数据
自动生成的测试将尝试根据字段的类型及其对其的任何约束,为要测试的任务实例提供合理的默认值。然而,在咨询底层工具的文档后,这些值通常需要手动覆盖。
对于基于文件的数据,将自动创建所选格式类型的文件系统对象,例如 Nifti、Dicom。因此,在 YAML 规范的 inputs > types
和 outputs > types
字典中使用对应于 fileformats 类的“mime-like”字符串指定文件的格式非常重要。
如果文件格式没有在 fileformats 中实现,请参阅 fileformats
文档 [https://arcanaframework.github.io/fileformats/developer.html],了解如何定义新的文件格式类型,并查看 fileformats-medimage-extras 了解如何为它们实现生成样本数据的方法。针对 ANTs 特定的新文件格式及其生成样本数据的函数的实现应分别定义在 related-packages/fileformats
和 related-packages/fileformats-extras
。
许可证
本项目根据 Apache License, Version 2.0 条款分发。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。