-
Notifications
You must be signed in to change notification settings - Fork 16
ENH: Outsource leave-one-out splitter so it can be used across data types #98
Conversation
After refactoring the package's structure, I have allowed myself to rebase into I would suggest we pull the
I would favor creating a module under WDYT? |
In e2b8f68 I went ahead and just started the @teresamg my rebasing will require you to update your working copy. If you don't have changes that you did not push, then I would just switch to main, |
@oesteban : This integrates all of your proposed changes, and updates things so that everything runs. It does also include the refactor of the |
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
I have resolved the conflicts and dropped some changes that did not pertain to this PR. These spurious changes addressed ancient memory issues which have been addressed elsewhere (namely, fixed within nitransforms, which was the original cause of the issues). @esavary this is ready for your code review and perhaps some hands-on testing. Since I assume it is not immediate how to test eddymotion locally, I think we could add some documentation about that. Let us know how you want to proceed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've marked two important features that have disappeared in the outsourced function. @esavary - may you take care of those issues?
Co-authored-by: Oscar Esteban <[email protected]>
I was thinking of creating a 'test_splitting.py' module to test the splitting functionality. The idea is to generate a mock DWI (Diffusion-Weighted Imaging) object with 'dataobj' and 'gradients' attributes filled with zeros, except at one index where we'll set the values to 1. ( In the same direction as what you suggested yesterday) Then checking if the 'lovo_split' function, applied at this index, produces the expected results. Does this align with your thoughts? Regarding documentation, could you provide more details? Do you expect a dedicated section focusing only on testing the splitting feature or more general about testing the entire module? |
I've gone ahead and included the test I used to check the 'lovo_split' function in the test folder. However, feel free to remove it if you don't find it relevant or if you had something else in mind @oesteban . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm doubtful about the right way to implement this. I'm not sure anymore if we want to access the filesystem here. In any case, I think the above variable changes will clarify the picture.
cc @effigies - what do you think? this is related to the new issue #145.
Co-authored-by: Oscar Esteban <[email protected]>
Co-authored-by: Oscar Esteban <[email protected]>
I think that @teresamg also had some test scripts that she used in order to run experiments with a sample dataset (I think that it was the traveling brain study from OpenNeuro). Maybe she can share those scripts (e.g., on a separate repo?) so that @esavary can run those for profiling/testing of this code? |
Thanks, that sounds great! I'll run them as soon as I have them. |
(Empty message edited by @oesteban)
This PR covers two targets:
DWI
object. The rationale behind this is allowing its use across different data types (e.g., with PET).