Script de pré-traitement

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

Script de pré-traitement

Message par Dekelver Pieter-Jan »

Bonjour,

Je fais un script pour traiter toutes mes images après une nuit d'observation.

Tout d'abord, changez le nom de l'image. Je souhaite extraire différentes données du fichier "fits.

J'ai un problème avec l'indication de l'heure : j'obtiens l'heure du "fits header".
Mais si le mois/jour est de 01 à 09 ou l'heure/minute de 01 à 09, alors le résultat est : 1-9 et non 01-09.

Cela peut-il être ajusté?

Code : Tout sélectionner

REM Obtenir l'image
GetImage Img
GetDate Img Yr Mo day
GetTime Img  HR  MM  SS  MS
GetExpTime Img ExpTime
ExpTime = ExpTime/1000	
GetFILTER Img Filter$ 
Print "" Yr "" Mo "" day "_" HR "" MM "_" ExpTime "S_-35DEGC_" Filter$ "_1X1_M09"
Close Img
Merci.
Marc DELDEM
Messages : 1264
Enregistré le : 20 juin 2009, 01:01

Re: Script de pré-traitement

Message par Marc DELDEM »

Salut,

Ce n'est pas très compliqué à gérer, si la valeur numérique (Integer) est < 10 tu rajoutes un '0' dans la chaine de caractères qui représente ton nombre.

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

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan »

Merci. Pourriez-vous éventuellement mettre cela dans un exemple dans mon script?
Marc DELDEM
Messages : 1264
Enregistré le : 20 juin 2009, 01:01

Re: Script de pré-traitement

Message par Marc DELDEM »

Un exemple sur l'heure que tu pourras généraliser facilement:

Code : Tout sélectionner

HH=8
STR HH HH$
IF HH<10
	HH$="0"+HH$
ENDIF
Dekelver Pieter-Jan
Messages : 149
Enregistré le : 04 mars 2021, 15:23

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan »

Merci.
Cela fonctionne correctement.

Code : Tout sélectionner

REM Generate filename using fits data. 

GetImage Img
GetDate Img Yr Mo day
STR Yr Yr$
IF Yr<10
	Yr$="0"+Yr$
ENDIF
STR Mo Mo$
IF Mo<10
	Mo$="0"+Mo$
ENDIF	
STR day day$
IF day<10
	day$="0"+day$
ENDIF	
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	
GetExpTime Img ExpTime
ExpTime = ExpTime/1000	
GetFILTER Img Filter$ 
Print "" Yr$ "" Mo$ "" day$ "_" HR$ "" MM$ "_" ExpTime "S_-35DEGC_" Filter$ "_1X1_M09"
Close Img
Dekelver Pieter-Jan
Messages : 149
Enregistré le : 04 mars 2021, 15:23

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan »

Cher,

Quelle est la meilleure façon de renommer une liste d'images ? Je vois la possibilité de renommer 1 fichier, mais comment puis-je faire cela pour toute une série qui se termine ensuite par -001, etc. Tout comme le prisme en mode batch.
Merci d'avance.
Marc DELDEM
Messages : 1264
Enregistré le : 20 juin 2009, 01:01

Re: Script de pré-traitement

Message par Marc DELDEM »

Bonsoir,

Le plus simple est de demander une liste de fichiers à traiter:

Code : Tout sélectionner

Print "Sélection des images CPA"
filtreIMG$="CPA|*.cpa"
GETLISTFILENAMEEX  "Selection des images CPA"  filtreIMG$  dir_ini$  sAFileList$ nImageCount

Et ensuite tu fais un traitement sur les fichiers (ici c'est juste un exemple sur des fichiers images CPA où on récupère la date de l'image en jours julien)

Code : Tout sélectionner

For nIdxImg=1 nImageCount
  Open Img sAFileList[nIdxImg]$
  GetJulianDay Img ddayJulian
  Close Img
Next
Marc
Dekelver Pieter-Jan
Messages : 149
Enregistré le : 04 mars 2021, 15:23

Re: Script de pré-traitement

Message par Dekelver Pieter-Jan »

Merci! C'est très apprécié.
Je comprends un peu comment le script fonctionne, mais je ne suis pas vraiment un génie... :D
Est-il également possible que la sélection se fasse automatiquement ? Sans l'intervention d'une personne.
Ouvrez donc le dossier dir_ini et sélectionnez toutes les images . (Il s'agit toujours de FITS et sont stockés dans un dossier par Prism par objet dans un autre dossier.) Donc : Ouvrez le répertoire dir_ini, sélectionnez toutes les images et placez-les dans une liste que le programme peut poursuivre automatiquement.

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

Re: Script de pré-traitement

Message par Marc DELDEM »

Salut,

Oui c'est possible avec la fonction GETREPDIR qui permet de lister le contenu d'un répertoire en filtrant sur un type de fichiers via son extension.
Tu peux lire le sujet ici : viewtopic.php?f=19&t=171

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

Re: Script de pré-traitement

Message par Marc DELDEM »

Si tu as besoin de faire une recherche dans un dossier et des sous-dossiers, tu as aussi la fonction GETREPDIRALL.

Il faut voir la documentation en ligne sur http://www.prism-astro.com/fr/aide/index.html et en utilisant Index ou Search (la doc dans Prism n'est pas à jour).

GETREPDIR: http://www.prism-astro.com/fr/aide/SCRI ... EPDIR.html
GETREPDIRALL: http://www.prism-astro.com/fr/aide/SCRI ... IRALL.html

Marc
Répondre