PyLops / pylops

PyLops – A Linear-Operator Library for Python
https://pylops.readthedocs.io
GNU Lesser General Public License v3.0
429 stars 102 forks source link

FourierRadon2D and FourierRadon3D #611

Closed mrava87 closed 1 month ago

mrava87 commented 2 months ago

This PR introduces 2 new operators, namely FourierRadon2D and FourierRadon3D that perform linear/parabolic Radon transform in the frequency domain.

Both of them have 3 backends:

To test the parabolic transform in 3D, a new utility function pylops.utils.seismicevents.parabolic3d is also added.

The new operators are showcased in plot_fourierradon.py. Moreover, two notebook have been added at https://github.com/PyLops/pylops_notebooks/blob/master/developement/Radon-Fourier.ipynb and https://github.com/PyLops/pylops_notebooks/blob/master/developement-cupy/Radon-Fourier.ipynb

mrava87 commented 1 month ago

@cako thanks! I replied to some of your comments, and I am going to act immediately on others.

I am a bit confused about two things:

cako commented 1 month ago

@mrava87 Sorry, you can revert the order of imports back to the original. My stupid ruff reorders the imports automatically and I didnt catch it in the commit. My bad!

I'm not sure what the issue is, I tried different versions of Numba as well. All CPU. If it works on yours, I'm not keen on holding back the PR unless I know what the problem is. I can file a bug if it still doesn't work later.