Ejercicios para practicar numpy y optimización con scipy
Resolución espacial
En observaciones astronómicas e imágenes en general, llamamos resolución espacial a la distancia angular minima a la que pueden estar dos fuentes puntuales de luz y aun poder ser reconocidas como objetos individuales.
En el caso de la astronomía, este efecto tiene que ver con la dispersión de la luz al atravezar la atmósfera, la cual hace que una estrella, que debería en principio aparecer como una fuente puntual (pues las estrellas están muy lejos), aparezca en cambio como una mancha. Así, si dos estrellas están demasiado cerca sus manchas se superpondrán hasta el punto en que sea imposible distinguirlas como fuentes individuales (Ver imágenes en este link)
Para modelar este efecto, típicamente consideramos la acción de la atmósfera como la convolución de la imagen "perfecta" (como se vería desde el espacio) con un kernel gaussiano. El ancho de esa función gaussiana 2D caracteriza las condiciones de observación, varía con las condiciones climáticas y para cada sitio de la Tierra.
La resolución espacial normalmente se toma como el FWHM de la gaussiana caracteristica registrada durante una observación. Es decir, si dos estrellas están a una distancia aparente en el cielo menor que el FWHM del efecto atmosférico, la luz de ambas fuentes se mezclará después de la convolución hasta el punto de impedir reconocerlas de modo individual.
Además, la atmósfera puede interactuar de maneras distintas con la luz de distintas longitudes de onda, de manera que el ancho de la gaussiana puede ser distinto para observaciones con diferentes filtros.
El objetivo de esta tarea es medir de forma aproximada la resolución espacial en una noche de observación en Zapatoca, Santander (Colombia), a partir de una foto del cielo estrellado.
Ejercicio: Pasos
- Leer la imagen almacenada en la carpeta
data
como un array de numpy. Ese array estará compuesto de 3 matrices, una tras otra, correspondiente a los canales R,G,B - Combinar los 3 array para generar una versión blanco y negro de la imagen, en la cual ella consiste de una sola matriz 2D. Puede usar su intuición y prueba y error para combinar las 3 imágenes, explicando el procedimiento elegido. Esto será más interesante que usar un comando desconocido de una biblioteca sofisticada que haga las cosas como una caja negra (queremos practicar numpy)
- Recorte un sector de la imagen conteniendo una estrella individual y ajuste una gaussiana 2D simétrica a la imagen de la estrella por mínimos cuadrados, incluyendo una constante aditiva (el cielo "vacio" brilla)
- 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
- Repita el mismo ejercicio sobre cada una de las bandas R,G,B separadamente y comente si observa diferencias en los resultados
Instrucciones generales
- La entrega debe ser un archivo de markdown llamado
Entrega.md
incluyendo todo: Texto con las explicaciones, bloques de código, ecuaciones, gráficos. - También debe haber un notebook (
Entrega.ipynb
) con todos los códigos y resultados, por si deseo revisar la ejecución de alguna parte del código, pero en principio el archivo de markdown debería ser autocontenido, como su reporte final. - No olvide identificarse y dar un contexto amigable del contexto a resolver, así como explicar todos sus procedimientos y comentar los códigos apropiadamente
- Fraccione el código en celdas de acuerdo a la lógica de la solución
- Exploraciones complementarias al ejercicio serán muy bien recibidas
**El objetivo es que si su instructor desea correr el código pueda hacerlo, para eso va el notebook, pero que esto no sea necesario para evaluar la tarea, para eso va el markdown con todas las explicaciones, códigos, ejemplos y resultados. Aprovecharemos la ventaja doble que nos ofrece markdown: 1) GitLab va a renderizar el archivo proveyendo una visualización adecuada; 2) nos permite combinar texto (levemente) enriquecido, formulas en latex, bloques de código e imágenes en un solo formato con una sintaxis sencilla **