跳转到主要内容

适用于ANTs的Pydra任务包

项目描述

pydra-ants

PyPI - Version PyPI - Python Version PyPI - Downloads Status-docs Status-CICD


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 自动生成软件包。

开发

方法论

预计该包的开发将有两个阶段

  1. 其中相应的 Nipype 接口被认为是基准事实,Pydra 任务由此生成
  2. 当 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 > typesoutputs > types 字典中使用对应于 fileformats 类的“mime-like”字符串指定文件的格式非常重要。

如果文件格式没有在 fileformats 中实现,请参阅 fileformats 文档 [https://arcanaframework.github.io/fileformats/developer.html],了解如何定义新的文件格式类型,并查看 fileformats-medimage-extras 了解如何为它们实现生成样本数据的方法。针对 ANTs 特定的新文件格式及其生成样本数据的函数的实现应分别定义在 related-packages/fileformatsrelated-packages/fileformats-extras

许可证

本项目根据 Apache License, Version 2.0 条款分发。

项目详情


下载文件

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

源代码分发

pydra_ants-0.1.0.tar.gz (117.4 kB 查看哈希值)

上传时间 源代码

构建分发

pydra_ants-0.1.0-py3-none-any.whl (109.0 kB 查看哈希值)

上传时间 Python 3

由以下组织支持

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