Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor the tedana.py workflow to better use modularized code #920

Open
handwerkerd opened this issue Dec 22, 2022 · 0 comments
Open

Refactor the tedana.py workflow to better use modularized code #920

handwerkerd opened this issue Dec 22, 2022 · 0 comments
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

Comments

@handwerkerd
Copy link
Member

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 edit

Additional 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

  • Decide where this fits within broader priorities
@handwerkerd handwerkerd added enhancement issues describing possible enhancements to the project priority: low issues that are not urgent refactoring issues proposing/requesting changes to the code which do not impact behavior effort: high More than 40h total work impact: medium Improves code/documentation functionality for some users labels Dec 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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
Projects
None yet
Development

No branches or pull requests

1 participant