Nipype - Interfaces without options present in the underlying executable/function

Curious how to set an input argument for an nipype interface object for which the input option exists within the underlying software’s function/executable (e.g. SPM) but is not included in the input_spec of the nipype class for the equivalent function/executable.

As an example, the Estimate Model function within SPM has an input argument write_residuals present in the MATLAB GUI or in the .m script, but the equivalent nipype interface, spm.EstimateModel, does not have this as an input option. Is there a way to pass a value for this write_residuals from my python node declaration?

I apologize if this is covered in the documentation, but I have not been able to come across anything like this.

@bhurt most interfaces either have an args input field to specify additional parameters. In spm.EstimateModel, this is instead called flags, which accepts a string formatted like additional command line arguments. Hope this helps!

@mgxd Thank you for the response.

I can see how this would be implemented as an argument to a CLI call, but the EstimateModel appears to build an .m file with these arguments embedded as variables of a matlab structure. How is this flags argument implemented in building the .m script?

@bhurt sorry for the late reply - I believe the flags argument for spm.EstimateModel was bugged. There is a fix on the way now that also adds write_residuals option to the interface and outputs the residual images. I’ll bump this thread once it’s added to the master branch.

1 Like