Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ift
nifty_gridder
Commits
bdac5ac6
Commit
bdac5ac6
authored
Sep 02, 2019
by
Martin Reinecke
Browse files
merge
parents
8b794388
5aa488ad
Changes
1
Hide whitespace changes
Inline
Side-by-side
test.py
View file @
bdac5ac6
from
itertools
import
product
import
nifty_gridder
as
ng
import
numpy
as
np
import
pytest
...
...
@@ -387,3 +389,38 @@ def test_wgridder_against_wdft(nxdirty, nydirty, nchan, nrow, fov, epsilon):
res0
=
ng
.
vis2dirty_wstack
(
bl
,
conf
,
idx
,
vis
)
res1
=
_dft
(
uvw
,
vis
,
conf
,
True
)
assert_
(
_l2error
(
res0
,
res1
)
<
epsilon
)
@
pmp
(
'nxdirty'
,
(
32
,
16
))
@
pmp
(
'nydirty'
,
(
32
,
64
))
@
pmp
(
"nrow"
,
(
100
,
1000
))
@
pmp
(
"nchan"
,
(
1
,
5
))
@
pmp
(
'epsilon'
,
(
1e-3
,
1e-6
))
def
test_holo_from_correlations
(
nxdirty
,
nydirty
,
nchan
,
nrow
,
epsilon
):
np
.
random
.
seed
(
42
)
bl
,
conf
,
idx
=
_init_gridder
(
nxdirty
,
nydirty
,
epsilon
,
nchan
,
nrow
)
nx
,
ny
=
2
*
nxdirty
,
2
*
nydirty
grid
=
np
.
random
.
randn
(
nx
,
ny
)
+
1.0j
*
np
.
random
.
randn
(
nx
,
ny
)
W
=
conf
.
Supp
()
res0
=
np
.
zeros_like
(
grid
)
# Precompute 2*W**2-2*W+1 images (naive: 4*W**2-4*W+1)
d0
,
d1
=
[],
[]
for
du
,
dv
in
product
(
range
(
-
W
+
1
,
W
),
range
(
1
,
W
)):
d0
.
append
(
ng
.
get_correlations
(
bl
,
conf
,
idx
,
du
,
dv
))
for
du
in
range
(
1
,
W
):
d1
.
append
(
ng
.
get_correlations
(
bl
,
conf
,
idx
,
du
,
0
))
d2
=
ng
.
get_correlations
(
bl
,
conf
,
idx
,
0
,
0
)
# Apply
for
ii
,
(
du
,
dv
)
in
enumerate
(
product
(
range
(
-
W
+
1
,
W
),
range
(
1
,
W
))):
tmp
=
np
.
roll
(
grid
,
-
du
,
axis
=
0
)
res0
+=
d0
[
ii
]
*
np
.
roll
(
tmp
,
-
dv
,
axis
=
1
)
res0
+=
np
.
roll
(
d0
[
ii
]
*
tmp
,
dv
,
axis
=
1
)
for
ii
,
du
in
enumerate
(
range
(
1
,
W
)):
res0
+=
d1
[
ii
]
*
np
.
roll
(
grid
,
-
du
,
axis
=
0
)
res0
+=
np
.
roll
(
d1
[
ii
]
*
grid
,
du
,
axis
=
0
)
res0
+=
d2
*
grid
res1
=
ng
.
apply_holo
(
bl
,
conf
,
idx
,
grid
)
assert_allclose
(
res0
,
res1
,
rtol
=
1e-13
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment