30
30
InputMultiObject ,
31
31
SimpleInterface ,
32
32
TraitedSpec ,
33
+ Undefined ,
33
34
isdefined ,
34
35
traits ,
35
36
)
@@ -51,6 +52,7 @@ class _TemplateFlowSelectInputSpec(BaseInterfaceInputSpec):
51
52
class _TemplateFlowSelectOutputSpec (TraitedSpec ):
52
53
t1w_file = File (exists = True , desc = 'T1w template' )
53
54
brain_mask = File (exists = True , desc = "Template's brain mask" )
55
+ t2w_file = File (desc = 'T2w template' )
54
56
55
57
56
58
class TemplateFlowSelect (SimpleInterface ):
@@ -72,6 +74,8 @@ class TemplateFlowSelect(SimpleInterface):
72
74
>>> result = select.run()
73
75
>>> result.outputs.t1w_file # doctest: +ELLIPSIS
74
76
'.../tpl-MNIPediatricAsym_cohort-5_res-1_T1w.nii.gz'
77
+ >>> result.outputs.t2w_file # doctest: +ELLIPSIS
78
+ '.../tpl-MNIPediatricAsym_cohort-5_res-1_T2w.nii.gz'
75
79
76
80
>>> select = TemplateFlowSelect(resolution=2)
77
81
>>> select.inputs.template = 'MNIPediatricAsym:cohort-5'
@@ -93,7 +97,8 @@ class TemplateFlowSelect(SimpleInterface):
93
97
>>> result = select.run()
94
98
>>> result.outputs.t1w_file # doctest: +ELLIPSIS
95
99
'.../tpl-MNI305_T1w.nii.gz'
96
-
100
+ >>> result.outputs.t2w_file
101
+ <undefined>
97
102
"""
98
103
99
104
input_spec = _TemplateFlowSelectInputSpec
@@ -111,6 +116,7 @@ def _run_interface(self, runtime):
111
116
files = fetch_template_files (self .inputs .template , specs )
112
117
self ._results ['t1w_file' ] = files ['t1w' ]
113
118
self ._results ['brain_mask' ] = files ['mask' ]
119
+ self ._results ['t2w_file' ] = files ['t2w' ]
114
120
return runtime
115
121
116
122
@@ -206,4 +212,6 @@ def fetch_template_files(
206
212
files ['mask' ] = tf .get (name [0 ], desc = 'brain' , suffix = 'mask' , ** specs ) or tf .get (
207
213
name [0 ], label = 'brain' , suffix = 'mask' , ** specs
208
214
)
215
+ # Not guaranteed to exist so add fallback
216
+ files ['t2w' ] = tf .get (name [0 ], desc = None , suffix = 'T2w' , ** specs ) or Undefined
209
217
return files
0 commit comments