AstroTools : manuel utilisateur

14. L'acquisition et les graphiques

Vue Sources et acquisition, page Acquisition.

Ici AstroTools enregistre pendant la nuit les champs que tu as cochés (chapitre 8) : il interroge tes sources à intervalle régulier et écrit chaque relevé dans un fichier. Le bouton Graphique trace la séance en direct.

Avec NINA, il peut aussi enregistrer une ligne par image prise par NINA (case Images, section 14.8) et tous les événements que NINA annonce (case WebSocket, section 14.10), et tracer les images dans un second graphique (section 14.9). Avec la case Vignettes, il retrouve aussi le FITS de chaque pose et en montre la vignette dans la page Images (section 14.11).

La page Acquisition pendant une acquisition : source « Production NINA (nina, X1PRO) », Images et WebSocket cochées, réglages grisés, Démarrer grisé, Pause et Arrêter actifs, état « En cours », NINA et WebSocket NINA « en ligne », 2 relevés, 4 images et 9 événements écrits, chemin du fichier des mesures, boutons Graphique et Graphique images

14.1 Avant de commencer

  1. Les champs à enregistrer sont cochés dans la page Champs (colonne Enreg.), puis Enregistrer. Seuls ces champs sont écrits. Le filtre Cochés (seront enregistrés) les montre tous d'un coup.
  2. Tes logiciels tournent : Unity, NINA et le matériel. AstroTools ne démarre rien (sauf les pilotes Pegasus dans Unity, comme pour Interroger).
  3. gnuplot est installé, seulement pour le graphique (téléchargement gratuit sur gnuplot.info). AstroTools le cherche dans C:\Program Files\gnuplot\bin\gnuplot.exe ; s'il est ailleurs, voir section 14.6.

  4. Pour les cases Images et WebSocket : une source NINA active (chapitre 7), interrogée au moins une fois, et choisie dans Sources à acquérir (Toutes, ou la source NINA). Elle n'a pas besoin de champ coché Enreg. : une séance « images seules » (sans Pegasus, sans relevé périodique) est possible. Le WebSocket de NINA utilise la même machine et le même port que la source NINA : rien de plus à régler.

Démarrer n'est refusé que s'il n'y a rien à enregistrer : aucun champ coché Enreg., et ni Images ni WebSocket cochés.

Un Rafraîchir de la page Champs juste avant le départ permet de vérifier que les valeurs arrivent bien (colonne État de la valeur : « reçue »).

14.2 Les réglages

Élément Rôle
Sources à acquérir Toutes (toutes les sources actives qui ont au moins un champ coché, plus la source NINA pour Images et WebSocket), ou une seule source, présentée par son nom, son préfixe et son hôte : « NINA terrain (nina, X1PRO) ». D'où l'intérêt d'un nom parlant (chapitre 5)
Images écrit une ligne par image de NINA dans <préfixe>_images.jsonl (section 14.8)
WebSocket se connecte au WebSocket de NINA et écrit tous ses messages dans <préfixe>_nina-events.jsonl ; ils s'affichent dans la page WebSocket (section 14.10)
Vignettes et Répertoire racine retrouve le FITS de chaque pose LIGHT sous le répertoire racine et en fait une vignette (section 14.11). Demande la case Images
Répertoire de sortie où sont écrits les fichiers de la séance. Par défaut Documents\AstroTools\Acquisitions, créé au besoin. Parcourir… pour en choisir un autre ; le dernier est retenu. AstroTools y range chaque nuit dans son sous-dossier daté, créé au Démarrer (voir plus bas). Évite un dossier synchronisé (Synology Drive, OneDrive…) : les graphiques réécrivent leurs fichiers toutes les 10 s et chaque fichier repart vers le NAS ou le nuage ; copie plutôt la nuit après la séance
Préfixe de session le début du nom de tous les fichiers de la séance. Proposé : session (la date est déjà dans le nom du dossier de la nuit) ; tu peux mettre ce que tu veux (M31_test). Un préfixe déjà utilisé dans le répertoire n'est jamais repris : AstroTools propose tout seul le suivant libre en ajoutant _1, puis _2… (session_1, M31_test_1), au lancement, après Arrêter et après un changement de répertoire. Les caractères interdits dans un nom de fichier Windows (barres obliques, deux-points, astérisque, point d'interrogation, guillemets, chevrons, barre verticale) sont refusés à la frappe
Cadence (s) l'intervalle entre deux relevés, le même pour toutes les sources : 60 s par défaut, de 5 à 3600 s. 60 s suffit pour une nuit ; 5 s pour un essai rapide

Un dossier par nuit : les fichiers d'une séance vont dans <répertoire de sortie>\2026-10-29, la date du soir de la nuit. Une séance démarrée à 01:30 le 30.10 va donc encore dans 2026-10-29 : avant midi, c'est la nuit de la veille. Toutes les séances d'une même nuit, quel que soit leur préfixe, se retrouvent dans le même dossier. À droite de Parcourir…, la page dit où ira la prochaine séance (« → sous-dossier de la nuit : 2026-10-29 »). Si tu choisis toi-même un dossier déjà daté (…\2026-10-20), il est pris tel quel, sans sous-dossier de plus. Le préfixe libre proposé (_1, _2…) est cherché dans le dossier de la nuit.

Images et WebSocket ne sont actives qu'avec Toutes ou une source NINA ; avec une source Pegasus seule, elles sont grisées et leur infobulle le dit. Les deux cases sont retenues dès le clic, même sans démarrer.

Les sources, le préfixe, la cadence, les cases et les boutons de graphique ont une infobulle, même quand ils sont grisés.

14.3 Démarrer, Pause, Arrêter

Pendant une acquisition (et en pause), les réglages sont verrouillés, et les cases Enreg. de la page Champs aussi, avec les boutons Enregistrer et Annuler les modifications des pages Sources et Champs : la liste des champs est figée au démarrage. Pour changer un champ, la cadence ou une source : Arrêter, faire la modification, puis Démarrer : un nouveau préfixe est déjà proposé.

Une séance traverse minuit sans coupure : une nuit entière tient dans un seul fichier.

Fermer AstroTools pendant une acquisition demande « Une acquisition est en cours. Arrêter l'acquisition et quitter ? ». Oui arrête proprement et ferme ; Non laisse tout tourner.

14.4 Suivre la séance

Ligne Ce qu'elle dit
État de la session Inactive, En cours, En pause, Arrêtée ou Erreur
Sources pour chaque source : « en attente de la première réponse » (au démarrage, le temps de lancer les pilotes Pegasus), « en ligne » ou « en coupure ». Avec la case WebSocket, une entrée de plus : WebSocket NINA « en attente de connexion », « en ligne » ou « en coupure »
Compteurs Relevés écrits : une ligne par source et par relevé réussi (2 par minute avec deux sources à 60 s). LIGHT trouvées : n (dont x rattrapées par l'historique, y incomplètes), section 14.8 ; seules les poses LIGHT sont comptées, une ligne d'avertissement le rappelle juste dessous. Événements WebSocket écrits : les messages reçus de NINA. Un compteur dont la case n'est pas cochée reste grisé
Fichier des mesures le chemin complet du fichier en cours

La Console (chapitre 11) note le démarrage, l'arrêt, chaque coupure et chaque retour, une seule fois chacun : elle ne se remplit pas d'erreurs répétées.

Quand une source se coupe

Unity fermé, NINA arrêté, PC éteint, coupure de courant : la source passe « en coupure », rien n'est écrit pour elle pendant ce temps, et les autres sources continuent. AstroTools réessaie à chaque relevé. Dès que la source répond, elle repasse « en ligne » et l'enregistrement reprend tout seul ; pour Pegasus, les pilotes sont redémarrés automatiquement. Tu n'as rien à faire.

Un appareil NINA déconnecté (par exemple pendant que NINA reconnecte son matériel) ne coupe pas la source : ses champs sont notés « remplacés » ou « invalides » dans le relevé, comme dans la page Champs.

Quand l'écriture échoue

Disque plein, clé USB retirée, répertoire devenu inaccessible : l'acquisition s'arrête, l'état passe à Erreur et le message donne le chemin et la cause. Les relevés déjà écrits restent lisibles. Corrige la cause, puis démarre une nouvelle séance (un nouveau préfixe est proposé).

Seul cas à part : si, à l'Arrêter, le fichier <préfixe>_session.json ne peut pas être complété (un autre programme le tient ouvert), la séance s'arrête normalement avec un avertissement : seules l'heure de fin et les totaux manquent dans ce fichier, les relevés, images et événements sont complets.

14.5 Le graphique

Le bouton Graphique ouvre une fenêtre qui trace la séance en cours, ou la dernière séance arrêtée.

Depuis la version 0.7, tes propres graphiques se construisent dans la page Plots (chapitre 15). Les boutons Graphique et Graphique images restent jusqu'à la V1 Beta ; leurs fenêtres comptent dans la limite de quatre fenêtres graphiques, et se ferment, comme toutes les autres, à chaque Démarrer.

La fenêtre du graphique, séance M31TestAT : quatre cadrans (températures, altitude de la monture, RMS de guidage, focaliseur et filtre), en bas « Mis à jour à 00:13:06 »

Cadran Courbes
Températures capteur Uranus, sonde extérieure de la Powerbox (si elle est branchée), focaliseur NINA
Altitude de la monture altitude donnée par NINA
RMS de guidage RMS total du guidage, en pixels
Focaliseur et filtre position du focaliseur (axe de gauche) et numéro du filtre actif (axe de droite)

Ce graphique est fixe en V1 : il utilise les champs listés dans Ressources\plots\graph1.columns et le script graph1.plt, à côté du programme. Ces champs doivent être cochés Enreg. pour apparaître. Les graphiques que tu choisiras toi-même arrivent avec un incrément suivant.

Deux limites connues, prévues pour la suite : pendant une coupure ou une pause, la courbe relie le dernier point avant et le premier point après, au lieu de laisser un trou ; et la légende peut cacher une courbe qui passe juste sous elle.

14.6 Les fichiers de la séance

Tous dans le dossier de la nuit, sous le répertoire de sortie (Acquisitions\2026-10-29, section 14.2), avec le préfixe (ici M31_test) :

Fichier Contenu
M31_test_mesures.jsonl les relevés : une ligne par source et par relevé, avec l'heure UTC (t), la source (src, son préfixe) et les valeurs. Écrit ligne par ligne : une coupure de courant fait perdre au pire la dernière ligne
M31_test_session.json la description de la séance : version d'AstroTools, heures de début et de fin, motif de fin (stop, app-close, write-error), cadence, sources, liste des champs, compteurs. Sans heure de fin, la séance s'est terminée brutalement
M31_test_images.jsonl case Images : une ligne par image de NINA (section 14.8)
M31_test_nina-events.jsonl case WebSocket : un message de NINA par ligne, tel quel, plus les lignes de connexion, coupure, pause et reprise
M31_test_graph1.dat, M31_test_graph1.png les colonnes lues par gnuplot (heure locale) et l'image du graphique
M31_test_graph2.dat, M31_test_graph2.png la même chose pour le graphique des images

Un fichier d'images ou d'événements n'est créé qu'à sa première ligne : une case non cochée, ou une nuit sans image, ne laisse pas de fichier vide.

Ce sont des fichiers texte (sauf le PNG) : tu peux les ouvrir dans le Bloc-notes, ou les lire avec un tableur ou un script.

gnuplot ailleurs que dans C:\Program Files\gnuplot : Fichier > Modifier config.ini…, section [GnuPlot], ligne ExePath = … avec le chemin complet de gnuplot.exe, puis redémarrer AstroTools. Un config.ini créé avant la version 0.4 n'a pas cette section : AstroTools prend alors le chemin par défaut, et tu peux ajouter la section toi-même (modèle au chapitre 12, section 12.3). Si gnuplot est introuvable, la fenêtre du graphique le dit avec le chemin essayé ; l'acquisition, elle, continue.

14.7 Messages courants

Message Quoi faire
« Le préfixe … est déjà utilisé dans ce répertoire. Le préfixe libre suivant, …, est proposé… » une séance porte déjà ce nom (par exemple un préfixe tapé à la main) : le suivant libre est déjà dans la case, clique à nouveau sur Démarrer
« Rien à enregistrer : cochez Images ou WebSocket, ou au moins un champ « Enreg. »… » coche Images ou WebSocket, ou des champs Enreg. dans la page Champs, puis Enregistrer ; vérifie aussi que la source est active (page Sources)
« Le répertoire de sortie … n'est pas utilisable : … » choisis un autre répertoire avec Parcourir… (droits d'écriture, lecteur absent)
« L'acquisition est arrêtée sur une erreur d'écriture : … » voir section 14.4
« gnuplot introuvable : … » (fenêtre du graphique) voir section 14.6
« Pas encore de mesure dans la session. » (fenêtre du graphique) attends le premier relevé
« Images ou WebSocket sont cochés, mais aucune source NINA active n'est choisie… » choisis Toutes ou la source NINA, vérifie qu'elle est active (page Sources) et qu'elle a été interrogée au moins une fois, ou décoche les deux cases
« Pas encore d'image dans la session. » (graphique des images) attends la première pose enregistrée par NINA
« Pas encore d'image LIGHT dans la session… » (graphique des images) NINA n'a fait que des flats, darks, bias ou snapshots : le graphique ne trace que les LIGHT (ils restent dans _images.jsonl)
page WebSocket : « WebSocket déconnecté » en couleur d'alerte NINA fermé, PC distant éteint ou réseau coupé. Rien à faire : AstroTools se reconnecte seul et rattrape les images (section 14.8)

14.8 Les images de NINA (case Images)

Chaque fois que NINA enregistre une image, AstroTools écrit une ligne dans <préfixe>_images.jsonl avec toutes les informations que NINA donne : type (LIGHT, FLAT…), filtre, temps de pose, cible, HFR, nombre d'étoiles, médiane, température, gain, date, nom du fichier, etc.

Deux chemins, aucune image en double :

  1. avec la case WebSocket, l'image arrive tout de suite par l'événement IMAGE-SAVE de NINA ;
  2. à chaque relevé, AstroTools relit aussi l'historique des images de NINA (le « filet ») : une image manquée (WebSocket coupé, réseau coupé, case WebSocket non cochée) y est rattrapée, avec l'heure de l'image, pas celle du rattrapage.

Une image vue par les deux chemins n'est écrite qu'une fois (elle est reconnue par sa date et son nom de fichier). Le compteur dit combien ont été rattrapées par l'historique : 0 pendant une nuit sans incident. Une image à laquelle il manque la date ou le nom de fichier est quand même écrite, comptée incomplète.

Seules les images prises après le clic sur Démarrer sont enregistrées, même si NINA en a pris d'autres plus tôt dans la soirée.

Limite connue : l'historique est dans la mémoire de NINA. Si NINA est redémarré pendant une coupure du WebSocket, les images de cette coupure ne peuvent plus être rattrapées.

14.9 Le graphique des images

Le bouton Graphique images ouvre une seconde fenêtre, qui trace un point par image, avec le temps en abscisse (en heures, minutes et secondes quand la séance dure moins d'une demi-heure).

Le graphique des images d'une courte séquence NINA (cible TestAPI, filtre NBZ, poses de 10 s) : quatre cadrans Netteté, Fond de ciel, Homogénéité et Capteur, un point par image LIGHT

Cadran Points
Netteté HFR (axe de gauche, pixels) et nombre d'étoiles (axe de droite)
Fond de ciel médiane de l'image (ADU)
Homogénéité HFRStDev, la dispersion du HFR dans l'image (pixels)
Capteur température de la caméra (°C)

Ce graphique sert à vérifier la chaîne de bout en bout : les valeurs dépendent de la caméra et des réglages de NINA, ce n'est pas un diagnostic. Il est fixe en V1 : Ressources\plots\graph2.columns et graph2.plt, que tu peux adapter comme graph1.

14.10 La page WebSocket : les événements de NINA

Vue Sources et acquisition, page WebSocket. Elle montre les messages de NINA reçus pendant la séance : connexions d'appareils, début et fin de séquence, filtre changé, autofocus, retournement au méridien, erreurs, images…

La page WebSocket pendant une courte séquence NINA : sélection « Tous les événements », fichier 2026-10-28_nina-events.jsonl (10 affichés sur 10), ligne « WebSocket connecté », puis des paires IMAGE-PREPARED et IMAGE-SAVE avec le détail de chaque image (LIGHT NBZ 10 s, HFR, étoiles, nom du fichier) et SEQUENCE-FINISHED

Colonne Contenu
Heure heure locale de réception
Événement le nom donné par NINA (IMAGE-SAVE, FILTERWHEEL-CHANGED…), « (message texte) » pour un texte envoyé par une séquence, ou une ligne d'AstroTools : WebSocket connecté, WebSocket déconnecté, Acquisition en pause, Acquisition reprise
Détail l'essentiel du message (pour une image : type, filtre, pose, HFR, étoiles, fichier)

Une coupure de réseau sur ton PC ne ferme pas le WebSocket : il se fige sans prévenir. AstroTools s'en aperçoit quand la source NINA ne répond plus, note « WebSocket déconnecté », puis se reconnecte quand NINA répond de nouveau ; les images de la coupure sont rattrapées par l'historique (section 14.8).

14.11 Les vignettes (case Vignettes et page Images)

Avec la case Vignettes, AstroTools retrouve le FITS de chaque pose LIGHT de NINA et en fait une vignette noir et blanc, rangée dans la page Images (vue Sources et acquisition, dernière page). Un clic sur une vignette ouvre la pose en grand.

Les vignettes sont un plus : elles ne gênent jamais l'acquisition. Partage réseau lent ou coupé, racine fausse, fichier illisible : seules les vignettes manquent ; les relevés, les images et les événements sont écrits comme d'habitude.

Régler la racine

Page Acquisition : cocher Images (c'est elle qui donne la liste des poses), puis Vignettes, et choisir le Répertoire racine avec Parcourir… ou en le tapant. C'est le dossier où NINA enregistre ses images, tel qu'on le voit depuis le PC d'AstroTools :

Un lecteur réseau (par exemple X: relié à \\X1PRO\Brutes) marche aussi : X:\N.I.N.A Captures. Mais après un redémarrage, Windows ne reconnecte parfois un lecteur réseau qu'une fois ouvert dans l'Explorateur : tant que ce n'est pas fait, la racine est « inaccessible ». Le chemin réseau complet (\\X1PRO\…) ne dépend pas de ça : c'est le choix le plus sûr.

La racine n'est pas vérifiée au Démarrer : une racine vide ou fausse ne bloque pas l'acquisition, la page Images le signale à chaque pose. Comme les autres réglages, la case et la racine sont retenues, et verrouillées pendant la séance.

Comment AstroTools trouve les FITS

NINA ne donne que le nom du fichier, pas son dossier. AstroTools cherche ce nom sous la racine, jamais au-dessus :

  1. d'abord dans le dossier de la pose précédente : c'est presque toujours là, la réponse est immédiate ;
  2. sinon, il remonte d'un dossier et cherche dans toute cette branche, puis remonte encore, jusqu'à la racine.

La première pose d'une séance, ou d'une nouvelle cible, demande donc un parcours plus long ; les suivantes sont immédiates. Une pose toute fraîche est encore cherchée deux fois, à 3 secondes d'intervalle, le temps qu'elle apparaisse sur le partage. Un parcours de plus de 20 secondes est abandonné pour cette pose (« recherche trop longue ») : choisis alors une racine plus précise.

Homonymes : si deux fichiers portent le même nom dans la branche où la pose est trouvée, AstroTools n'en choisit aucun et montre les deux chemins. Il ne cherche pas d'autres homonymes ailleurs. Avec le motif de nom de NINA (cible, filtre, temps de pose, heure, numéro), deux poses du même nom n'arrivent pratiquement jamais ; garde un motif distinctif dans Options > Imagerie de NINA.

La page Images

[Capture 14-5 : la page Images, une grille de vignettes d'une séquence NINA] : à venir avec la V1 Beta.

Une pose sans vignette garde sa place, avec un message court ; l'infobulle donne le détail :

Message Ce que ça veut dire, quoi faire
en attente, recherche… la pose attend son tour : les vignettes se font une à la fois et rattrapent leur retard toutes seules
introuvable aucun fichier de ce nom sous la racine : vérifie la racine
2 fichiers de ce nom homonymes : l'infobulle donne les chemins, à toi de regarder
racine non réglée choisis la racine, pour la séance suivante
racine inaccessible le dossier ou le partage n'est pas là (PC éteint, partage coupé) ; les poses suivantes réessaient toutes seules
recherche trop longue choisis une racine plus précise
illisible fichier tronqué, fichier qui n'est pas un FITS, ou FITS d'un format non lu : seules les images monochromes 16 bits de NINA sont lues. Le détail technique est dans le journal

La grande image

[Capture 14-6 : le visualiseur sur une pose zoomée, la ligne d'aide en bas] : à venir avec la V1 Beta.

Un clic sur une vignette ouvre la pose en pleine résolution, ajustée à la fenêtre. Molette : zoom autour du pointeur, de 10 % à 800 %. Glisser avec le bouton gauche, ou les barres de défilement : déplacement. Un clic sur une autre vignette la remplace dans la même fenêtre. Pas d'en-tête FITS ni de réglage de l'étirement en V1 : l'étirement est automatique, calculé sur les pixels de la pose en pleine résolution ; la vignette utilise le même, et les deux ont le même aspect.

L'infobulle d'une vignette donne le nom du fichier, puis son dossier sur une seconde ligne.

Pourquoi seulement les LIGHT

En V1, le suivi de la nuit (compteur, graphique des images, vignettes) ne porte que sur les poses LIGHT : les quelques valeurs que NINA donne pour une image ne suffisent pas à juger un flat, un dark ou un bias. Ces poses ne sont pas perdues : elles restent écrites dans <préfixe>_images.jsonl avec toutes leurs informations, et leur analyse viendra avec le traitement des FITS (V3).