跳转到主要内容

FSL的Pydra任务包

项目描述

pydra-fsl

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


Pydra为FSL提供的任务。

Pydra 是一个数据流引擎,它提供了一套轻量级的抽象,用于DAG构建、操作和分布式执行。

FSL 是一套用于FMRI、MRI和DTI脑成像数据分析的综合性工具库。

目录

测试接口

模块 任务
bet BET,RobustFOV
涡流 涡流, ApplyTopup, Topup
快速 FAST
调情 FLIRT, ApplyXFM, ConcatXFM, ConvertXFM, InvertXFM, FixScaleSkew, Img2ImgCoord, Img2StdCoord, Std2ImgCoord
fnirt FNIRT, FNIRTFileUtils, ApplyWarp, ConvertWarp, InvWarp
迷雾 FUGUE, PrepareFieldmap, Prelude, SigLoss
数学 (实验性) 数学, Mul
苏珊 SUSAN
工具 ChFileType, FFT, Info, Interleave, Merge, Orient, Reorient2Std, ROI, SelectVols, Slice, SmoothFill, Split, SwapDim

安装

pip install pydra-fsl

使用此包需要单独安装FSL。请查看FSL的安装说明许可详情

自动转换

自动生成的任务可以在pydra.tasks.fsl.auto子包中找到。这些接口应谨慎使用,因为它们可能未通过测试。经过编辑并通过测试的生成任务将被导入一个或多个与fsl工具包版本对应的pydra.tasks.fsl.v*子包中(例如,pydra.tasks.fsl.v7_4)。

持续集成

此模板使用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之间有一个中间阶段。

开发者安装

在可以生成和安装pydra任务接口之前,需要安装对应于FSL特定文件格式的文件格式类fileformats

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

然后安装运行自动转换脚本的依赖项,并从它们的Nipype对应项生成Pydra任务接口

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

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

nipype-auto-conv/generate

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

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

自动转换阶段

自动转换的Pydra任务是从相应的Nipype接口以及位于nipype-auto-conv/specs/中的YAML规范中的"转换提示"生成的。自文档化的转换规范应手动编辑,以帮助自动转换器生成有效的pydra任务。编辑一个或多个转换规范后,应通过运行以下命令重新生成pydra.tasks.fsl.auto

nipype-auto-conv/generate

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

pytest pydra/tasks/fsl/auto/tests/test_<the-name-of-the-task-you-edited>.py

如果测试通过,则应编辑pydra/tasks/fsl/v*/__init__.py文件以导入自动生成的任务接口,表示它已通过验证并准备好使用,其中v*对应于您针对其测试的FSL版本,例如

from pydra.tasks.fsl.auto import <the-task-you-have-validated>

并将测试文件pydra/tasks/fsl/auto/tests/test_<validated-task>.py复制到pydra/tasks/fsl/v*/tests

文件格式和示例测试数据

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

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

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

许可证

本项目遵循Apache License, Version 2.0条款。

项目详情


下载文件

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

源分发

pydra_fsl-0.1.1.tar.gz (263.2 kB 查看散列)

上传时间

构建分发

pydra_fsl-0.1.1-py3-none-any.whl (252.0 kB 查看散列)

上传时间 Python 3

由以下赞助商支持

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