Refactor the tedana.py workflow to better use modularized code #920
Labels
effort: high
More than 40h total work
enhancement
issues describing possible enhancements to the project
impact: medium
Improves code/documentation functionality for some users
priority: low
issues that are not urgent
refactoring
issues proposing/requesting changes to the code which do not impact behavior
Summary
After #756 is merged, some of the newly modularized functions could be better used in the
tedana.py
workflow. It should be possible to refactor that workflow to make it easier to understand and editAdditional Detail
While working on modularization, it became clear that a large proportion of the tedana.py workflow as conditional statements that existed only to make it possible to manually change component classifications (the
--manacc
option) while skipping over most of the rest of the code. Given some of the added functionality that came with modularization, keeping that all in tedana.py would have made it even messier. We removed all those conditional statements and created a distinct workflow:tedana_reclassify
. Some of the ways we used modularization in tedana_reclassify.py could also be used in tedana.py.Making these changes will also make more dynamic and informative logging possible. One key example of this is that the list of references to cite are currently hard-coded into tedana.py. Decision tree specifications also include lists of references. When every workflow is modularized, we'd be able to make reference gathering more dynamic and useful.
Next Steps
The text was updated successfully, but these errors were encountered: