diff --git a/README.md b/README.md index 71399610c..b28275831 100644 --- a/README.md +++ b/README.md @@ -152,3 +152,4 @@ A list of video tutorials to learn more about PyLops: * Alex Rakowski, alex-rakowski * David Sollberger, solldavid * Gustavo Coelho, guaacoelho +* Shaowen Wang, GeophyAI diff --git a/docs/source/credits.rst b/docs/source/credits.rst index c9c8e1294..55dde01bb 100755 --- a/docs/source/credits.rst +++ b/docs/source/credits.rst @@ -23,4 +23,5 @@ Contributors * `Fedor Goncharov `_, fedor-goncharov * `Alex Rakowski `_, alex-rakowski * `David Sollberger `_, solldavid -* `Gustavo Coelho `_, guaacoelho \ No newline at end of file +* `Gustavo Coelho `_, guaacoelho +* `Shaowen Wang `_, GeophyAI \ No newline at end of file diff --git a/docs/source/gpu.rst b/docs/source/gpu.rst index 487786694..c838ffda2 100755 --- a/docs/source/gpu.rst +++ b/docs/source/gpu.rst @@ -473,11 +473,11 @@ Signal processing: * - :class:`pylops.signalprocessing.ChirpRadon2D` - |:white_check_mark:| - |:white_check_mark:| - - |:red_circle:| + - |:white_check_mark:| * - :class:`pylops.signalprocessing.ChirpRadon3D` - |:white_check_mark:| - |:white_check_mark:| - - |:red_circle:| + - |:white_check_mark:| * - :class:`pylops.signalprocessing.Sliding1D` - |:white_check_mark:| - |:white_check_mark:| diff --git a/pylops/signalprocessing/_chirpradon2d.py b/pylops/signalprocessing/_chirpradon2d.py index e339d7fac..8c0f622b5 100755 --- a/pylops/signalprocessing/_chirpradon2d.py +++ b/pylops/signalprocessing/_chirpradon2d.py @@ -1,4 +1,4 @@ -from pylops.utils.backend import get_array_module +from pylops.utils.backend import get_array_module, inplace_set from pylops.utils.typing import NDArray @@ -62,7 +62,7 @@ def _chirp_radon_2d( # perform transform h = ncp.zeros((2 * nx, nt)).astype(cdtype) - h[0:nx, :] = ncp.fft.fftn(data, axes=(1,)) * K + h = inplace_set(ncp.fft.fftn(data, axes=(1,)) * K, h, (slice(0, nx), slice(None))) g = ncp.fft.ifftn( ncp.fft.fftn(h, axes=(0,)) * ncp.fft.fftn(K0, axes=(0,)), axes=(0,) ) diff --git a/pylops/signalprocessing/_chirpradon3d.py b/pylops/signalprocessing/_chirpradon3d.py index 99e171b14..38b2310bc 100755 --- a/pylops/signalprocessing/_chirpradon3d.py +++ b/pylops/signalprocessing/_chirpradon3d.py @@ -1,6 +1,6 @@ import numpy as np -from pylops.utils.backend import get_array_module +from pylops.utils.backend import get_array_module, inplace_set from pylops.utils.typing import NDArray try: @@ -88,8 +88,11 @@ def _chirp_radon_3d( # perform transform h = ncp.zeros((2 * ny, 2 * nx, nt)).astype(cdtype) - h[0:ny, 0:nx, :] = ncp.fft.fftn(data, axes=(2,)) * K1 * K2 - + h = inplace_set( + ncp.fft.fftn(data, axes=(2,)) * K1 * K2, + h, + (slice(0, ny), slice(0, nx), slice(None)), + ) g = ncp.fft.ifftn( ncp.fft.fftn(h, axes=(1,)) * ncp.fft.fftn(K01, axes=(1,)), axes=(1,) )