My matlab script is almost entirely a big loop that searches through small patches of an image and computes sum-of-square-differences with a "target patch", like this:
for i = 1:num_pixels_in_image
patch = image(i-5:i+5,j-5:j+5);
ssd(i) = sum(patch(:) - target(:)).^2;
Naturally, this process is very slow when the number of pixels grows large. I'm wondering what the absolutely most efficient way to implement this is. Problems such as this, it seems, don't lend themselves easily to vectorization. Cheers!