130 # Translation from target to source coordinates |
130 # Translation from target to source coordinates |
131 vxʹ = (imx-bx)/2 - v[1] |
131 vxʹ = (imx-bx)/2 - v[1] |
132 vyʹ = (imy-by)/2 - v[2] |
132 vyʹ = (imy-by)/2 - v[2] |
133 |
133 |
134 # Target image indices within source image |
134 # Target image indices within source image |
135 px = ceil(Int, max(1, vxʹ + 1) - vxʹ) |
135 px = max(ceil(Int, max(1, vxʹ + 1) - vxʹ), 1) |
136 py = ceil(Int, max(1, vyʹ + 1) - vyʹ) |
136 py = max(ceil(Int, max(1, vyʹ + 1) - vyʹ), 1) |
137 qx = floor(Int, min(imx, vxʹ + bx) - vxʹ) |
137 qx = min(floor(Int, min(imx, vxʹ + bx) - vxʹ), bx) |
138 qy = floor(Int, min(imy, vyʹ + by) - vyʹ) |
138 qy = min(floor(Int, min(imy, vyʹ + by) - vyʹ), by) |
139 |
139 |
140 @inbounds begin |
140 @inbounds begin |
141 b[1:px-1, :] .= 0 |
141 b[1:px-1, :] .= 0 |
142 b[qx+1:end, :] .= 0 |
142 b[qx+1:end, :] .= 0 |
143 |
143 |