Pour gagner du temps nous utiliserons la fonction python bls.eebls qui permet de faire tourner l'algorithme BLS en une ligne de code (il faut suivre l'installation du module ici ). On peut aussi essayer de réinventer la roue et de le développer soi-même pour comprendre tous les tenants et aboutissants de cette fonction.

Faisons appel à la fonction BLS python pour trouver notre transit. On appellera la fonction bls.eebls où l'on doit fournir les arguments qui suivent en entrée:

bls.eebls(bjd, flux, u, v, nf, fmin, df, nb, qmi, qma)

bjd est la date. Flux est le flux ou la magnitude. Puis les autres arguments sont fixés comme ceci :

On appelle ensuite la fonction avec u et v qui sont vides et servent à des calculs intermédiaires et on stocke le résultat dans la variable results :

results = bls.eebls(bjd, mag, u, v, nf, fmin, df, nb, qmi, qma)

On stocke les résultats dans différentes variables décrites ci-dessous

power, best_period, best_power, depth, q, in1, in2 = results

Puis on crée le périodogramme résultant comme ceci : plt.plot(np.arange(fmin, fmin+nf*df, df), power)

Cela retourne le périodogramme de la figure ci-jointe.

projet/periodogramme.png

On constate donc qu'il y a une fréquence orbitale privilégiée à environ 0.33 orbite par jour, i.e. 1/0.326=3.067 jours par orbite. L'algorithme retourne une période (best_period) de 3.0674846 jours et une profondeur de transit (depth) de 0.0313459 pour cette meilleure période.