Page 1 sur 1

Brillance du ciel

Posté : 27 août 2024, 20:21
par michel_rieutord
Bonjour,

Dans l'onglet meteo s'affiche brillance du ciel, donnée récupérée de l'ordinateur pilotant le télescope (un Eagle5 de PrimaLuceLab).
J'aimerais récupérer cette donnée dans le header des fichiers fits, mais je ne vois pas comment. Pouvez-vous
me donner quelques indications? D'avance un grand merci!

Michel

Re: Brillance du ciel

Posté : 23 sept. 2024, 22:24
par michel_rieutord
Bonjour à tous,

Je relance la question: n'y a-t-il pas moyen de récupérer cette donnée? Cyril, une suggestion?
Merci d'avance!

Michel

Re: Brillance du ciel

Posté : 24 sept. 2024, 19:47
par Cyril Cavadore
Bonjour,
Il faut l'implementer, je dois le mettre dans ma liste de choses a faire.

Re: Brillance du ciel

Posté : 08 avr. 2025, 22:43
par michel_rieutord
Bonsoir à tous,

Je reviens sur ce post qui n'a toujours pas réponse (problème plus compliqué qu'il n'y paraît?).

J'apporte une réponse qui intéressera tous ceux qui lancent des séquences
d'observation par script. En effet la valeur du fond de ciel mesurée par l'oeil
de l'Eagle est accessible via une requete http. Je ne sais pas faire de requête
http en langage script de PRISM mais je peux le faire en python. J'ai donc
ajouté, après avoir obtenu l'image, l'appel à un script python qui ajoute au
header du fichier fits la précieuse information donnée par l'oeil. Voici ce que
cela donne:

GetLastImageExposure img
SaveFIT img NomFichierImage$
CLOSE img
PythonScriptFilename$="C:\Users\PrimaLuceLab\Pictures\Astro\eye.py"
EXEC_EXTERNAL_PY PythonScriptFilename$ NomFichierImage$

le script python eye.py est ci-dessous.
Ca a résolu mon pb pour les scripts mais pas celui posé par l'interactif:
en sauvegardant une image l'indication apparaissant dans l'onglet "meteo" du
widget "etat du télescope" n'est pas sauvée dans le header.

Ciel clair à tous!

Michel

#------------------ Le script eye.py -------------------------------------------
import sys
import requests
import astropy.io.fits as fits

def get_eye_value(url):
try:
# Effectuer la requête GET
response = requests.get(url)

# Vérifier si la requête a réussi
if response.status_code == 200:
# Convertir la réponse en JSON
data = response.json()
return data.get("value")
else:
print(f"Erreur lors de la requête : {response.status_code}")
return None
except requests.exceptions.RequestException as e:
print(f"Une erreur s'est produite : {e}")
return None

def update_fits_file(filename, eye_value):
try:
# Ouvrir le fichier FITS avec un gestionnaire de contexte
with fits.open(filename, mode='update') as hdu:
# Mettre à jour l'en-tête
hdu[0].header['SKYBRIGH'] = eye_value
# Sauvegarder les modifications
hdu.flush()
print(f"Le fichier {filename} a été mis à jour avec succès.")
except Exception as e:
print(f"Une erreur s'est produite lors de la mise à jour du fichier : {e}")

def main():
if len(sys.argv) != 2:
print("Usage: python eye.py <fichier>")
return

filename = sys.argv[1]
url = "http://localhost:1380/geteye?idx=0"
eye_value = get_eye_value(url)

if eye_value is not None:
update_fits_file(filename, eye_value)

if __name__ == "__main__":
main()

Re: Brillance du ciel

Posté : 09 avr. 2025, 08:10
par Marc DELDEM
Merci pour le partage.
A quoi te sert d'avoir cette information de brillance du ciel dans une image ?

Marc

Re: Brillance du ciel

Posté : 09 avr. 2025, 20:41
par michel_rieutord
Bonjour Marc,
Ca sert à avoir une idée du fond ciel sans avoir à traiter les images.
Mais je pourrai en dire plus une fois que j'aurais traité quelques séries d'images et pu mesurer comment les indications fournies par ce capteur sont corrélées avec la mesure de la magnitude de fond de ciel des images.
A suivre donc,

Michel