Skip to content

Commit d0f4bf6

Browse files
committed
Fix #4 avoid OOB in born due to double offset
1 parent 24c4818 commit d0f4bf6

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ImageGather"
22
uuid = "355d8124-6b2e-49b5-aab5-cdbc0a5fccbe"
33
authors = ["mloubout <[email protected]>"]
4-
version = "0.2.5"
4+
version = "0.2.6"
55

66
[deps]
77
JUDI = "f3b833dc-6b2e-5b9c-b940-873ed6319979"

examples/layers_sscig.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ wavelet = ricker_wavelet(timeD, dtD, f0)
4949
q = diff(judiVector(srcGeometry, wavelet))
5050

5151
###################################################################################################
52-
opt = Options(space_order=12, isic=false, sum_padding=true)
52+
opt = Options(space_order=4, isic=false, sum_padding=true)
5353
# Setup operators
5454
F = judiModeling(model, srcGeometry, recGeometry; options=opt)
5555
J0 = judiJacobian(F(model0), q)

src/implementation.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ def cig_lin(model, src_coords, wavelet, rec_coords, dm_ext, offsets, ic="as", sp
9696
op.cfunction
9797

9898
# Remove edge for offsets
99-
dim_kw = make_kw(oh, DimensionTuple(*u.shape[1:], getters=model.grid.dimensions))
99+
dim_kw = make_kw(oh, DimensionTuple(*u.shape[1:], getters=model.grid.dimensions),
100+
born=True)
100101
op(dt=model.critical_dt, rcvul=rcvl, **dim_kw)
102+
101103
# Output
102104
return rcvl.data
103105

@@ -149,9 +151,10 @@ def _shift(u, oh):
149151
return uh
150152

151153

152-
def make_kw(ohs, shape):
154+
def make_kw(ohs, shape, born=False):
153155
kw = dict()
156+
scale = 2 if born else 1
154157
for d, v in ohs.items():
155-
kw['%s_m' % d.name] = -np.min(v.data.view(np.ndarray))
156-
kw['%s_M' % d.name] = shape[d] - np.max(v.data.view(np.ndarray))
158+
kw['%s_m' % d.name] = -scale*np.min(v.data.view(np.ndarray))
159+
kw['%s_M' % d.name] = shape[d] - scale*np.max(v.data.view(np.ndarray))
157160
return kw

0 commit comments

Comments
 (0)