From e7ea0d292971ce9c28462a02fcd51411a6e247fd Mon Sep 17 00:00:00 2001 From: shaowinw Date: Tue, 8 Jul 2025 16:15:46 +0300 Subject: [PATCH 1/3] Support JAX backend in ChirpRadon2D by removing in-place assignment. --- pylops/signalprocessing/_chirpradon2d.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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,) ) From 6ec614ad2a19bf8c53e72edea2f7e1e9a9bde7dd Mon Sep 17 00:00:00 2001 From: mrava87 Date: Tue, 8 Jul 2025 22:34:15 +0100 Subject: [PATCH 2/3] feat: support JAX backend in ChirpRadon3D by removing in-place assignment --- pylops/signalprocessing/_chirpradon3d.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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,) ) From 8c140776efe2c4ac482dcaf6993e7c4188a817f6 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Tue, 8 Jul 2025 22:40:34 +0100 Subject: [PATCH 3/3] doc: minor change in blending docstrings --- README.md | 1 + docs/source/credits.rst | 3 ++- docs/source/gpu.rst | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) 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:|