|
1 | | -function testpol(m) |
| 1 | +function testpol(m, uv) |
2 | 2 | g = imagepixels(5.0, 5.0, 128, 128) |
3 | 3 | img = intensitymap(m, g) |
4 | 4 | img2 = zero(img) |
5 | 5 | intensitymap!(img2, m) |
6 | 6 |
|
7 | 7 | @test all(==(1), img .≈ img2) |
8 | 8 |
|
9 | | - u = fftshift(fftfreq(length(g.X), 1/step(g.X))) |
10 | | - uv = (U=u, V=u) |
11 | | - v = visibilities(m, uv) |
12 | | - |
13 | | - |
| 9 | + @inferred visibilities(m, uv) |
14 | 10 |
|
| 11 | + v = visibilities(m, uv) |
15 | 12 |
|
16 | 13 | plot(m) |
17 | 14 | plot(img) |
|
23 | 20 |
|
24 | 21 | @testset "Polarized Analytic" begin |
25 | 22 | m = PolarizedModel(Gaussian(), 0.1*Gaussian(), 0.1*Gaussian(), 0.1*Gaussian()) |
26 | | - testpol(m) |
| 23 | + g = imagepixels(10.0, 10.0, 512, 512) |
| 24 | + s = map(length, dims(g)) |
| 25 | + |
| 26 | + u = fftshift(fftfreq(length(g.X), 1/step(g.X))) |
| 27 | + uv = (U=u, V=-u) |
| 28 | + |
| 29 | + testpol(m, uv) |
27 | 30 | end |
28 | 31 |
|
29 | 32 | @testset "Polarized Semi Analytic" begin |
30 | 33 | m = PolarizedModel(ExtendedRing(8.0), 0.1*Gaussian(), 0.1*Gaussian(), 0.1*Gaussian()) |
31 | 34 | g = imagepixels(10.0, 10.0, 512, 512) |
32 | 35 | s = map(length, dims(g)) |
33 | | - vff = testpol(modelimage(m, g, FFTAlg())) |
34 | | - vnf = testpol(modelimage(m, g, NFFTAlg())) |
35 | | - vdf = testpol(modelimage(m, g, DFTAlg())) |
| 36 | + |
| 37 | + u = fftshift(fftfreq(length(g.X), 1/step(g.X))) |
| 38 | + uv = (U=u, V=-u) |
| 39 | + |
| 40 | + vff = testpol(modelimage(m, g, FFTAlg()), uv) |
| 41 | + vnf = testpol(modelimage(m, g, NFFTAlg(uv.U, uv.V)), uv) |
| 42 | + vdf = testpol(modelimage(m, g, DFTAlg(uv.U, uv.V)), uv) |
36 | 43 |
|
37 | 44 | @test isapprox(vff, vnf, atol=1e-6) |
38 | 45 | @test isapprox(vff, vdf, atol=1e-6) |
|
41 | 48 |
|
42 | 49 | @testset "Polarized Modified" begin |
43 | 50 | g = imagepixels(5.0, 5.0, 128, 128) |
| 51 | + u = fftshift(fftfreq(length(g.X), 1/step(g.X))) |
| 52 | + uv = (U=u, V=-u) |
| 53 | + |
44 | 54 | s = map(length, dims(g)) |
45 | 55 | m0 = PolarizedModel(ExtendedRing(2.0), 0.1*Gaussian(), 0.1*Gaussian(), 0.1*Gaussian()) |
46 | 56 | m = shifted(m0, 0.1 ,0.1) |
47 | | - testpol(modelimage(m, g)) |
| 57 | + testpol(modelimage(m, g, NFFTAlg(uv.U, uv.V)), uv) |
48 | 58 |
|
49 | 59 | m = rotated(m0, 0.1) |
50 | | - testpol(modelimage(m, g)) |
| 60 | + testpol(modelimage(m, g, NFFTAlg(uv.U, uv.V)), uv) |
51 | 61 |
|
52 | 62 | m = renormed(m0, 0.1) |
53 | | - testpol(modelimage(m, g)) |
| 63 | + testpol(modelimage(m, g, NFFTAlg(uv.U, uv.V)), uv) |
54 | 64 |
|
55 | 65 | m = stretched(m0, 0.1, 0.4) |
56 | | - testpol(modelimage(m, g)) |
| 66 | + testpol(modelimage(m, g, NFFTAlg(uv.U, uv.V)), uv) |
57 | 67 |
|
58 | 68 | end |
59 | 69 |
|
60 | 70 | @testset "Polarized Combinators" begin |
61 | 71 | m1 = PolarizedModel(Gaussian(), 0.1*Gaussian(), 0.1*Gaussian(), 0.1*Gaussian()) |
62 | 72 | m2 = PolarizedModel(Disk(), shifted(Disk(), 0.1, 1.0), ZeroModel(), ZeroModel()) |
63 | | - testpol(convolved(m1,m2)) |
| 73 | + g = imagepixels(5.0, 5.0, 128, 128) |
| 74 | + u = fftshift(fftfreq(length(g.X), 1/step(g.X))) |
| 75 | + uv = (U=u, V=-u) |
| 76 | + |
| 77 | + testpol(convolved(m1,m2), uv) |
64 | 78 |
|
65 | | - testpol(convolved(m1,Gaussian())) |
66 | | - testpol(convolved(stretched(m1, 0.5, 0.5),Gaussian())) |
| 79 | + testpol(convolved(m1,Gaussian()), uv) |
| 80 | + testpol(convolved(stretched(m1, 0.5, 0.5),Gaussian()), uv) |
67 | 81 | end |
68 | 82 |
|
69 | 83 | @testset "Polarized All Mod" begin |
|
72 | 86 | m = convolved(m1,m2)+m1 |
73 | 87 | g = imagepixels(5.0, 5.0, 128, 128) |
74 | 88 | s = map(length, dims(g)) |
75 | | - testpol(modelimage(m, g)) |
| 89 | + u = fftshift(fftfreq(length(g.X), 1/step(g.X))) |
| 90 | + uv = (U=u, V=-u) |
| 91 | + |
| 92 | + testpol(modelimage(m, g), uv) |
76 | 93 | end |
77 | 94 |
|
78 | 95 | @testset "Rotation" begin |
|
0 commit comments