src/Translate.jl

changeset 30
0b25d9ef7af9
parent 29
05b11c96ef45
child 31
62645d05985a
--- a/src/Translate.jl	Fri Dec 27 20:59:44 2019 +0200
+++ b/src/Translate.jl	Fri Dec 27 21:40:33 2019 +0200
@@ -99,8 +99,8 @@
 function translate_image!(x, z, u::DisplacementFull)
     @assert(size(u, 1)==2 && size(x)==size(u)[2:end] && size(x)==size(z))
 
-    @inbounds Threads.@threads for i=1:size(x, 1)
-        @simd for j=1:size(x, 2)
+    Threads.@threads for i=1:size(x, 1)
+        @inbounds for j=1:size(x, 2)
             pt = (i - u[1, i, j], j - u[2, i, j])
             x[i, j] = interpolate2d_quadrants(z, pt)
         end
@@ -110,10 +110,10 @@
 function translate_image!(x, z, u::DisplacementConstant)
     @assert(size(u)==(2,) && size(x)==size(z))
 
-    a, b = u[1], u[2]
+    @inbounds a, b = u[1], u[2]
 
-    @inbounds Threads.@threads for i=1:size(x, 1)
-        @simd for j=1:size(x, 2)
+    Threads.@threads for i=1:size(x, 1)
+        @inbounds for j=1:size(x, 2)
             x[i, j] = interpolate2d_quadrants(z, (i - a, j - b))
         end
     end
@@ -140,11 +140,13 @@
     @inbounds begin
         b[1:px-1, :] .= 0
         b[qx+1:bx, :] .= 0
+    end
 
-        Threads.@threads for i=px:qx
+    Threads.@threads for i=px:qx
+        @inbounds begin
             b[i, 1:py-1] .= 0
             b[i, qy+1:by] .= 0
-            @simd for j=py:qy
+            for j=py:qy
                 b[i, j] = interpolate2d_quadrants(im, (i+vxʹ, j+vyʹ))
             end
         end

mercurial