Skip to content

Commit ccd25c6

Browse files
committed
changed isdefined checks of EstimateFOD and check
for correct algorithm when using predicted_signal
1 parent 974ca38 commit ccd25c6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

nipype/interfaces/mrtrix3/reconst.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,10 @@ class EstimateFODInputSpec(MRTrix3BaseInputSpec):
158158
argstr='-predicted_signal %s',
159159
desc=(
160160
"specify a file to contain the predicted signal from the FOD "
161-
"estimates. This can be used to calculate the residual signal"))
161+
"estimates. This can be used to calculate the residual signal."
162+
"Note that this is only valid if algorithm == 'msmt_csd'. "
163+
"For single shell reconstructions use a combination of SHConv "
164+
"and SH2Amp instead."))
162165

163166

164167
class EstimateFODOutputSpec(TraitedSpec):
@@ -199,11 +202,15 @@ class EstimateFOD(MRTrix3Base):
199202
def _list_outputs(self):
200203
outputs = self.output_spec().get()
201204
outputs["wm_odf"] = op.abspath(self.inputs.wm_odf)
202-
if self.inputs.gm_odf != Undefined:
205+
if isdefined(self.inputs.gm_odf):
203206
outputs["gm_odf"] = op.abspath(self.inputs.gm_odf)
204-
if self.inputs.csf_odf != Undefined:
207+
if isdefined(self.inputs.csf_odf):
205208
outputs["csf_odf"] = op.abspath(self.inputs.csf_odf)
206-
if self.inputs.predicted_signal != Undefined:
209+
if isdefined(self.inputs.predicted_signal):
210+
if self.inputs.algorithm != 'msmt_csd':
211+
raise Exception(
212+
"'predicted_signal' option can only be used with "
213+
"the 'msmt_csd' algorithm")
207214
outputs["predicted_signal"] = op.abspath(
208215
self.inputs.predicted_signal)
209216
return outputs

0 commit comments

Comments
 (0)