# master.py
import os
master_config = {'execution': {'create_report': True, 'crashdump_dir': os.getcwd(), 'hash_method': 'timestamp', 'job_finished_timeout' : 25, 'keep_inputs': True, 'local_hash_check': True, 'matplotlib_backend': 'Agg', 'plugin': 'Linear', 'remove_node_directories': False, 'remove_unnecessary_outputs': False, 'stop_on_first_crash': False, 'stop_on_first_rerun': False, 'use_relative_paths': False, 'stop_on_unknown_version': False, 'write_provenance': False, 'parameterize_dirs': True}
}
from nipype import configconfig.update_config(master_config) # Set universal pipeline optionsimport nipype.pipeline.engine as pe
from workflows.session import createSessionWorkflow
masterWF = pe.Workflow(name='master') # Pipeline for a single subject
masterWF.base_dir = '/path/to/cache/directory'
inputsSpec = pe.Node(interface=IdentityInterface(fields=['xxx', ...]), run_without_submitting=True, name='inputspec')
sessionWF = createSessionWorkflow(name=session, ...)
masterWF.connect([(inputsSpec, sessionWF, [('xxx', 'inputspec.yyy'), ...]),
...])
masterWF.run()
# workflows.session.py
def createSessionWorkflow(name='', ...):
import nipype.pipeline.engine as pe
from segmentation import createSegmentationWorkflow
workflow = pe.Workflow(name=name)
inputsSpec = pe.Node(interface=IdentityInterface(fields=['yyy', ...]), run_without_submitting=True, name='inputspec')
segmentNode = pe.Node(interface=BRAINSABCext(), name="BABC")
# Relative path for node
segmentNode.inputs.outputDir = './'
... # more nodes, connections, etc.
subWF = createSegmentationWorkflow(name='sub_sub_wf', ...)
workflow.connect([(inputsSpec, segmentNode, [...]),
(segmentNode, subWF, [...]),
...])
return workflow
# master.py
...
cache_dir = '/path/to/cache/directory'
masterWF.base_dir = cache_dir
sessionWF.base_dir = cache_dir
sessionWF.get_node('sub_sub_wf').base_dir = cache_dir
--
---
You received this message because you are subscribed to the Google Groups "NiPy Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nipy-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
config.enable_debug_mode()