this:
ravel_normalizedMinBlurredImage = empty(size(blurred_normalized_image1))
ravel_blurred_normalized_image1 = ravel(blurred_normalized_image1)
ravel_blurred_normalized_image2 = ravel(blurred_normalized_image2)
for i in range(size(blurred_normalized_image1)):
ravel_normalizedMinBlurredImage[i]= min(ravel_blurred_normalized_image1[i], ravel_blurred_normalized_image2[i])
normalizedMinBlurredImage = reshape(ravel_normalizedMinBlurredImage, shape(blurred_normalized_image1))
is a lot faster than this:
for i in range(size(blurred_normalized_image1)):
unravel_index(i, shape(blurred_normalized_image1))] = min(ravel(blurred_normalized_image1)[i], ravel(blurred_normalized_image2)[i])
In the latter, I profiled it and unravel_index was taking most of the time. So, it's much faster to use reshape once rather than using unravel_index on each iteration.