-
Notifications
You must be signed in to change notification settings - Fork 4
Backend-based AbstractFFTs interface #68
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
Conversation
|
Hi @nHackel, thank you for proposing these changes to the AbstractNFFTs interface. I'd be happy to make the required changes to adapt to the new interface. I raised the same issue you mention some time ago, and I think what you propose based on backends is a nice and elegant solution to this problem. If you don't mind, I'll wait for JuliaMath/NFFT.jl#149 to be merged and for AbstractNFFTs.jl v0.9.0 to be released before merging this PR in some form. As a minor comment, I'd replace |
|
Hello @jipolanco, I've finally had some time to merge and release AbstractNFFTs v0.9 with the proposed changes and I think this PR is now ready for review |
|
@jipolanco would it be possible to add the Something like: Base.@constprop :aggressive function NFFTPlan(
xp::AbstractMatrix{T}, Ns::Dims;
# working keyword arguments ...
precompute = nothing,
kws...,
) where {T <: AbstractFloat}
if !isnothing(precompute)
@warn "Precompute flags are not yet supported and will be ignored"
endI'm currently propagating the AbstractNFFTs changes up to MRIReco.jl and I'm testing to see if one can just use NonuniformFFTs as a drop-in replacement. So far I am failing on the keyword argument. I can gladly make a seperate PR for all the changes I'd need for that and then we can decide seperately from this PR |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #68 +/- ##
=======================================
Coverage 89.66% 89.66%
=======================================
Files 24 24
Lines 1838 1839 +1
=======================================
+ Hits 1648 1649 +1
Misses 190 190 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Yes, that would be fine. I would just slightly change the warning message to something like |
Hello @jipolanco,
over at MRIOperators we discussed a limitation of AbstractNFFTs interface. Mainly, its inability to allow for both NFFT and NonuniformFFTs (or any second package) to be loaded at the same time in such a way that a user can chose which NFFT provider/package to use.
I've provided a potential solution to this problem over at this PR and I've implemented the necessary changes for NonuniformFFTs in this PR. I'd be happy to hear your feedback to this approach