Calcule la profundidad y la duración del tránsito del exoplaneta usando Python, astropy o lightkurve

Estoy creando un programa para el análisis de exoplanetas en Python utilizando las librerías Astropy y Lightkurve . Tengo la curva de luz de una estrella específica y me gustaría calcular la profundidad y la duración del tránsito del planeta. Hay un ejemplo para Kepler 10 a continuación con estos pasos:

  • Cargue la imagen de píxel de destino para Kepler 10,
  • Conviértalo en una serie de tiempo aplanada,
  • Calcular periodo usando periodograma,
  • Crea una curva de luz plegada.
import lightkurve as lk

target_pixel = lk.search_targetpixelfile("Kepler-10", quarter=1).download()
lightcurve = target_pixel.to_lightcurve(aperture_mask=target_pixel.pipeline_mask).flatten()
periodogram = lightcurve.to_periodogram(method="bls", period=np.arange(0.5, 10, 0.001))
period = periodogram.period_at_max_power

folded.scatter()
print(period)

La salida es (marqué la profundidad y la duración en rojo):

ingrese la descripción de la imagen aquí

Ahora, ¿cómo puedo calcular la duración del tránsito (aproximadamente de -0,15 a 0 en el eje x)? El intervalo de -0,5 a 0,5 debe ser un período completo (0,837 d), por lo que la duración del tránsito debe ser de +/- 0,13 d.

¿Y la profundidad del tránsito? Estaba pensando en:

min = np.min(folded.flux)
median = np.median(folded.flux)
median / min - 1 # 0.00038

Sin embargo, el punto mínimo no es el que está en medio del tránsito debido al ruido, por lo que la profundidad del tránsito puede no ser precisa.

Respuestas (1)

El cálculo de la profundidad y la duración generalmente no se realiza sobre los datos sin procesar, sino que se deriva de un ajuste a los datos.

En sus últimas tres líneas de código, también calcula el promedio / medio sobre todos los datos, mientras que debe calcular el flujo medio o mediano no eclipsado solo para el tiempo sin tránsito (con el uso de la mediana posiblemente solo tenga una pequeña influencia, pero podría) .

Como primer paso, eliminaría el ruido de los datos aplicando un filtro de promedio flotante sobre los datos; tendrá que probar su ancho y ver qué le da mejores resultados: no desea promediar las características, pero desea promediar el ruido.

El mejor enfoque es no suavizar sino ajustar un modelo físico a los datos que tenga en cuenta el comportamiento típico de la curva de luz de un tránsito. Para una implementación, puedo indicarle pytransit ( documento de referencia ). (¿Estás seguro de que no estás reinventando la rueda?). Consulte también este artículo de Maxted y Gill para ver una comparación de algunos algoritmos.