Automation Comet observation

L'utilisation et la création des scripts.
Répondre
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Automation Comet observation

Message par Dekelver Pieter-Jan »

Cher,

Je vais essayer d'écrire un script pour que mon observation de comète se déroule de manière complètement automatique. Ainsi, vous pouvez également contrôler le télescope, le dôme, la caméra, la station m
étéo, etc. via le script.
Tout d'abord, je me demande s'il est possible de diviser une ligne txt en différentes valeurs avec un prisme.
Par exemple, j'ai la ligne de comète suivante :
P/2018P3(PANSTARRS),60,30,0
Est-il possible de séparer le nom de la comète avec un prisme et également de séparer ces nombres (60,30,0) ? Pour que je puisse tout utiliser comme variables/chaîne ?

Merci
Marc DELDEM
Messages : 1269
Enregistré le : 20 juin 2009, 01:01

Re: Automation Comet observation

Message par Marc DELDEM »

Salut,

Il faut utiliser la fonction CUTSTR.

Un exemple d'un script de test pour comprendre comment marche cette fonction:

Code : Tout sélectionner

DoubleQuote$=""""
Sep$=" "

// "UCAC4 519-040616"  07h22m54.985s  +13°40'10.13''  14.156  FALSE  "14.417"  "B=15.263;V=14.417;r=14.156"
Value$=DoubleQuote$+"UCAC4 519-040616"+DoubleQuote$+"  07h22m54.985s  +13°40'10.13''  14.156  FALSE  "+DoubleQuote$+"14.417"+DoubleQuote$+Sep$+Sep$+DoubleQuote$+"B=15.263;V=14.417;r=14.156"+DoubleQuote$

CUTSTR Value$ DoubleQuote$ 1 Name1$
CUTSTR Value$ DoubleQuote$ 2 WhatThis1$
CUTSTR Value$ DoubleQuote$ 3 Comments1$
CUTSTR Value$ DoubleQuote$ 4 WhatThis2$
CUTSTR Value$ DoubleQuote$ 5 ExtraData1$

PRINT "Input:" Value$
PRINT "Process"
PRINT "Name:" Name1$
PRINT "Comments:" Comments1$
PRINT "ExtraData:" ExtraData1$
PRINT "WhatThis1:`" WhatThis1$ "`"
PRINT "WhatThis2:`" WhatThis2$ "`"

// WhatThis1$ correspond à '07h22m54.985s  +13°40'10.13''  14.156  FALSE'
// WhatThis2$ est vide

PRINT ""

// "UCAC4 519-040616"  07h22m54.985s  +13°40'10.13''  14.156  FALSE  "14.417"
Value$=DoubleQuote$+"UCAC4 519-040616"+DoubleQuote$+"  07h22m54.985s  +13°40'10.13''  14.156  FALSE  "+DoubleQuote$+"14.417"+DoubleQuote$

CUTSTR Value$ DoubleQuote$ 1 Name2$
CUTSTR Value$ DoubleQuote$ 3 Comments2$
CUTSTR Value$ DoubleQuote$ 5 ExtraData2$

PRINT "Input:" Value$
PRINT "Process"
PRINT "Name:" Name2$
PRINT "Comments:" Comments2$
IF ExtraData2$=""
	PRINT "ExtraData: Chaine vide !"
ELSE
	PRINT "ExtraData:" ExtraData2$
ENDIF



Et le résultat du script:
[09/11/2023 07:28:09.371 UT] Input:"UCAC4 519-040616" 07h22m54.985s +13°40'10.13'' 14.156 FALSE "14.417" "B=15.263;V=14.417;r=14.156"
[09/11/2023 07:28:09.407 UT] Process
[09/11/2023 07:28:09.407 UT] Name:UCAC4 519-040616
[09/11/2023 07:28:09.408 UT] Comments:14.417
[09/11/2023 07:28:09.408 UT] ExtraData:B=15.263;V=14.417;r=14.156
[09/11/2023 07:28:09.409 UT] WhatThis1:`07h22m54.985s +13°40'10.13'' 14.156 FALSE`
[09/11/2023 07:28:09.410 UT] WhatThis2:``
[09/11/2023 07:28:09.410 UT]
[09/11/2023 07:28:09.411 UT] Input:"UCAC4 519-040616" 07h22m54.985s +13°40'10.13'' 14.156 FALSE "14.417"
[09/11/2023 07:28:09.412 UT] Process
[09/11/2023 07:28:09.413 UT] Name:UCAC4 519-040616
[09/11/2023 07:28:09.413 UT] Comments:14.417
[09/11/2023 07:28:09.414 UT] ExtraData: Chaine vide !
Script terminé ...
Marc
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Re: Automation Comet observation

Message par Dekelver Pieter-Jan »

Merci:

Avant de continuer l'écriture du script, je veux votre avis.
L'idée derrière le script est la suivante :
Le script démarre :

- La hauteur du soleil est visualisée
- Télescope / caméra / dôme sont connectés
- La station météo est en cours de visualisation
- La caméra est refroidie
- Ensuite je regarde une liste de comètes que je souhaite observer, celles qui sont au-dessus de l'horizon et celles qui ne le sont pas (Déjà fonctionnel)
- Une fois la comète trouvée, je commencerai à travailler avec certaines données pour réaliser les enregistrements. En attendant, la station météorologique doit bien sûr aussi garder un œil sur tout.

Est-il préférable de mettre tout cela dans un seul script ? Ou est-ce que je travaille mieux avec les indices ?
Que lorsque la comète est sélectionnée, un indice s'ouvre pour photographier l'objet ?

Que recommandez-vous?
Il est vrai qu’une fois l’observation d’une comète effectuée, il faut rechercher la comète suivante :
(avec GOTO dans le script, cela fonctionne désormais également lors de la recherche d'une comète :)

Par example:
[10/11/2023 06:29:20.480 UT] **********************************************
[10/11/2023 06:29:20.482 UT] *********** NEW OBJECT CALCULATION ***********
[10/11/2023 06:29:20.484 UT] **********************************************
[10/11/2023 06:29:20.487 UT]
[10/11/2023 06:29:20.489 UT] The next candidate for observation is: C/2023E1(ATLAS)
[10/11/2023 06:29:20.492 UT] ERROR: Object is below 10 degrees on local horizon!
[10/11/2023 06:29:20.494 UT] Object elevation : -62°27'58.83'', (Elva = -1.0902433)
[10/11/2023 06:29:20.497 UT]
[10/11/2023 06:29:20.500 UT] **********************************************
[10/11/2023 06:29:20.502 UT] *********** NEW OBJECT CALCULATION ***********
[10/11/2023 06:29:20.504 UT] **********************************************
[10/11/2023 06:29:20.506 UT]
[10/11/2023 06:29:20.508 UT] The next candidate for observation is: C/2021X1(Maury-Attard)
[10/11/2023 06:29:20.511 UT] ERROR: Object is below 10 degrees on local horizon!
[10/11/2023 06:29:20.514 UT] Object elevation : -34°23'18.73'', (Elva = -0.60019316)
WORKFLOW.jpg
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Re: Automation Comet observation

Message par Dekelver Pieter-Jan »

Je vais voir si cela fonctionne en utilisant la fonction GOTO:.

Une autre question:
J'arrive à connecter la caméra et le télescope (avec monture, roue à filtres, porte-oculaire etc etc). Mais je ne vois que la « fenêtre » de la caméra. Comment puis-je m'assurer que je peux également voir la roue à filtres, le porte-oculaire, le dôme, etc. après la connexion ?
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Re: Automation Comet observation

Message par Dekelver Pieter-Jan »

je l'ai trouvé: CONNECT_OBSERVATORY_1

Que signifie réellement le _1 dans la commande ? (Je n'en ai ajouté que 1, car ils ont demandé un paramètre supplémentaire. Mais je ne sais pas exactement quel paramètre donner.

Ainsi que que signifient les commandes PARK_TELESCOPE_H et PARK_TELESCOP_ELVAZ. Je dois fournir des paramètres supplémentaires, mais lesquels ?
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Re: Automation Comet observation

Message par Dekelver Pieter-Jan »

Cher,

Si j'utilise "MoveDome" avec l'azimut en radian, il ne correspond pas exactement à la monture.

Voir exemple ci-dessous. Le « GetAzimuth » de la comète est également en radians. Donc ça devrait être un beau match, non ?

Code : Tout sélectionner

		Now  Date
		CONVERTDATETOJULIAN Date JJDate
		Object$="391P/Kowalski"
		GETSTDRLATITUDE Latitude
		GETSTDRLONGITUDE Longitude
		GETSTDRALTITUDE Altitude
		GETCOMETCOORD Object$ JJDate Latitude Longitude Altitude Alpha Delta SpeedRA SpeedDEC Speed ApproxMagn Err
		
		RAD_TO_DEC Delta DEC$
		RAD_TO_RA Alpha RA$
		GETAZIMUTH Alpha Delta Date Longitude Latitude Azimuth
		PRINT Azimuth
			
// MOVING TELESCOPE / DOME TO TARGET

		PRINT "SLEWING MOUNT to COORDINATES --> RA: "+RA$+" DEC: "+DEC$+" of object: "
		
		#DOME_GET_CONTROL 1 1
		MoveDome Azimuth
		UNPARK_TELESCOPE
		MOVETELESCOPE Alpha Delta
Et puis il y a la question : comment faire pour que le DOME suive automatiquement la monture.

DOME_GET_CONTROL 1 1

Cette fonction ne sert pas vraiment à grand chose ? Ou dois-je utiliser des valeurs autres que 1 1 ?

Merci pour votre réponse.
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Re: Automation Comet observation

Message par Dekelver Pieter-Jan »

Cher,

Comment puis-je ajuster une ligne « FITS HEADER » dans une image nouvellement capturée avant que l'image ne soit enregistrée ?
Alors je prends la photo, j'attends que la photo soit terminée, et j'ajuste un FITS HEADER, puis j'enregistre l'image ?
PathFITSFile$ = Quelle valeur dois-je saisir ici ? (Img?)

Code : Tout sélectionner

DIRIMG$="C:\OBSDATA_OBS1\NEW"
		CamNum=1
		NumCap=1
		MirrorX=0
		MirrorY=0
		SetMirror MirrorX MirrorY
		SetWindowFullFrame_Ex 1
		nBinning=1
		SetBinningX_Ex 1 nBinning
		SetBinningY_Ex 1 nBinning
		PRINT 
		PRINT "STARTING NEXT EXP.:" VALEXPTMS "ms / " Temperature "DEGC / " FILTER$ " / 1X1 BIN"
		
		StartExposure_Ex  1 VALEXPTMS
		WaitForEndExposure_Ex 1
		
		INCR EXPCOUNT 
		STR EXPCOUNT EXPCOUNT$
		GETLASTIMAGEEXPOSURE_EX 1 Img
		
		PathFITSFile$= Img ----> Does not work... 
		requested_KW$="OBJECT"
		Value$=MPCDES$
		SetHeaderStringFITS PathFITSFile$ requested_KW$ ExtensionNumber Value$ Comment$ ErrorCode
		Now  year  month  day  hour  minute  second  millisecond
		STR year YY$
		STR month MM$
		STR day DD$
		
		rawname$=""+YY$+""+MM$+""+DD$+"_"+MPCDES$+"_"+FILTER$+"_"+EXPCOUNT$+""
		savefit Img DIRIMG$+rawname$
		PRINT "Total images already taken for " OBJNAME$ " = " EXPCOUNT "/" VALFRM
Marc DELDEM
Messages : 1269
Enregistré le : 20 juin 2009, 01:01

Re: Automation Comet observation

Message par Marc DELDEM »

Je ne crois pas qu'on puisse ajouter des éléments dans le header avant que l'image FITS soit enregistrée.
La fonction SetHeaderStringFITS permet d'ajouter ou modifier un mot clé et sa valeur, mais dans une image FITS déjà existante.

Marc
Dekelver Pieter-Jan
Messages : 151
Enregistré le : 04 mars 2021, 15:23

Re: Automation Comet observation

Message par Dekelver Pieter-Jan »

Cher,
Correct, je voulais juste ajouter une mise à jour que j'ai réussi en enregistrant d'abord l'image, puis en demandant et en ajustant les ajustements :

Code : Tout sélectionner

		rawname$=""+YY$+""+MM$+""+DD$+"_"+MPCDES$+"_"+FILTER$+"_"+MPCCODE$+"_"+EXPCOUNT$+""
		savefit Img DIRIMG$+"\"+rawname$
		
		PathFITSFile$=""+DIRIMG$+"\"+rawname$+".fits"
		PRINT PathFITSFile$
		requested_KW$="OBJECT"
		ExtensionNumber=0
		Value$=MPCDES$
		Comment$="MPC Designation Code"
		SetHeaderStringFITS PathFITSFile$ requested_KW$ ExtensionNumber Value$ Comment$ ErrorCode
		close Img
Répondre