NiPype-1工作流序列化器。
项目描述
flowdump
用于与flowview
一起使用的NiPype-1工作流序列化器。
安装
flowdump
可在PyPI上找到,并且可以使用pip
进行安装
pip install flowdump
用法
使用flowdump
就像在NiPype-1工作流对象上调用run_and_save_workflow
一样简单。这将执行工作流并将执行前后的工作流数据保存到JSON文件中。
import nipype.pipeline.engine as pe # pypeline engine
from flowdump import run_and_save_workflow
# Typical NiPype workflow creation
amazing_workflow = pe.Workflow(name="main_workflow")
# amazing_workflow.connect(...)
# amazing_workflow.connect(...)
# amazing_workflow.connect(...)
# Let `flowdump` execute and save pre- and post-execution data.
run_and_save_workflow(
amazing_workflow,
out_dir='my/target/dir'
)
高级
如果需要对工作流执行有更多控制,可以手动序列化工作流。
import nipype.pipeline.engine as pe # pypeline engine
import os.path
from flowdump import WorkflowJSONMeta, save_workflow_json
# Typical NiPype workflow creation
amazing_workflow = pe.Workflow(name="main_workflow")
# amazing_workflow.connect(...)
# amazing_workflow.connect(...)
# amazing_workflow.connect(...)
# Create workflow metadata object (traces execution time and stage)
workflow_meta = WorkflowJSONMeta(
pipeline_name='My amazing pipeline',
stage='pre'
)
# Dump pre-execution workflow
save_workflow_json(
filename=os.path.join('my/target/dir', workflow_meta.filename()),
workflow=amazing_workflow,
meta=workflow_meta
)
# Execute NiPype workflow
amazing_workflow_result = amazing_workflow.run()
# Update metadata
workflow_meta.stage = 'post'
# Dump post-execution workflow
save_workflow_json(
filename=os.path.join('my/target/dir', workflow_meta.filename()),
workflow=amazing_workflow_result,
meta=workflow_meta
)
自定义字段序列化
可以为具有自定义NiPype节点类型的项目实现自定义序列化器。序列化器是一个函数,它接受默认的flowdump
序列化函数(可选地回退到)以及一个对象,并返回一个可序列化为JSON的对象。
def my_custom_serializer(
flowdump_serializer: Callable[[object], object],
obj: object
):
if isinstance(obj, MyType):
return my_make_string(obj)
return flowdump_serializer(obj)
save_workflow_json(
filename=os.path.join('my/target/dir', workflow_meta.filename()),
workflow=amazing_workflow_result,
meta=workflow_meta
)
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
flowdump-0.1.2.tar.gz (15.5 kB 查看哈希)
构建分布
flowdump-0.1.2-py3-none-any.whl (17.1 kB 查看哈希值)
关闭
flowdump-0.1.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8613e11db1172cc55186e3d02749da1e26fa3b839ec9a30b67414ee0c939b21f |
|
MD5 | 27e4c052ace4ddb805d657d31e0a6b32 |
|
BLAKE2b-256 | e2ff22b9d0da9291b9ecf3b5f0903a6888bb0e196658cb73a9ec3b9825665602 |
关闭
flowdump-0.1.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 64496fc2217f53ae73b9344a2cf099a0a338422cb454d90189cee343baf98b7e |
|
MD5 | 0947d25fb2773739a3bec92fc195f924 |
|
BLAKE2b-256 | b66de411014a15b0cb8891d8ead1ef06d8aa61815cf25b0008b08a32848b7283 |