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.