Page 1 sur 5

Script de pré-traitement

Posté : 14 oct. 2022, 06:30
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.

Re: Script de pré-traitement

Posté : 14 oct. 2022, 08:22
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

Re: Script de pré-traitement

Posté : 14 oct. 2022, 10:06
par Dekelver Pieter-Jan
Merci. Pourriez-vous éventuellement mettre cela dans un exemple dans mon script?

Re: Script de pré-traitement

Posté : 14 oct. 2022, 14:03
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

Re: Script de pré-traitement

Posté : 15 oct. 2022, 07:20
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

Re: Script de pré-traitement

Posté : 16 oct. 2022, 09:15
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.

Re: Script de pré-traitement

Posté : 17 oct. 2022, 22:06
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

Re: Script de pré-traitement

Posté : 19 oct. 2022, 06:38
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

Re: Script de pré-traitement

Posté : 19 oct. 2022, 08:06
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

Re: Script de pré-traitement

Posté : 19 oct. 2022, 08:12
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