@@ -74,29 +74,39 @@ class FmriRealign4dInputSpec(BaseInterfaceInputSpec):
74
74
desc = "File to realign" )
75
75
tr = traits .Float (desc = "TR in seconds" ,
76
76
mandatory = True )
77
- slice_order = traits .Either (traits .List (traits .Int ),
78
- traits .Enum ("ascending" , "descending" ),
79
- mandatory = True , desc = 'slice order' )
80
- interleaved = traits .Bool (desc = "True if interleaved" ,
81
- mandatory = True )
77
+ slice_order = traits .List (traits .Int (),
78
+ desc = '0 based slice order' ,
79
+ requires = ["time_interp" ])
82
80
tr_slices = traits .Float (desc = "TR slices" )
83
81
start = traits .Float (0.0 , usedefault = True ,
84
82
desc = "time offset into TR to align slices to" )
85
- time_interp = traits .Bool (True , usedefault = True ,
86
- desc = "Assume smooth changes across time e.g., fmri series" )
87
- loops = traits .Int (5 , usedefault = True , desc = "loops within each run" )
88
- between_loops = traits .Int (5 , usedefault = True , desc = "loops used to \
83
+ time_interp = traits .Enum (True , requires = ["slice_order" ],
84
+ desc = "Assume smooth changes across time e.g.,\
85
+ fmri series. If you don't want slice timing \
86
+ correction set this to undefined" )
87
+ loops = traits .Either (traits .Int (5 ,usedefault = True ),
88
+ traits .List (traits .Int ),
89
+ usedefault = True ,
90
+ desc = "loops within each run" )
91
+ between_loops = traits .Either (traits .Int (5 ),
92
+ traits .List (traits .Int ),
93
+ usedefault = True , desc = "loops used to \
89
94
realign different \
90
95
runs" )
91
- speedup = traits .Int (5 , usedefault = True , desc = "successive image \
92
- sub-sampling factors \
93
- for acceleration" )
96
+ speedup = traits .Either (traits .Int (5 ),
97
+ traits .List (traits .Int (5 )),
98
+ usedefault = True ,
99
+ desc = "successive image \
100
+ sub-sampling factors \
101
+ for acceleration" )
94
102
95
103
96
104
class FmriRealign4dOutputSpec (TraitedSpec ):
97
105
98
- out_file = OutputMultiPath (File (exists = True ), desc = "Realigned files" )
99
- par_file = OutputMultiPath (File (exists = True ), desc = "Motion parameter files" )
106
+ out_file = OutputMultiPath (File (exists = True ),
107
+ desc = "Realigned files" )
108
+ par_file = OutputMultiPath (File (exists = True ),
109
+ desc = "Motion parameter files" )
100
110
101
111
102
112
class FmriRealign4d (BaseInterface ):
@@ -110,8 +120,7 @@ class FmriRealign4d(BaseInterface):
110
120
>>> realigner = FmriRealign4d()
111
121
>>> realigner.inputs.in_file = ['functional.nii']
112
122
>>> realigner.inputs.tr = 2
113
- >>> realigner.inputs.slice_order = 'ascending'
114
- >>> realigner.inputs.interleaved = True
123
+ >>> realigner.inputs.slice_order = range(0,67)
115
124
>>> res = realigner.run() # doctest: +SKIP
116
125
117
126
References
@@ -144,7 +153,6 @@ def _run_interface(self, runtime):
144
153
145
154
R = FR4d (all_ims , tr = self .inputs .tr ,
146
155
slice_order = self .inputs .slice_order ,
147
- interleaved = self .inputs .interleaved ,
148
156
tr_slices = TR_slices ,
149
157
time_interp = self .inputs .time_interp ,
150
158
start = self .inputs .start )
0 commit comments