Script de pré-traitement

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

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan » 11 nov. 2022, 10:42

Merci, mais je n'arrive pas à le faire fonctionner sous une forme de "LOOP".
Je devrais pouvoir créer une "LOOP" qui vérifie si la fin du fichier a été atteinte, sinon, lire une nouvelle ligne. puis vérifiez à nouveau.
Mais ceci sans ajouter de règles supplémentaires. Il devrait revenir à la ligne de code 1 et le redémarrer pour lire.

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

Re: Script de pré-traitement

Message par Marc DELDEM » 11 nov. 2022, 11:48

Il faut faire quelque chose comme ça:

Code : Tout sélectionner

// Function to read a file
DoReadFileAndProcessData:

// Open file
OPEN_FILETXT_FOR_READ File Filename$

// Read next line from file
ReadNextLine:
ENDOFFILE File IsEndOfFile
IF IsEndOfFile=FALSE
	// Read a line
	READFILETXT File Line$
	
	// Do something with Line$
	
	// Try to read next line
	GOTO ReadNextLine:
ELSE
	// End of file
	GOTO EndReadFile:
ENDIF

// End of processing
EndReadFile:
// Close the file
CLOSEFILETXT File

RETURN
Marc

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

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan » 14 nov. 2022, 00:54

Merci. J'ai travaillé un peu plus loin et j'ai essayé de l'affiner. Tout fonctionne plutôt bien pour le moment, merci beaucoup !

Pour traiter un grand nombre de données anciennes, j'ai écrit un petit script pour écrire l'heure de fin de l'observation dans le "Header" FITS.
Maintenant, j'entre une heure de fin manuelle. Mais est-il possible que prism puisse le faire automatiquement dans le script ?
J'ai le temps : 00:00:00.000
Et je connais le temps de pose du cliché ex : 150s.
Le prisme lui-même peut-il "compter" ? que ce serait : 00:02:30.000 ?

Vous trouverez ci-dessous une partie du code comment je le saisis maintenant manuellement via STDINPUT

Code : Tout sélectionner

GetImage Img

GetTime Img  HR  MM  SS  MS
STR HR HR$
IF HR<10
	HR$="0"+HR$
ENDIF	
STR MM MM$
IF MM<10
	MM$="0"+MM$
ENDIF	
STR SS SS$
IF SS<10
	SS$="0"+SS$
ENDIF
STR MS MS$
IF MS<10
	MS$="0"+MS$
ENDIF
Print "OBSERVATION TIME (UTC): " HR$ "h" MM$ "m" SS$ "s" MS$ 

GetExpTime Img ExpTime
ExpTime = ExpTime/1000
PRINT "Exposure time of the image is " ExpTime " seconds."
STR ExpTime Exp$

STDINPUT 
INPUT "Please give UT-END as 00:00:00.00:" UT-END$

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

Re: Script de pré-traitement

Message par Marc DELDEM » 14 nov. 2022, 09:26

Tu peux essayer de te baser sur ce script:

Code : Tout sélectionner

NOW StartDate

DATETOSTR StartDate StartDate$
PRINT "Start Date is: " StartDate$

// Add 150sec
EndDate=StartDate+150/86400

DATETOSTR EndDate EndDate$
PRINT "End Date is: " EndDate$

// Extract Time
CUTSTR EndDate$ " " 2 EndTime$
PRINT "End Time is: " EndTime$
Marc

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

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan » 14 nov. 2022, 18:55

Merci! Entre-temps, j'ai également pu traiter certaines observations automatiquement. L'exemple suivant a été créé presque entièrement via PRISM. Le collage de certaines des différentes images a été fait dans Photoshop car cela n'est pas possible dans PRISM.
Ainsi, le titre avec les données et les données sont toutes créées via PRISM, ainsi que les images de recadrage, etc.
La grande image est un gabarit fait avec photoshop, auquel j'ajoute les observations.
Image

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

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan » 18 nov. 2022, 15:52

Cher,
Tout fonctionne très bien correctement. Mais pour être sûr :
Il n'y a pas de fonction de script qui place automatiquement un texte "TOP CENTER" directement dans l'interface de prism elle-même ?
Travailler uniquement avec des valeurs de position de pixel ? Corriger?

Répondre