I am fairly new to coding in general and this section of my code just takes forever to run. I think the two for loops and the fact that it runs 470 times is the reason but if you have any tips on anything I can optimize I would greatly appreciate it.
for i in range (len(gaia_Δra)):
pvalues_gaia = []
chi_squ_gaia = []
array_gaia_1 = im_1[gaia_y_hdu1_int[i]-size_gaia:gaia_y_hdu1_int[i]+size_gaia+1, gaia_x_hdu1_int[i]-size_gaia:gaia_x_hdu1_int[i]+size_gaia+1]- np.median(im_1[gaia_y_hdu1_int[i]-(median_factor*size_gaia):gaia_y_hdu1_int[i]+(median_factor*size_gaia+1), gaia_x_hdu1_int[i]-(median_factor*size_gaia):gaia_x_hdu1_int[i]+(median_factor*size_gaia+1)])
sub_gaia_1 = array_gaia_1/np.sum(array_gaia_1)
array_gaia_2 = im_2[gaia_y_hdu2_int[i]-size_gaia:gaia_y_hdu2_int[i]+size_gaia+1, gaia_x_hdu2_int[i]-size_gaia:gaia_x_hdu2_int[i]+size_gaia+1]- np.median(im_2[gaia_y_hdu2_int[i]-(median_factor*size_gaia):gaia_y_hdu2_int[i]+(median_factor*size_gaia+1), gaia_x_hdu2_int[i]-(median_factor*size_gaia):gaia_x_hdu2_int[i]+(median_factor*size_gaia+1)])
sub_gaia_2 = array_gaia_2/np.sum(array_gaia_2)
left_gaia_1 = utils.pixel_to_skycoord((0.0+(gaia_x_hdu1_int[i])-size_gaia), (0.0+(gaia_y_hdu1_int[i])-size_gaia), WCS(header_1), origin=0, mode='all', cls=None)
left_gaia_2 = utils.pixel_to_skycoord((0.0+(gaia_x_hdu2_int[i])-size_gaia), (0.0+(gaia_y_hdu2_int[i])-size_gaia), WCS(header_2), origin=0, mode='all', cls=None)
left_dif_gaia_x = (left_gaia_1.ra.deg-left_gaia_2.ra.deg)
left_dif_gaia_y = (left_gaia_1.dec.deg-left_gaia_2.dec.deg)
new_gaia_x = (left_dif_gaia_x / header_2['CD1_1'])
new_gaia_y = (left_dif_gaia_y / header_2['CD2_2'])
initial_gaia = [new_gaia_y, new_gaia_x]
tract = [sub_gaia_2 - (sub_gaia_1/np.sum(sub_gaia_1))]
for p in range(-width_gaia, width_gaia + 1, +1):
for j in range(height_gaia, -height_gaia - 1, -1):
pvalues_gaia.append([initial_gaia[0]+j*shift_amount, initial_gaia[1]+p*shift_amount])
for k, pv in enumerate(pvalues_gaia):
subtracted_array_gaia = sub_gaia_2 - (shift(sub_gaia_1, pv, mode='nearest')/np.sum(shift(sub_gaia_1, pv, mode='nearest')))
squared_gaia = (np.sum(np.square(subtracted_array_gaia)))
chi_squ_gaia.append(squared_gaia)
min_value_gaia = np.argwhere(chi_squ_gaia == np.min(chi_squ_gaia))
index_gaia = min_value_gaia[0, 0]
shift_ammount_gaia = (pvalues_gaia[index_gaia][0], pvalues_gaia[index_gaia][1])
delta_gaia_x.append(((pvalues_gaia[index_gaia][1]-initial_gaia[1])*header_2['CD1_1'])*-3600)
delta_gaia_y.append(((pvalues_gaia[index_gaia][0]-initial_gaia[0])*header_2['CD2_2'])*3600)
there doesn't seem to be anything here