Skip to content

Wrapper super ivim #107

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Wrapper super ivim #107

wants to merge 3 commits into from

Conversation

oliverchampion
Copy link
Collaborator

Describe the changes you have made in this PR

Added four of the SuperIVIM algorithms to wrapper. Only 2 are being tested as the other two show errors at the package side (SLS skips bounds and BOBYQA does misses an import statement).

Link this PR to an issue [optional]

Fixes #ISSUE-NUMBER

Checklist

  • [ X ] Self-review of changed code
  • [ X ] Added automated tests where applicable
  • Update Docs & Guides

added to wrapper. Needed to adapt some testing.
BOBYQA does not work (an import is skipped in the package)
- added a function to switch D and D* when D>D* in OSIPI base
- added exception in testing for when f=1 or 0 and there are no fit bounds
removed SLS from testing, as not properly implemetned on package.
Copy link
Contributor

@etpeterson etpeterson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good but also some test failures.

@@ -1,5 +1,7 @@
{
"algorithms": [
"TCML_TechnionIIT_lsqlm",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to omit the other 2?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the other two algorithms fail within the package itself. One refers to a variable that is not initiated. The other has the bounds not properly implemented. As the code is in a package, we cannot modify it. I've asked the authors to take a look.

results["f"] = fit_results[2]
results["Dp"] = fit_results[1]

return self.D_and_Ds_swap(results)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to just do it here and not generally in the wrapper?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. I think for bounded fits it is less of an issue. But it will not do any harm. But I will move it to the general wrapper indeed.

@oliverchampion
Copy link
Collaborator Author

Looks good but also some test failures.

yes, the package from super-ivim-dc is not working for pyhton 11 and 12, presumably as they have hardcoded an import of older packages in there. Potentially if they remove the ==1.2.3. from their package==1.2.3 import, it will use the latest versions of the packages and build properly for python 11 and 12. For other python releases all tests succeed. Let's leave this PR here until these things are fixed by the authors :)

move swapping of D and D* to general wrapper
stretch exclusion criteria
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants