Skip to content

Commit 99f5aa8

Browse files
authored
Merge pull request #546 from mrava87/patch-contdeb
fix: change BlendingContinuous to work with pylops solvers
2 parents e69a172 + 1c7c9e0 commit 99f5aa8

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

pylops/waveeqprocessing/blending.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,11 @@ def _matvec_largerecs(self, x: NDArray) -> NDArray:
160160
if self.ShiftOps[i] is None:
161161
blended_data[:, shift_int : shift_int + self.nt] += x[i, :, :]
162162
else:
163-
shifted_data = self.ShiftOps[i] * self.PadOp * x[i, :, :]
163+
shifted_data = (
164+
self.ShiftOps[i]
165+
.matvec(self.PadOp.matvec(x[i, :, :].ravel()))
166+
.reshape(self.ShiftOps[i].dimsd)
167+
)
164168
blended_data[:, shift_int : shift_int + self.nt + 1] += shifted_data
165169
return blended_data
166170

@@ -172,11 +176,11 @@ def _rmatvec_largerecs(self, x: NDArray) -> NDArray:
172176
if self.ShiftOps[i] is None:
173177
deblended_data[i, :, :] = x[:, shift_int : shift_int + self.nt]
174178
else:
175-
shifted_data = (
176-
self.PadOp.H
177-
* self.ShiftOps[i].H
178-
* x[:, shift_int : shift_int + self.nt + 1]
179-
)
179+
shifted_data = self.PadOp.rmatvec(
180+
self.ShiftOps[i].rmatvec(
181+
x[:, shift_int : shift_int + self.nt + 1].ravel()
182+
)
183+
).reshape(self.PadOp.dims)
180184
deblended_data[i, :, :] = shifted_data
181185
return deblended_data
182186

0 commit comments

Comments
 (0)