Open
Description
Summary
When running a Workflow
with a defined base_dir
, interfaces expecting an existing file (such as fsl.MCFLIRT
or fsl.ExtractROI
fail after _run_interface
. However, if base_dir
is not defined, the correct files are created.
Additionally, some wf.config
options are not being set correctly.
Actual behavior
- Crash
traits.trait_errors.TraitError: The trait 'roi_file' of an ExtractROIOutputSpec instance is an existing file name, but the path '/om/scratch/Wed/mathias/topup/testing/roi/sub-1_task-rest_bold.nii.gz' does not exist.
- Crashfile is
*pklz
, not*txt
Expected behavior
- no error
How to replicate the behavior
- see below
Script/Workflow details
from nipype.interfaces.fsl import ExtractROI, MCFLIRT, BET
from nipype import Node, Workflow
wf = Workflow(name='testing')
wf.base_dir = '/om/scratch/Wed/mathias/topup'
x = Node(ExtractROI(), 'roi')
#x = Node(MCFLIRT(), 'moco')
#x = Node(BET(), 'bet') # silent error, no out_file created
x.inputs.in_file = '/data/sub-1/func/sub-1_task-rest_bold.nii.gz'
x.inputs.crop_list = [(0, -1), (0, -1), (0, -1), (0, 1)]
wf.add_nodes([x])
wf.config['execution']['crashfile_format'] = 'txt'
eg = wf.run()
Platform details:
{'pkg_path': '/net/storage001.ib.cluster/om2/user/mathiasg/projects/nipypedev/nipype/nipype', 'commit_source': 'repository', 'commit_hash': '27b33ef', 'nipype_version': '1.0.2-dev+g27b33ef', 'sys_version': '3.6.3 | packaged by conda-forge | (default, Oct 5 2017, 14:07:33) \n[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)]', 'sys_executable': '/om2/user/mathiasg/envs/envs/py3/bin/python', 'sys_platform': 'linux', 'numpy_version': '1.12.1', 'scipy_version': '0.19.1', 'networkx_version': '2.0', 'nibabel_version': '2.2.0dev', 'traits_version': '4.6.0'}
1.0.2-dev+g27b33ef
Execution environment
Choose one
- My python environment outside container