nipype / pydra-fsl

Apache License 2.0
4 stars 8 forks source link

input_drops in yml file #34

Open yibeichan opened 1 year ago

yibeichan commented 1 year ago

hello @htwangtw I'm starting working on using the converter for interfaces in fsl.model.

In fsl_model_param.yml, I notice that there is a field called input_drops. You mentioned this field here #11 . What do you mean by not compatible with pydra?

I guess that inputs_drop is not mandatory, and I found one example here https://github.com/nipype/pydra-fsl/blob/094cec23c1cecdaa93e73fb593eb34aba20f7bcb/specs/fsl_utils_param.yml#L88

Do we have a criterion when two or more fields are exclusive, which one we choose to drop?

Thank you!

htwangtw commented 1 year ago

The usage of inputs_drop is to ignores any string mapping in the current use cases we have.

These input spec are highly customised in the nipype interfaces, instead of something mapping directly to the original FSL CLI.

yibeichan commented 1 year ago

okay, so it means if there is something in nipype but not in FSL CLI, then we should put it in inputs_drop?

yibeichan commented 1 year ago

hello, when I use the converter for fsl_model, I got the following message:

{'FLAMEO', 'FILMGLS505', 'ContrastMgr', 'FILMGLS507', 'FSLCommand', 'FILMGLS', 'BaseInterface', 'Randomise', 'Cluster', 'MELODIC', 'SmoothEstimate', 'GLM', 'FEATModel', 'L2Model', 'MultipleRegressDesign', 'SMM', 'DualRegression', 'Level1Design', 'FEATRegister'}, and pydra interfaces will not be created for them

It means in this module, only the FEAT interface can be converted, while none of the others works. So, which would you prefer - I manually convert these interfaces, or I modify converter.py to include them?

htwangtw commented 1 year ago

This is normal behaviour. When you ask the converter to convert a full module, it will show you the list of interfaces with no spec in the parameter file and warn you nothing has been done for things you didn't provide details with.

If you want to convert FEAT from the model, here's the option you use to avoid seeing that message:

python tools/converter.py --interface_name FEAT --module_name model
yibeichan commented 1 year ago

ah I see, thank you. Yes, I was converting FEAT so other interfaces have no specs in the .yml file. I guess that's why I got the message.