Open yarikoptic opened 5 years ago
Yes. There are other uses of Freesurfer tools. There are some invocations that avoid them, but we stopped trying to calculate whether it'd be needed.
That's mentioned here, but maybe it could be clearer ? If you can think of a rephrasing (or another way to highlight this information), that would be great !
so in summary:
as for a "fix", since --no-freesurfer
is deprecated, I guess it is ok. Otherwise I would have just suggested to add "You will still need FreeSurfer license even if you do not use reconall" or alike
These are meant to be useful checks, not limitations on user freedom. Users were running into FreeSurfer license failures late in execution, which can be extremely annoying, and we would need to do a fairly complicated parse of the BIDS directory and options set to determine at initialization whether they would be run into.
If someone is confident they won't run into a FreeSurfer tool, we could allow them to override the check, similar to how we allow them to override the BIDS validation check. As an off-the-cuff proposal: switch from --skip-bids-validation
to --skip-check
and allow bids
and fslicense
as arguments.
An alternative could be a bit more complicated: build the workflow graph, and look for nipype.interfaces.freesurfer.base.FSCommand
s, and possibly a handful of other classes that don't inherit from that. This would be pretty expensive, but nothing compared to the actual runtime, and would be less susceptible to getting out of sync with the workflow than a big if-else tree.