import numpy as np #librería util para manejar los array y funciones matemáticas
from PIL import Image #Módulo para abrir imagen.
imagen = np.array(Image.open('data/zapatocaImage.jpeg')) #volviendo imagen en array
#print(imagen)
1) Tomando el promedio aritmético para cada pixel
Escalagrises2 = imagen.mean(axis=2) #Toma el promedio aritmético para cada pixel (R+G+B/3)
plt.imshow(Escalagrises2, plt.get_cmap('gray')) #muestra imagen en escala de grises
plt.show()
print(Escalagrises2.ndim) #dim del array
2
2) Usando la formula lineal estandar de Luma de brillo en una imagen [1]
Escalagrises3 = np.empty_like(imagen) #array del mismo shape
for i in range(3):
Escalagrises3[:,:,i] = 0.299*imagen[:,:,0] + 0.587*imagen[:,:,1]+0.114*imagen[:,:,2] #aplicando formula Luma a cada pixel
plt.imshow(Escalagrises3[:,:,0], plt.get_cmap('gray'))
plt.show()
print(Escalagrises3[:,:,0].ndim)
2
def trim(array, x, y, width, height): #función para recortar
return array[y:y + height, x:x+width]
# Calcula el error entre el valor z dado por la imagen y el determinado por el modelo teniendo en cuenta la incertidumbre
def error(xdatatuple,a,b, x0,y0,c,z,inc):
model = gauss2d(xdatatuple,a,b, x0,y0,c)
errors = (model - z)/np.sqrt(abs(inc))
return errors
from scipy.optimize import curve_fit #función del módelo de mínimos cuadrados general no lineal para ajustar
def gauss2d(xdatatuple,a,b, x0,y0,c): #modelo gaussiano 2d a inplementar con constante aditiva ("el cielo vacio brilla")
(x,y)=xdatatuple
z = a*np.exp(-((x-x0)**2+(y-y0)**2)/(2*c))+b
return z.ravel()
FWHM=[] #lista para los primeros valores de FWHM a blanco y negro
recorte1 = trim(Escalagrises3[:,:,0], 210, 237, 15, 15) #Recorte de la estrella individual
x1=np.arange(0,15,1)
y1=np.arange(0,15,1)
y1,x1 = np.meshgrid(x1,y1) #creando tupla xy
xdata1 = np.vstack((x1.ravel(),y1.ravel())) #util para leer rejilla simetrica (2,225) en curve_fit
#aplicación de curve_fit para hallar constantes, p0 es una sugerencia a los parametros, util para el ajuste
popt1, pcov1 = curve_fit(gauss2d, xdata1, recorte1.ravel(), p0=[1,0,1,1,1])
estrella1=gauss2d(xdata1, popt1[0], popt1[1],popt1[2], popt1[3], popt1[4]) #aplicacion gaussiana con los parametros hallados
FWHM1=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt1[4])) #valor de FWHM de la gaussiana obtenida
#parametros para graficar, tamaño, barra de colores, titulos y color.
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía")
plt.imshow(recorte1, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana")
plt.imshow(estrella1.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Repita este procedimiento para varias estrellas y presente alguna estadística sobre las medidas de la FWHM de las distintas gaussianas: histograma, media, mediana, desviación estándar
Al repetir el procedimiento en cada estrella a blanco y negro y cada una de las BandasRGB se modifican los parametros de cada recorte, rejilla, color y sugerencias p0
x2=np.arange(0,35,1)
y2=np.arange(0,35,1)
y2,x2 = np.meshgrid(x2,y2)
recorte2 = trim(Escalagrises3[:,:,0], 645, 535, 35, 35)
xdata2 = np.vstack((x2.ravel(),y2.ravel()))
popt2, pcov2 = curve_fit(gauss2d, xdata2, recorte2.ravel(), p0=[1,0,1,1,1])
estrella2=gauss2d(xdata2, popt2[0], popt2[1],popt2[2], popt2[3], popt2[4])
FWHM2=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt2[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía")
plt.imshow(recorte2, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana")
plt.imshow(estrella2.reshape(35, 35), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte3 = trim(Escalagrises3[:,:,0], 560, 320, 15, 15)
x3=np.arange(0,15,1)
y3=np.arange(0,15,1)
y3,x3 = np.meshgrid(x3,y3)
xdata3 = np.vstack((x3.ravel(),y3.ravel()))
popt3, pcov3 = curve_fit(gauss2d, xdata3, recorte3.ravel(), p0=[1,0,1,1,1])
estrella3=gauss2d(xdata3, popt3[0], popt3[1],popt3[2], popt3[3], popt3[4])
FWHM3=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt3[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía")
plt.imshow(recorte3, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana")
plt.imshow(estrella3.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte4 = trim(Escalagrises3[:,:,0], 442, 370, 15, 15)
x4=np.arange(0,15,1)
y4=np.arange(0,15,1)
y4,x4 = np.meshgrid(x4,y4)
xdata4 = np.vstack((x4.ravel(),y4.ravel()))
popt4, pcov4 = curve_fit(gauss2d, xdata4, recorte4.ravel(), p0=[1,0,1,1,1])
estrella4=gauss2d(xdata4, popt4[0], popt4[1],popt4[2], popt4[3], popt4[4])
FWHM4=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt4[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía")
plt.imshow(recorte4, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana")
plt.imshow(estrella4.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte5 = trim(Escalagrises3[:,:,0], 320, 455, 15, 15)
x5=np.arange(0,15,1)
y5=np.arange(0,15,1)
y5,x5 = np.meshgrid(x5,y5)
xdata5 = np.vstack((x5.ravel(),y5.ravel()))
popt5, pcov5 = curve_fit(gauss2d, xdata5, recorte5.ravel(), p0=[1,1,1,1,1])
estrella5=gauss2d(xdata5, popt5[0], popt5[1],popt5[2], popt5[3], popt5[4])
FWHM5=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt5[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía")
plt.imshow(recorte5, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana")
plt.imshow(estrella5.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte6 = trim(Escalagrises3[:,:,0], 535, 335, 10, 10)
x6=np.arange(0,10,1)
y6=np.arange(0,10,1)
y6,x6 = np.meshgrid(x6,y6)
xdata6 = np.vstack((x6.ravel(),y6.ravel()))
popt6, pcov6 = curve_fit(gauss2d, xdata6, recorte6.ravel(), p0=[1,0,1,1,1])
estrella6=gauss2d(xdata6, popt6[0], popt6[1],popt6[2], popt6[3], popt6[4])
FWHM6=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt6[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía")
plt.imshow(recorte6, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana")
plt.imshow(estrella6.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte7 = trim(Escalagrises3[:,:,0], 540, 345, 10, 10)
x7=np.arange(0,10,1)
y7=np.arange(0,10,1)
y7,x7 = np.meshgrid(x7,y7)
xdata7 = np.vstack((x7.ravel(),y7.ravel()))
popt7, pcov7 = curve_fit(gauss2d, xdata7, recorte7.ravel(), p0=[1,0,1,1,1])
estrella7=gauss2d(xdata7, popt7[0], popt7[1],popt7[2], popt7[3], popt7[4])
FWHM7=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt7[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía")
plt.imshow(recorte7, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana")
plt.imshow(estrella7.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte8 = trim(Escalagrises3[:,:,0], 620, 306, 20, 20)
x8=np.arange(0,20,1)
y8=np.arange(0,20,1)
y8,x8 = np.meshgrid(x8,y8)
xdata8 = np.vstack((x8.ravel(),y8.ravel()))
popt8, pcov8 = curve_fit(gauss2d, xdata8, recorte8.ravel(), p0=[1,0,1,1,1])
estrella8=gauss2d(xdata8, popt8[0], popt8[1],popt8[2], popt8[3], popt8[4])
FWHM8=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt8[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía")
plt.imshow(recorte8, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana")
plt.imshow(estrella8.reshape(20, 20), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte9 = trim(Escalagrises3[:,:,0], 545, 360, 10, 10)
x9=np.arange(0,10,1)
y9=np.arange(0,10,1)
y9,x9 = np.meshgrid(x9,y9)
xdata9 = np.vstack((x9.ravel(),y9.ravel()))
popt9, pcov9 = curve_fit(gauss2d, xdata9, recorte9.ravel(), p0=[1,0,1,1,1])
estrella9=gauss2d(xdata9, popt9[0], popt9[1],popt9[2], popt9[3], popt9[4])
FWHM9=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt9[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía")
plt.imshow(recorte9, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana")
plt.imshow(estrella9.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
recorte10 = trim(Escalagrises3[:,:,0], 615, 394, 10, 10)
x10=np.arange(0,10,1)
y10=np.arange(0,10,1)
y10,x10 = np.meshgrid(x10,y10)
xdata10 = np.vstack((x10.ravel(),y10.ravel()))
popt10, pcov10 = curve_fit(gauss2d, xdata10, recorte10.ravel(), p0=[1,0,1,1,1])
estrella10=gauss2d(xdata10, popt10[0], popt10[1],popt10[2], popt10[3], popt10[4])
FWHM10=FWHM.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt10[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía")
plt.imshow(recorte10, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana")
plt.imshow(estrella10.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
FWHM = np.array(FWHM)
sigmaBN = FWHM.std()
mediaBN = FWHM.mean()
medianaBN = np.median(FWHM)
print("Datos de FWHM de las estrellas a blanco y negro :")
print("Desviación :", sigmaBN)
print("Media :", mediaBN)
print("Mediana :", medianaBN)
plt.hist(FWHM)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM de las estrellas a blanco y negro : Desviación : 2.506520397288835 Media : 4.2231882458162096 Mediana : 3.1419657079162633
FWHMR=[]
recorteR1 = trim(imagen[:,:,0], 210, 237, 15, 15)
poptR1, pcovR1 = curve_fit(gauss2d, xdata1, recorteR1.ravel(), p0=[1,1,1,1,1])
estrellaR1=gauss2d(xdata1, poptR1[0], poptR1[1],poptR1[2], poptR1[3], poptR1[4])
FWHMR1=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR1[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía (Banda Rojo)")
plt.imshow(recorteR1, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR1.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR2 = trim(imagen[:,:,0], 645, 535, 35, 35)
poptR2, pcovR2 = curve_fit(gauss2d, xdata2, recorteR2.ravel(), p0=[1,0,1,1,1])
estrellaR2=gauss2d(xdata2, poptR2[0], poptR2[1],poptR2[2], poptR2[3], poptR2[4])
FWHMR2=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR2[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía (Banda Rojo)")
plt.imshow(recorteR2, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR2.reshape(35, 35), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR3 = trim(imagen[:,:,0], 560, 320, 15, 15)
poptR3, pcovR3 = curve_fit(gauss2d, xdata3, recorteR3.ravel(), p0=[1,1,1,1,1])
estrellaR3=gauss2d(xdata3, poptR3[0], poptR3[1],poptR3[2], poptR3[3], poptR3[4])
FWHMR3=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR3[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía (Banda Rojo)")
plt.imshow(recorteR3, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR3.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR4 = trim(imagen[:,:,0], 442, 370, 15, 15)
poptR4, pcovR4 = curve_fit(gauss2d, xdata4, recorteR4.ravel(), p0=[1,0,1,1,1])
estrellaR4=gauss2d(xdata4, poptR4[0], poptR4[1],poptR4[2], poptR4[3], poptR4[4])
FWHMR4=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR4[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía (Banda Rojo)")
plt.imshow(recorteR4, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR4.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR5 = trim(imagen[:,:,0], 320, 455, 15, 15)
poptR5, pcovR5 = curve_fit(gauss2d, xdata5, recorteR5.ravel(), p0=[1,1,1,1,1])
estrellaR5=gauss2d(xdata5, poptR5[0], poptR5[1],poptR5[2], poptR5[3], poptR5[4])
FWHMR5=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR5[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía (Banda Rojo)")
plt.imshow(recorteR5, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR5.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR6 = trim(imagen[:,:,0], 535, 335, 10, 10)
poptR6, pcovR6 = curve_fit(gauss2d, xdata6, recorteR6.ravel(), p0=[1,0,1,1,1])
estrellaR6=gauss2d(xdata6, poptR6[0], poptR6[1],poptR6[2], poptR6[3], poptR6[4])
FWHMR6=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR6[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía (Banda Rojo)")
plt.imshow(recorteR6, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR6.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR7 = trim(imagen[:,:,0], 540, 345, 10, 10)
poptR7, pcovR7 = curve_fit(gauss2d, xdata7, recorteR7.ravel(), p0=[1,2,1,1,1])
estrellaR7=gauss2d(xdata7, poptR7[0], poptR7[1],poptR7[2], poptR7[3], poptR7[4])
FWHMR7=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR7[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía (Banda Rojo)")
plt.imshow(recorteR7, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR7.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR8 = trim(imagen[:,:,0], 620, 306, 20, 20)
poptR8, pcovR8 = curve_fit(gauss2d, xdata8, recorteR8.ravel(), p0=[1,0,1,1,1])
estrellaR8=gauss2d(xdata8, poptR8[0], poptR8[1],poptR8[2], poptR8[3], poptR8[4])
FWHMR8=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR8[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía (Banda Rojo)")
plt.imshow(recorteR8, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR8.reshape(20, 20), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR9 = trim(imagen[:,:,0], 545, 360, 10, 10)
poptR9, pcovR9 = curve_fit(gauss2d, xdata9, recorteR9.ravel(), p0=[1,0,1,1,1])
estrellaR9=gauss2d(xdata9, poptR9[0], poptR9[1],poptR9[2], poptR9[3], poptR9[4])
FWHMR9=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR9[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía (Banda Rojo)")
plt.imshow(recorteR9, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR9.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
recorteR10 = trim(imagen[:,:,0], 615, 394, 10, 10)
poptR10, pcovR10 = curve_fit(gauss2d, xdata10, recorteR10.ravel(), p0=[1,0,1,1,1])
estrellaR10=gauss2d(xdata10, poptR10[0], poptR10[1],poptR10[2], poptR10[3], poptR10[4])
FWHMR10=FWHMR.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR10[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Rojo)")
plt.imshow(recorteR10, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana (Banda Rojo)")
plt.imshow(estrellaR10.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
FWHMR = np.array(FWHMR)
sigmaR = FWHMR.std()
mediaR = FWHMR.mean()
medianaR = np.median(FWHMR)
print("Datos de FWHM de las estrellas para la Banda rojo :")
print("Desviación :", sigmaR)
print("Media :", mediaR)
print("Mediana :", medianaR)
plt.hist(FWHMR)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM de las estrellas para la Banda rojo : Desviación : 2.329889939974896 Media : 4.021186556528661 Mediana : 2.9192045463592478
FWHMG=[]
recorteG1 = trim(imagen[:,:,1], 210, 237, 15, 15)
poptG1, pcovG1 = curve_fit(gauss2d, xdata1, recorteG1.ravel(), p0=[1,1,1,1,1])
estrellaG1=gauss2d(xdata1, poptG1[0], poptG1[1],poptG1[2], poptG1[3], poptG1[4])
FWHMG1=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG1[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía (Banda Verde)")
plt.imshow(recorteG1, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG1.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG2 = trim(imagen[:,:,1], 645, 535, 35, 35)
poptG2, pcovG2 = curve_fit(gauss2d, xdata2, recorteG2.ravel(), p0=[1,0,1,1,1])
estrellaG2=gauss2d(xdata2, poptG2[0], poptG2[1],poptG2[2], poptG2[3], poptG2[4])
FWHMG2=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG2[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía (Banda Verde)")
plt.imshow(recorteG2, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG2.reshape(35, 35), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG3 = trim(imagen[:,:,1], 560, 320, 15, 15)
poptG3, pcovG3 = curve_fit(gauss2d, xdata3, recorteG3.ravel(), p0=[1,1,1,1,1])
estrellaG3=gauss2d(xdata3, poptG3[0], poptG3[1],poptG3[2], poptG3[3], poptG3[4])
FWHMG3=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG3[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía (Banda Verde)")
plt.imshow(recorteG3, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG3.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG4 = trim(imagen[:,:,1], 442, 370, 15, 15)
poptG4, pcovG4 = curve_fit(gauss2d, xdata4, recorteG4.ravel(), p0=[1,0,1,1,1])
estrellaG4=gauss2d(xdata4, poptG4[0], poptG4[1],poptG4[2], poptG4[3], poptG4[4])
FWHMG4=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG4[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía (Banda Verde)")
plt.imshow(recorteG4, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG4.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG5 = trim(imagen[:,:,1], 320, 455, 15, 15)
poptG5, pcovG5 = curve_fit(gauss2d, xdata5, recorteG5.ravel(), p0=[1,1,1,1,1])
estrellaG5=gauss2d(xdata5, poptG5[0], poptG5[1],poptG5[2], poptG5[3], poptG5[4])
FWHMG5=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG5[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía (Banda Verde)")
plt.imshow(recorteG5, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG5.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG6 = trim(imagen[:,:,1], 535, 335, 10, 10)
poptG6, pcovG6 = curve_fit(gauss2d, xdata6, recorteG6.ravel(), p0=[1,0,1,1,1])
estrellaG6=gauss2d(xdata6, poptG6[0], poptG6[1],poptG6[2], poptG6[3], poptG6[4])
FWHMG6=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG6[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía (Banda Verde)")
plt.imshow(recorteG6, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG6.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG7 = trim(imagen[:,:,1], 540, 345, 10, 10)
poptG7, pcovG7 = curve_fit(gauss2d, xdata7, recorteG7.ravel(), p0=[1,2,1,1,1])
estrellaG7=gauss2d(xdata7, poptG7[0], poptG7[1],poptG7[2], poptG7[3], poptG7[4])
FWHMG7=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG7[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía (Banda Verde)")
plt.imshow(recorteG7, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG7.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG8 = trim(imagen[:,:,1], 620, 306, 20, 20)
poptG8, pcovG8 = curve_fit(gauss2d, xdata8, recorteG8.ravel(), p0=[1,1,1,1,1])
estrellaG8=gauss2d(xdata8, poptG8[0], poptG8[1],poptG8[2], poptG8[3], poptG8[4])
FWHMG8=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG8[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía (Banda Verde)")
plt.imshow(recorteG8, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG8.reshape(20, 20), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG9 = trim(imagen[:,:,1], 545, 360, 10, 10)
poptG9, pcovG9 = curve_fit(gauss2d, xdata9, recorteG9.ravel(), p0=[1,0,2,1,1])
estrellaG9=gauss2d(xdata9, poptG9[0], poptG9[1],poptG9[2], poptG9[3], poptG9[4])
FWHMG9=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG9[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía (Banda Verde)")
plt.imshow(recorteG9, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG9.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
recorteG10 = trim(imagen[:,:,1], 615, 394, 10, 10)
poptG10, pcovG10 = curve_fit(gauss2d, xdata10, recorteG10.ravel(), p0=[1,0,1,1,1])
estrellaG10=gauss2d(xdata10, poptG10[0], poptG10[1],poptG10[2], poptG10[3], poptG10[4])
FWHMG10=FWHMG.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG10[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Verde)")
plt.imshow(recorteG10, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana (Banda Verde)")
plt.imshow(estrellaG10.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
FWHMG = np.array(FWHMG)
sigmaG = FWHMG.std()
mediaG = FWHMG.mean()
medianaG = np.median(FWHMG)
print("Datos de FWHM de las estrellas para la Banda verde :")
print("Desviación :", sigmaG)
print("Media :", mediaG)
print("Mediana :", medianaG)
plt.hist(FWHMG)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM de las estrellas para la Banda verde : Desviación : 2.525571326812283 Media : 4.24280156594701 Mediana : 3.1827269210351594
FWHMB=[]
recorteB1 = trim(imagen[:,:,2], 210, 237, 15, 15)
poptB1, pcovB1 = curve_fit(gauss2d, xdata1, recorteB1.ravel(), p0=[1,0,1,1,1])
estrellaB1=gauss2d(xdata1, poptB1[0], poptB1[1],poptB1[2], poptB1[3], poptB1[4])
FWHMB1=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB1[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía (Banda Azul)")
plt.imshow(recorteB1, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB1.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB2 = trim(imagen[:,:,2], 645, 535, 35, 35)
poptB2, pcovB2 = curve_fit(gauss2d, xdata2, recorteB2.ravel(), p0=[1,0,1,1,1])
estrellaB2=gauss2d(xdata2, poptB2[0], poptB2[1],poptB2[2], poptB2[3], poptB2[4])
FWHMB2=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB2[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía (Banda Azul)")
plt.imshow(recorteB2, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB2.reshape(35, 35), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB3 = trim(imagen[:,:,2], 560, 320, 15, 15)
poptB3, pcovB3 = curve_fit(gauss2d, xdata3, recorteB3.ravel(), p0=[1,1,1,1,1])
estrellaB3=gauss2d(xdata3, poptB3[0], poptB3[1],poptB3[2], poptB3[3], poptB3[4])
FWHMB3=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB3[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía (Banda Azul)")
plt.imshow(recorteB3, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB3.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB4 = trim(imagen[:,:,2], 442, 370, 15, 15)
poptB4, pcovB4 = curve_fit(gauss2d, xdata4, recorteB4.ravel(), p0=[1,0,1,1,1])
estrellaB4=gauss2d(xdata4, poptB4[0], poptB4[1],poptB4[2], poptB4[3], poptB4[4])
FWHMB4=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB4[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía (Banda Azul)")
plt.imshow(recorteB4, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB4.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB5 = trim(imagen[:,:,2], 320, 455, 15, 15)
poptB5, pcovB5 = curve_fit(gauss2d, xdata5, recorteB5.ravel(), p0=[1,0,1,1,1])
estrellaB5=gauss2d(xdata5, poptB5[0], poptB5[1],poptB5[2], poptB5[3], poptB5[4])
FWHMB5=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB5[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía (Banda Azul)")
plt.imshow(recorteB5, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB5.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB6 = trim(imagen[:,:,2], 535, 335, 10, 10)
poptB6, pcovB6 = curve_fit(gauss2d, xdata6, recorteB6.ravel(), p0=[1,0,1,1,1])
estrellaB6=gauss2d(xdata6, poptB6[0], poptB6[1],poptB6[2], poptB6[3], poptB6[4])
FWHMB6=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB6[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía (Banda Azul)")
plt.imshow(recorteB6, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB6.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB7 = trim(imagen[:,:,2], 540, 345, 10, 10)
poptB7, pcovB7 = curve_fit(gauss2d, xdata7, recorteB7.ravel(), p0=[1,0,1,1,1])
estrellaB7=gauss2d(xdata7, poptB7[0], poptB7[1],poptB7[2], poptB7[3], poptB7[4])
FWHMB7=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB7[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía (Banda Azul)")
plt.imshow(recorteB7, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB7.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB8 = trim(imagen[:,:,2], 620, 306, 20, 20)
poptB8, pcovB8 = curve_fit(gauss2d, xdata8, recorteB8.ravel(), p0=[1,1,1,1,1])
estrellaB8=gauss2d(xdata8, poptB8[0], poptB8[1],poptB8[2], poptB8[3], poptB8[4])
FWHMB8=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB8[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía (Banda Azul)")
plt.imshow(recorteB8, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB8.reshape(20, 20), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB9 = trim(imagen[:,:,2], 545, 360, 10, 10)
poptB9, pcovB9 = curve_fit(gauss2d, xdata9, recorteB9.ravel(), p0=[1,1,1,1,1])
estrellaB9=gauss2d(xdata9, poptB9[0], poptB9[1],poptB9[2], poptB9[3], poptB9[4])
FWHMB9=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB9[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía (Banda Azul)")
plt.imshow(recorteB9, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB9.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
recorteB10 = trim(imagen[:,:,2], 615, 394, 10, 10)
poptB10, pcovB10 = curve_fit(gauss2d, xdata10, recorteB10.ravel(), p0=[1,0,1,1,1])
estrellaB10=gauss2d(xdata10, poptB10[0], poptB10[1],poptB10[2], poptB10[3], poptB10[4])
FWHMB10=FWHMB.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB10[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Azul)")
plt.imshow(recorteB10, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana (Banda Azul)")
plt.imshow(estrellaB10.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
FWHMB = np.array(FWHMB)
sigmaB = FWHMB.std()
mediaB = FWHMB.mean()
medianaB = np.median(FWHMB)
print("Datos de FWHM de las estrellas para la Banda azul :")
print("Desviación :", sigmaB)
print("Media :", mediaB)
print("Mediana :", medianaB)
plt.hist(FWHMB)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM de las estrellas para la Banda azul : Desviación : 2.699911640184987 Media : 4.508060549859931 Mediana : 3.4823388160938347
# Lsitas de valores de FWHM teniendo en cuenta las incertidumbres
FWHM_I=[]
FWHMR_I=[]
FWHMG_I=[]
FWHMB_I=[]
Err_BN1=error(xdata1, popt1[0], popt1[1],popt1[2], popt1[3], popt1[4], recorte1.ravel(), inc=1)
popt1Err, pcov1Err = curve_fit(gauss2d, xdata1, recorte1.ravel(), p0=[3,3,3,1,1],sigma=Err_BN1)
estrella1Err=gauss2d(xdata1, popt1Err[0], popt1Err[1],popt1Err[2], popt1Err[3], popt1Err[4])
FWHM1Err=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt1Err[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía")
plt.imshow(recorte1, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella1Err.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
FWHMBI=[]
#recorteB10 = trim(imagen[:,:,2], 615, 394, 10, 10)
E=error(xdata10, poptB10[0], poptB10[1],poptB10[2], poptB10[3], poptB10[4], recorteB10.ravel(), inc=1)
poptB10I, pcovB10I = curve_fit(gauss2d, xdata10, recorteB10I.ravel(), p0=[2,2,2,2,1],sigma=E)
estrellaB10I=gauss2d(xdata10, poptB10I[0], poptB10I[1],poptB10I[2], poptB10I[3], poptB10I[4])
FWHMB10I=FWHMBI.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB10I[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Azul)")
plt.imshow(recorteB10, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana (Banda Azul) con incertidumbre")
plt.imshow(estrellaB10I.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
print(FWHMBI)
[3.041995114502331]
Err_BN2=error(xdata2, popt2[0], popt2[1],popt2[2], popt2[3], popt2[4], recorte2.ravel(), inc=1)
popt2E, pcov2E = curve_fit(gauss2d, xdata2, recorte2.ravel(), p0=[1,0,1,1,1], sigma=Err_BN2)
estrella2E=gauss2d(xdata2, popt2E[0], popt2E[1],popt2E[2], popt2E[3], popt2E[4])
FWHM2E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt2E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía")
plt.imshow(recorte2, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella2E.reshape(35, 35), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN3=error(xdata3, popt3[0], popt3[1],popt3[2], popt3[3], popt3[4], recorte3.ravel(), inc=1)
popt3E, pcov3E = curve_fit(gauss2d, xdata3, recorte3.ravel(), p0=[2,2,1,1,1],sigma=Err_BN3)
estrella3E=gauss2d(xdata3, popt3E[0], popt3E[1],popt3E[2], popt3E[3], popt3E[4])
FWHM3E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt3E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía")
plt.imshow(recorte3, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella3E.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN4=error(xdata4, popt4[0], popt4[1],popt4[2], popt4[3], popt4[4], recorte4.ravel(), inc=1)
popt4E, pcov4E = curve_fit(gauss2d, xdata4, recorte4.ravel(), p0=[3,2,2,1,1],sigma=Err_BN4)
estrella4E=gauss2d(xdata4, popt4E[0], popt4E[1],popt4E[2], popt4E[3], popt4E[4])
FWHM4E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt4E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía")
plt.imshow(recorte4, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella4E.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN5=error(xdata5, popt5[0], popt5[1],popt5[2], popt5[3], popt5[4], recorte5.ravel(), inc=1)
popt5E, pcov5E = curve_fit(gauss2d, xdata5, recorte5.ravel(), p0=[3,2,2,1,1], sigma=Err_BN5)
estrella5E=gauss2d(xdata5, popt5E[0], popt5E[1],popt5E[2], popt5E[3], popt5E[4])
FWHM5E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt5E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía")
plt.imshow(recorte5, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella5E.reshape(15, 15), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN6=error(xdata6, popt6[0], popt6[1],popt6[2], popt6[3], popt6[4], recorte6.ravel(), inc=1)
popt6E, pcov6E = curve_fit(gauss2d, xdata6, recorte6.ravel(), p0=[3,2,2,1,1],sigma=Err_BN6)
estrella6E=gauss2d(xdata6, popt6E[0], popt6E[1],popt6E[2], popt6E[3], popt6E[4])
FWHM6E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt6E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía")
plt.imshow(recorte6, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella6E.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN7=error(xdata7, popt7[0], popt7[1],popt7[2], popt7[3], popt7[4], recorte7.ravel(), inc=1)
popt7E, pcov7E = curve_fit(gauss2d, xdata7, recorte7.ravel(), p0=[2,1,1,1,1],sigma=Err_BN7)
estrella7E=gauss2d(xdata7, popt7E[0], popt7E[1],popt7E[2], popt7E[3], popt7E[4])
FWHM7E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt7E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía")
plt.imshow(recorte7, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella7E.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN8=error(xdata8, popt8[0], popt8[1],popt8[2], popt8[3], popt8[4], recorte8.ravel(), inc=1)
popt8E, pcov8E = curve_fit(gauss2d, xdata8, recorte8.ravel(), p0=[1,0,1,1,1],sigma=Err_BN8)
estrella8E=gauss2d(xdata8, popt8E[0], popt8E[1],popt8E[2], popt8E[3], popt8E[4])
FWHM8E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt8E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía")
plt.imshow(recorte8, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella8E.reshape(20, 20), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN9=error(xdata9, popt9[0], popt9[1],popt9[2], popt9[3], popt9[4], recorte9.ravel(), inc=1)
popt9E, pcov9E = curve_fit(gauss2d, xdata9, recorte9.ravel(), p0=[1,12,0,1,1], sigma=Err_BN9)
estrella9E=gauss2d(xdata9, popt9E[0], popt9E[1],popt9E[2], popt9E[3], popt9E[4])
FWHM9E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt9E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía")
plt.imshow(recorte9, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella9E.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
Err_BN10=error(xdata10, popt10[0], popt10[1],popt10[2], popt10[3], popt10[4], recorte10.ravel(), inc=1)
popt10E, pcov10E = curve_fit(gauss2d, xdata10, recorte10.ravel(), p0=[2,13,2,1,1], sigma=Err_BN10)
estrella10E=gauss2d(xdata10, popt10E[0], popt10E[1],popt10E[2], popt10E[3], popt10E[4])
FWHM10E=FWHM_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(popt10E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía")
plt.imshow(recorte10, plt.get_cmap('gray'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana con incertidumbre")
plt.imshow(estrella10E.reshape(10, 10), plt.get_cmap('gray'))
plt.colorbar(cax=pos)
plt.show()
FWHM_I = np.array(FWHM_I)
sigmaBN_I = FWHM_I.std()
mediaBN_I = FWHM_I.mean()
medianaBN_I = np.median(FWHM_I)
print("Datos de FWHM con incertidumbres de las estrellas a blanco y negro :")
print("Desviación :", sigmaBN_I)
print("Media :", mediaBN_I)
print("Mediana :", medianaBN_I)
plt.hist(FWHM_I)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM con incertidumbres de las estrellas a blanco y negro : Desviación : 2.5072119906676873 Media : 4.216826728193483 Mediana : 3.1229418738608983
Err_R1=error(xdata1, poptR1[0], poptR1[1],poptR1[2], poptR1[3], poptR1[4], recorteR1.ravel(), inc=1)
poptR1E, pcovR1E = curve_fit(gauss2d, xdata1, recorteR1.ravel(), p0=[2,3,2,1,1],sigma=Err_R1)
estrellaR1E=gauss2d(xdata1, poptR1E[0], poptR1E[1],poptR1E[2], poptR1E[3], poptR1E[4])
FWHMR1E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR1E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía (Banda Rojo)")
plt.imshow(recorteR1, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR1E.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R2=error(xdata2, poptR2[0], poptR2[1],poptR2[2], poptR2[3], poptR2[4], recorteR2.ravel(), inc=1)
poptR2E, pcovR2E = curve_fit(gauss2d, xdata2, recorteR2.ravel(), p0=[1,0,1,1,1],sigma=Err_R2)
estrellaR2E=gauss2d(xdata2, poptR2E[0], poptR2E[1],poptR2E[2], poptR2E[3], poptR2E[4])
FWHMR2E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR2E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía (Banda Rojo)")
plt.imshow(recorteR2, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR2E.reshape(35, 35), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R3=error(xdata3, poptR3[0], poptR3[1],poptR3[2], poptR3[3], poptR3[4], recorteR3.ravel(), inc=1)
poptR3E, pcovR3E = curve_fit(gauss2d, xdata3, recorteR3.ravel(), p0=[8,9,4,1,1],sigma=Err_R3)
estrellaR3E=gauss2d(xdata3, poptR3E[0], poptR3E[1],poptR3E[2], poptR3E[3], poptR3E[4])
FWHMR3E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR3E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía (Banda Rojo)")
plt.imshow(recorteR3, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR3E.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R4=error(xdata4, poptR4[0], poptR4[1],poptR4[2], poptR4[3], poptR4[4], recorteR4.ravel(), inc=1)
poptR4E, pcovR4E = curve_fit(gauss2d, xdata4, recorteR4.ravel(), p0=[1,0,1,1,1], sigma=Err_R4)
estrellaR4E=gauss2d(xdata4, poptR4E[0], poptR4E[1],poptR4E[2], poptR4E[3], poptR4E[4])
FWHMR4E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR4E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía (Banda Rojo)")
plt.imshow(recorteR4, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR4E.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R5=error(xdata5, poptR5[0], poptR5[1],poptR5[2], poptR5[3], poptR5[4], recorteR5.ravel(), inc=1)
poptR5E, pcovR5E= curve_fit(gauss2d, xdata5, recorteR5.ravel(), p0=[3,3,1,1,1], sigma=Err_R5)
estrellaR5E=gauss2d(xdata5, poptR5E[0], poptR5E[1],poptR5E[2], poptR5E[3], poptR5E[4])
FWHMR5E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR5E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía (Banda Rojo)")
plt.imshow(recorteR5, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR5E.reshape(15, 15), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R6=error(xdata6, poptR6[0], poptR6[1],poptR6[2], poptR6[3], poptR6[4], recorteR6.ravel(), inc=1)
poptR6E, pcovR6E = curve_fit(gauss2d, xdata6, recorteR6.ravel(), p0=[2,2,1,1,1],sigma=Err_R6)
estrellaR6E=gauss2d(xdata6, poptR6E[0], poptR6E[1],poptR6E[2], poptR6E[3], poptR6E[4])
FWHMR6E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR6E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía (Banda Rojo)")
plt.imshow(recorteR6, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR6E.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R7=error(xdata7, poptR7[0], poptR7[1],poptR7[2], poptR7[3], poptR7[4], recorteR7.ravel(), inc=1)
poptR7E, pcovR7E = curve_fit(gauss2d, xdata7, recorteR7.ravel(), p0=[2,2,1,1,1],sigma=Err_R7)
estrellaR7E=gauss2d(xdata7, poptR7E[0], poptR7E[1],poptR7E[2], poptR7E[3], poptR7E[4])
FWHMR7E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR7E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía (Banda Rojo)")
plt.imshow(recorteR7, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR7E.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R8=error(xdata8, poptR8[0], poptR8[1],poptR8[2], poptR8[3], poptR8[4], recorteR8.ravel(), inc=1)
poptR8E, pcovR8E = curve_fit(gauss2d, xdata8, recorteR8.ravel(), p0=[1,0,1,1,1],sigma=Err_R8)
estrellaR8E=gauss2d(xdata8, poptR8E[0], poptR8E[1],poptR8E[2], poptR8E[3], poptR8E[4])
FWHMR8E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR8E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía (Banda Rojo)")
plt.imshow(recorteR8, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR8E.reshape(20, 20), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R9=error(xdata9, poptR9[0], poptR9[1],poptR9[2], poptR9[3], poptR9[4], recorteR9.ravel(), inc=1)
poptR9E, pcovR9E = curve_fit(gauss2d, xdata9, recorteR9.ravel(), p0=[4,7,3,1,1],sigma=Err_R9)
estrellaR9E=gauss2d(xdata9, poptR9E[0], poptR9E[1],poptR9E[2], poptR9E[3], poptR9E[4])
FWHMR9E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR9E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía (Banda Rojo)")
plt.imshow(recorteR9, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR9E.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
Err_R10=error(xdata10, poptR10[0], poptR10[1],poptR10[2], poptR10[3], poptR10[4], recorteR10.ravel(), inc=1)
poptR10E, pcovR10E = curve_fit(gauss2d, xdata10, recorteR10.ravel(), p0=[2,2,1,1,1],sigma=Err_R10)
estrellaR10E=gauss2d(xdata10, poptR10E[0], poptR10E[1],poptR10E[2], poptR10E[3], poptR10E[4])
FWHMR10E=FWHMR_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptR10E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Rojo)")
plt.imshow(recorteR10, plt.get_cmap('Reds'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana con incertidumbre (Banda Rojo)")
plt.imshow(estrellaR10E.reshape(10, 10), plt.get_cmap('Reds'))
plt.colorbar(cax=pos)
plt.show()
FWHMR_I = np.array(FWHMR_I)
sigmaR_I = FWHMR_I.std()
mediaR_I = FWHMR_I.mean()
medianaR_I = np.median(FWHMR_I)
print("Datos de FWHM con incertidumbres de las estrellas para la Banda rojo :")
print("Desviación :", sigmaR_I)
print("Media :", mediaR_I)
print("Mediana :", medianaR_I)
plt.hist(FWHMR_I)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM con incertidumbres de las estrellas para la Banda rojo : Desviación : 2.344334810725805 Media : 4.008532518694751 Mediana : 2.9196546806439647
Err_G1=error(xdata1, poptG1[0], poptG1[1],poptG1[2], poptG1[3], poptG1[4], recorteG1.ravel(), inc=1)
poptG1E, pcovG1E = curve_fit(gauss2d, xdata1, recorteG1.ravel(), p0=[1,12,4,1,1],sigma=Err_G1)
estrellaG1E=gauss2d(xdata1, poptG1E[0], poptG1E[1],poptG1E[2], poptG1E[3], poptG1E[4])
FWHMG1E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG1E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía (Banda Verde)")
plt.imshow(recorteG1, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG1E.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G2=error(xdata2, poptG2[0], poptG2[1],poptG2[2], poptG2[3], poptG2[4], recorteG2.ravel(), inc=1)
poptG2E, pcovG2E = curve_fit(gauss2d, xdata2, recorteG2.ravel(), p0=[1,0,1,1,1],sigma=Err_G2)
estrellaG2E=gauss2d(xdata2, poptG2E[0], poptG2E[1],poptG2E[2], poptG2E[3], poptG2E[4])
FWHMG2E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG2E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía (Banda Verde)")
plt.imshow(recorteG2, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG2E.reshape(35, 35), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G3=error(xdata3, poptG3[0], poptG3[1],poptG3[2], poptG3[3], poptG3[4], recorteG3.ravel(), inc=1)
poptG3E, pcovG3E = curve_fit(gauss2d, xdata3, recorteG3.ravel(), p0=[4,4,2,1,1],sigma=Err_G3)
estrellaG3E=gauss2d(xdata3, poptG3E[0], poptG3E[1],poptG3E[2], poptG3E[3], poptG3E[4])
FWHMG3E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG3E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía (Banda Verde)")
plt.imshow(recorteG3, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG3E.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G4=error(xdata4, poptG4[0], poptG4[1],poptG4[2], poptG4[3], poptG4[4], recorteG4.ravel(), inc=1)
poptG4E, pcovG4E = curve_fit(gauss2d, xdata4, recorteG4.ravel(), p0=[3,5,4,1,1], sigma=Err_G4)
estrellaG4E=gauss2d(xdata4, poptG4E[0], poptG4E[1],poptG4E[2], poptG4E[3], poptG4E[4])
FWHMG4E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG4E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía (Banda Verde)")
plt.imshow(recorteG4, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG4E.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G5=error(xdata5, poptG5[0], poptG5[1],poptG5[2], poptG5[3], poptG5[4], recorteG5.ravel(), inc=1)
poptG5E, pcovG5E = curve_fit(gauss2d, xdata5, recorteG5.ravel(), p0=[2,2,2,1,1],sigma=Err_G5)
estrellaG5E=gauss2d(xdata5, poptG5E[0], poptG5E[1],poptG5E[2], poptG5E[3], poptG5E[4])
FWHMG5E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG5E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía (Banda Verde)")
plt.imshow(recorteG5, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG5E.reshape(15, 15), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G6=error(xdata6, poptG6[0], poptG6[1],poptG6[2], poptG6[3], poptG6[4], recorteG6.ravel(), inc=1)
poptG6E, pcovG6E = curve_fit(gauss2d, xdata6, recorteG6.ravel(), p0=[2,2,2,1,1],sigma=Err_G6)
estrellaG6E=gauss2d(xdata6, poptG6E[0], poptG6E[1],poptG6E[2], poptG6E[3], poptG6E[4])
FWHMG6E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG6E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía (Banda Verde)")
plt.imshow(recorteG6, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG6E.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G7=error(xdata7, poptG7[0], poptG7[1],poptG7[2], poptG7[3], poptG7[4], recorteG7.ravel(), inc=1)
poptG7E, pcovG7E = curve_fit(gauss2d, xdata7, recorteG7.ravel(), p0=[2,2,1,1,1],sigma=Err_G7)
estrellaG7E=gauss2d(xdata7, poptG7E[0], poptG7E[1],poptG7E[2], poptG7E[3], poptG7E[4])
FWHMG7E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG7E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía (Banda Verde)")
plt.imshow(recorteG7, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG7E.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G8=error(xdata8, poptG8[0], poptG8[1],poptG8[2], poptG8[3], poptG8[4], recorteG8.ravel(), inc=1)
poptG8E, pcovG8E = curve_fit(gauss2d, xdata8, recorteG8.ravel(), p0=[3,3,3,1,1],sigma=Err_G8)
estrellaG8E=gauss2d(xdata8, poptG8E[0], poptG8E[1],poptG8E[2], poptG8E[3], poptG8E[4])
FWHMG8E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG8E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía (Banda Verde)")
plt.imshow(recorteG8, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG8E.reshape(20, 20), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G9=error(xdata9, poptG9[0], poptG9[1],poptG9[2], poptG9[3], poptG9[4], recorteG9.ravel(), inc=1)
poptG9E, pcovG9E = curve_fit(gauss2d, xdata9, recorteG9.ravel(), p0=[5,6,6,1,1],sigma=Err_G9)
estrellaG9E=gauss2d(xdata9, poptG9E[0], poptG9E[1],poptG9E[2], poptG9E[3], poptG9E[4])
FWHMG9E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG9E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía (Banda Verde)")
plt.imshow(recorteG9, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG9E.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
Err_G10=error(xdata10, poptG10[0], poptG10[1],poptG10[2], poptG10[3], poptG10[4], recorteG10.ravel(), inc=1)
poptG10E, pcovG10E = curve_fit(gauss2d, xdata10, recorteG10.ravel(), p0=[1,1,1,1,1],sigma=Err_G10)
estrellaG10E=gauss2d(xdata10, poptG10E[0], poptG10E[1],poptG10E[2], poptG10E[3], poptG10E[4])
FWHMG10E=FWHMG_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptG10E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Verde)")
plt.imshow(recorteG10, plt.get_cmap('Greens'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana con incertidumbre (Banda Verde)")
plt.imshow(estrellaG10E.reshape(10, 10), plt.get_cmap('Greens'))
plt.colorbar(cax=pos)
plt.show()
FWHMG_I = np.array(FWHMG_I )
sigmaG_I = FWHMG_I .std()
mediaG_I = FWHMG_I .mean()
medianaG_I = np.median(FWHMG_I )
print("Datos de FWHM con incertidumbres de las estrellas para la Banda verde :")
print("Desviación :", sigmaG_I )
print("Media :", mediaG_I )
print("Mediana :", medianaG_I )
plt.hist(FWHMG_I )
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM con incertidumbres de las estrellas para la Banda verde : Desviación : 2.525343798913612 Media : 4.246485293065105 Mediana : 3.173731685005169
Err_B1=error(xdata1, poptB1[0], poptB1[1],poptB1[2], poptB1[3], poptB1[4], recorteB1.ravel(), inc=1)
poptB1E, pcovB1E = curve_fit(gauss2d, xdata1, recorteB1.ravel(), p0=[3,3,2,1,1],sigma=Err_B1)
estrellaB1E=gauss2d(xdata1, poptB1E[0], poptB1E[1],poptB1E[2], poptB1E[3], poptB1E[4])
FWHMB1E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB1E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 1 fotografía (Banda Azul)")
plt.imshow(recorteB1, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 1 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB1E.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B2=error(xdata2, poptB2[0], poptB2[1],poptB2[2], poptB2[3], poptB2[4], recorteB2.ravel(), inc=1)
poptB2E, pcovB2E = curve_fit(gauss2d, xdata2, recorteB2.ravel(), p0=[4,4,4,1,1], sigma= Err_B2)
estrellaB2E=gauss2d(xdata2, poptB2E[0], poptB2E[1],poptB2E[2], poptB2E[3], poptB2E[4])
FWHMB2E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB2E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 2 fotografía (Banda Azul)")
plt.imshow(recorteB2, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 2 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB2E.reshape(35, 35), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B3=error(xdata3, poptB3[0], poptB3[1],poptB3[2], poptB3[3], poptB3[4], recorteB3.ravel(), inc=1)
poptB3E, pcovB3E = curve_fit(gauss2d, xdata3, recorteB3.ravel(), p0=[4,4,5,1,1],sigma=Err_B3)
estrellaB3E=gauss2d(xdata3, poptB3E[0], poptB3E[1],poptB3E[2], poptB3E[3], poptB3E[4])
FWHMB3E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB3E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 3 fotografía (Banda Azul)")
plt.imshow(recorteB3, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 3 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB3E.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B4=error(xdata4, poptB4[0], poptB4[1],poptB4[2], poptB4[3], poptB4[4], recorteB4.ravel(), inc=1)
poptB4E, pcovB4E = curve_fit(gauss2d, xdata4, recorteB4.ravel(), p0=[2,2,2,1,1],sigma=Err_B4)
estrellaB4E=gauss2d(xdata4, poptB4E[0], poptB4E[1],poptB4E[2], poptB4E[3], poptB4E[4])
FWHMB4E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB4E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 4 fotografía (Banda Azul)")
plt.imshow(recorteB4, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 4 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB4E.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B5=error(xdata5, poptB5[0], poptB5[1],poptB5[2], poptB5[3], poptB5[4], recorteB5.ravel(), inc=1)
poptB5E, pcovB5E = curve_fit(gauss2d, xdata5, recorteB5.ravel(), p0=[2,0,1,1,1], sigma=Err_B5)
estrellaB5E=gauss2d(xdata5, poptB5E[0], poptB5E[1],poptB5E[2], poptB5E[3], poptB5E[4])
FWHMB5E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB5E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 5 fotografía (Banda Azul)")
plt.imshow(recorteB5, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 5 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB5E.reshape(15, 15), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B6=error(xdata6, poptB6[0], poptB6[1],poptB6[2], poptB6[3], poptB6[4], recorteB6.ravel(), inc=1)
poptB6E, pcovB6E = curve_fit(gauss2d, xdata6, recorteB6.ravel(), p0=[2,1,1,1,1], sigma=Err_B6)
estrellaB6E=gauss2d(xdata6, poptB6E[0], poptB6E[1],poptB6E[2], poptB6E[3], poptB6E[4])
FWHMB6E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB6E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 6 fotografía (Banda Azul)")
plt.imshow(recorteB6, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 6 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB6E.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B7=error(xdata7, poptB7[0], poptB7[1],poptB7[2], poptB7[3], poptB7[4], recorteB7.ravel(), inc=1)
poptB7E, pcovB7E = curve_fit(gauss2d, xdata7, recorteB7.ravel(), p0=[3,3,3,1,1],sigma=Err_B7)
estrellaB7E=gauss2d(xdata7, poptB7E[0], poptB7E[1],poptB7E[2], poptB7E[3], poptB7E[4])
FWHMB7E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB7E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 7 fotografía (Banda Azul)")
plt.imshow(recorteB7, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 7 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB7E.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B8=error(xdata8, poptB8[0], poptB8[1],poptB8[2], poptB8[3], poptB8[4], recorteB8.ravel(), inc=1)
poptB8E, pcovB8E = curve_fit(gauss2d, xdata8, recorteB8.ravel(), p0=[1,1,1,1,1], sigma=Err_B8)
estrellaB8E=gauss2d(xdata8, poptB8E[0], poptB8E[1],poptB8E[2], poptB8E[3], poptB8E[4])
FWHMB8E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB8E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 8 fotografía (Banda Azul)")
plt.imshow(recorteB8, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 8 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB8E.reshape(20, 20), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B9=error(xdata9, poptB9[0], poptB9[1],poptB9[2], poptB9[3], poptB9[4], recorteB9.ravel(), inc=1)
poptB9E, pcovB9E = curve_fit(gauss2d, xdata9, recorteB9.ravel(), p0=[1,1,1,1,1],sigma=Err_B9)
estrellaB9E=gauss2d(xdata9, poptB9E[0], poptB9E[1],poptB9E[2], poptB9E[3], poptB9E[4])
FWHMB9E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB9E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 9 fotografía (Banda Azul)")
plt.imshow(recorteB9, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 9 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB9E.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
Err_B10=error(xdata10, poptB10[0], poptB10[1],poptB10[2], poptB10[3], poptB10[4], recorteB10.ravel(), inc=1)
poptB10E, pcovB10E = curve_fit(gauss2d, xdata10, recorteB10.ravel(), p0=[3,2,2,1,1],sigma=Err_B10)
estrellaB10E=gauss2d(xdata10, poptB10E[0], poptB10E[1],poptB10E[2], poptB10E[3], poptB10E[4])
FWHMB10E=FWHMB_I.append(2*np.sqrt(2*np.log(2))*np.sqrt(poptB10E[4]))
fig=plt.figure(figsize=(15, 15))
pos = fig.add_axes([0.5,0.35,0.02,0.3])
plt.subplot(131)
plt.title("Estrella 10 fotografía (Banda Azul)")
plt.imshow(recorteB10, plt.get_cmap('Blues'))
plt.subplot(133)
plt.title("Estrella 10 a partir de la gaussiana con incertidumbre (Banda Azul)")
plt.imshow(estrellaB10E.reshape(10, 10), plt.get_cmap('Blues'))
plt.colorbar(cax=pos)
plt.show()
FWHMB_I = np.array(FWHMB_I)
sigmaB_I = FWHMB_I.std()
mediaB_I = FWHMB_I.mean()
medianaB_I = np.median(FWHMB_I)
print("Datos de FWHM con incertidumbres de las estrellas para la Banda azul :")
print("Desviación :", sigmaB_I)
print("Media :", mediaB_I)
print("Mediana :", medianaB_I)
plt.hist(FWHMB_I)
plt.xlabel('FHWM')
plt.ylabel('# de estrellas')
plt.show()
Datos de FWHM con incertidumbres de las estrellas para la Banda azul : Desviación : 2.6951116878528705 Media : 4.515986827150282 Mediana : 3.49839915953825
import pandas as pd
datos = np.array([[sigmaBN,mediaBN,medianaBN],
[sigmaR,mediaR,medianaR],
[sigmaG,mediaG,medianaG],
[sigmaB,mediaB,medianaB],
[sigmaBN_I,mediaBN_I,medianaBN_I],
[sigmaR_I,mediaR_I,medianaR_I],
[sigmaG_I,mediaG_I,medianaG_I],
[sigmaB_I,mediaB_I,medianaB_I]])
print('\033[1m' + 'Los valores estadísticos obtenidos para el Full Width at Half Maximum (FHWM) son:' )
FWHM_tabla = pd.DataFrame(datos,
columns=['D-E','Media','Mediana'],
index=['Blanco/Negro','Blanco/Negro con incertidumbre',
'B-Rojo','B-Rojo con incertidumbre',
'B-Verde','B-Verde con incertidumbre',
'B-Azul','B-Azul con incertidumbre'])
FWHM_tabla
Los valores estadísticos obtenidos para el Full Width at Half Maximum (FHWM) son:
D-E | Media | Mediana | |
---|---|---|---|
Blanco/Negro | 2.506520 | 4.223188 | 3.141966 |
Blanco/Negro con incertidumbre | 2.329890 | 4.021187 | 2.919205 |
B-Rojo | 2.525571 | 4.242802 | 3.182727 |
B-Rojo con incertidumbre | 2.699912 | 4.508061 | 3.482339 |
B-Verde | 2.507212 | 4.216827 | 3.122942 |
B-Verde con incertidumbre | 2.344335 | 4.008533 | 2.919655 |
B-Azul | 2.525344 | 4.246485 | 3.173732 |
B-Azul con incertidumbre | 2.695112 | 4.515987 | 3.498399 |
#### Fue posible implementar la función curve_fit para modelar la gaussiana sin mayores inconvenientes, sin embargo, la determinación de los parámetros sugeridos p0 fue totalmente aleatoria de tal manera que presentaba bastantes inconvenientes para algunos valores, y variaciones en los resultados bastante notables en el ingreso de diferentes enteros, como por ejemplo tomando x0=0 o y0=0 , el valor sugerido en p0 para la constante aditiva b de la gaussiana fue la que más cambio en los diferentes 8 resultados estadísticos del cálculo del FHWM, la segunda constante en más variar fue la multiplicativa de amplitud a.
#### Los resultados obtenidos para los análisis a blanco y negro se tomarón de la función líneal de Luma, como recomendación de algunos sitios web [1]. No se automatizó el plot de cada imagen ni la aplicación del modelo para cada una de las estrellas por que se estaban presentando errores de acumulación de datos en los arrays y listas, decidí hacerlo para cada una de tal manera que pudisese aprovechar esto y modificar algunos detalles para cada estrella, cómo: tamaño rejilla, titulos, añadidura de incertidumbres al fit y cambio en los p0 para cada uno de los tratamientos.
#### Al comparar los resultados obtenidos sin incertidumbres para los valores estadísticos del FHWM se observa que los canales rojo y azul tienen tanto mayor desviación como mayor FWHM que el canal verde y los resultados para los recortes blanco y negro, por lo que estos dos ultimos son los más considerables para modelar.
#### Al aplicar el módelo a todos los procedimientos, pero teniendo en cuenta la incertidumbre, los valores de p0 se hicieron mucho más variados que en los realizados sin incertidumbre. Razón por la cual es probable que justifique el hecho de que las desviaciones para los resultados de los valores estadísticos obtenidos del FHWM sean mayores en los casos de la bandas rojo y azul. El valor de la constante aditiva b de la gaussiana en la mayoría de los casos sin incertidumbre era cercano a 0 mientras que con incertidumbre tomaba siempre el mayor valor que todas las otras constantes, en especial en los casos de las bandas rojo y azul. Por lo que una vez más se presentan mejores resultados para el análisis a blanco y negro y para la banda verde.
#### Los valores obtenidos para el FWHM no varian significativamente con o sin incertidumbre, en la mayoría de todos los resultados el FWHM estaba entre 2 y 4, a excepsión de curiosamente la estrella más luminosa de la fotografía, la estrella 2, la cual presentaba FWHM alrededor de 11, como FWHM es el ancho de la gaussiana en su punto medio, podría decirse que la estrella 2 es la más "desenfocada" de la fotografía por ser el objeto (o varios) de mayor tamaño.