-
Notifications
You must be signed in to change notification settings - Fork 12
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
Spiral patch #105
Spiral patch #105
Conversation
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.
Awesome work ! Nothing much to change, I just made a few comments for the posterity. Good to merge once the CI is happy.
I had to update the gif examples to make them work again, and I took the occasion to clean them a bit |
I think you cleaned up the gif examples a bit too much. the docs fails to build locally. (try
I must admit that don't know why this happens, since you apparently did not touch the file generation parts of the script. |
The gifs are not appearing in the current master documentation either, is it expected ? |
I confirm that this issue is also found in the master branch. |
okay, in this case it will be tackle separately I guess (typically in the trajectory gallery PR we are avoiding for now) |
Good to merge ? @paquiteau |
This PR updates or adds the following features, summarized graphically in the picture down below:
initialize_2D_spiral
function now raises an error when negative values are given as arguments.initialize_2D_fibonacci_spiral
. The idea is to produce a strictly uniform density by using Fibonacci circle lattices, split into individual center-out spirals that are slightly eccentric to avoid redundancy. The number of spirals is required to be on the Fibonacci sequence, and therefore additional helper functions are provided inmrinufft.trajectories.maths
.mrinufft.trajectories.gradients
to enforce non-strictly increasing monoticity. This fix is added as an option toinitialize_2D_spirals
andinitialize_2D_fibonacci_spiral
, and will be added soon toinitialize_3D_seiffert_spiral
andinitialize_3D_helical_shell
in another PR.This PR is the first one to propose a function to adjust gradients, but more are coming as it is a major element of trajectory design, often present in the literature.