-
Notifications
You must be signed in to change notification settings - Fork 8
Special Cases
This page is used as a record for those interfaces that need extra modifications after the converter
In Nipype, outputs of Cluster()
are:
- index_file
- localmax_txt_file
- localmax_vol_file
- max_file
- mean_file
- pval_file
- size_file
- threshold_file
Those are defined by Nipype not FSL, in FSL, they should be
- out_index_file
- out_localmax_txt_file
- out_localmax_vol_file
- out_max_file
- out_mean_file
- out_pval_file
- out_size_file
- out_threshold_file
FSL needs those filenames (str
) to be defined in the inputs and then generates them (File
) as output.
In Pydra, if we use the converter.py
to get cluster.py
, we will have the first set of outputs, but then we can't pass the test since those fields don't match their FSL counterparts.
What we did here is, after auto converting, (1) manually change output_field names in cluster.py
(e.g., index_file
-> out_index_file
) and (2) change the outputs in test_run_cluster.py
and test_spec_cluster.py
in the same way as (1).
before the above solution, @yibeichen tried to use
output_file_template
ininput_fields
and setoutput_fields
as[]
. It passed the test locally but failed the docker test online. It seems thatoutput_file_template
requires the field type asstr
, which makes sense when they are output filenames as inputs. But then those same fields need to become real outputs, which have to beFile
. It's Schrödinger‘s field type.