Aller au contenu

acquisition/conversion/traitement des sequences, ccdciel/sirilic/siril


euldulle

Messages recommandés

Bon, ça a fini d'infuser :)

C'est finalement plus simple que prévu, mais c'est assez long à expliquer.

Sous ce repo git :

https://github.com/euldulle/seqfits

il y a le document pdf/tex style "livre blanc"détaillant la démarche, un Makefile et les listes de tâches qu'il génère.

Le pdf est aussi en pièce jointe.

J'insère le Makefile pour donner une idée de la chose, mais les infos pertinentes sont vraiment dans le pdf :

 

################################################################
#
# Section définie par l'utilisateur : nom du projet et composantes
#
#   contraintes  (amendables) d'implémentation choisies pour ce premier jet:
#
#       chaque composante est décrite par un mot composé d'une lettre 
#       définissant la fréquence, et d'un nombre définissant le
#       temps d'exposition en secondes. Les règles du Makefile utilise
#		ces contraintes donc si on les modifie (si on veut plus de caracteres
#		pour FREQ par exemple), il faut modifier les recettes du Makefile
#		en conséquence. L = NOFILTER
#						R = RED
#						G = GREEN
#						B = BLUE
#						O = OIII
#						H = Halpha
#						A = Aucune idée
#						...
#
#
project=projectname
components=L300 L120 L30 R60 G60 B60 A60 H120 K60
#
# Fin de la section observateur 
###################################################################################
# Section générique : elle traduit une 
# stratégie d'acquisition/traitement classique en tâches ACQ et PROCESS.
#
# On créée 3 fichiers séparés, pour la facilité de lecture :
#   le fichier .tasks contient toutes les tâches ACQ et PROCESS, dans l'ordre
#   où elles sont générées par le Makefile, donc c'est un ordre consistant :
#   les tâches PROCESS apparaissent apres que les acquisitions nécessaires
#   aient été programmées.
#
#   le fichier projectname.acq ne contient que les tâches d'acquisition
#
#   le fichier projectname.process ne contient que le tâches de traitement, 
#   c'est un squelette symbolique du script final de traitement.
#
.SILENT:project
SHELL := /bin/bash
explist := $(shell for i in $(components); do echo $${i:1}; done | sort | uniq)
freqlist := $(shell for i in $(components); do echo $${i:0:1}; done | sort | uniq)
darklist := $(shell for i in $(explist); do echo Master_Dark_$$i; done)
lightlist := $(shell for i in $(components); do echo Master_Light_$$i; done)
flatlist := $(shell for i in $(freqlist); do echo Master_Flat_$$i; done)
biaslist := Master_Bias
acq := $(project).acq
process := $(project).process
tasks := $(project).tasks
rm := $(shell rm $(acq) $(process) $(tasks) 2>/dev/null)

project: $(biaslist) $(darklist)  $(flatlist) $(lightlist)
	@echo NEWPROCESS composite ${lightlist} \
		|tee -a $(process)|tee -a $(tasks)

Master_Bias: Seq_Bias
	@echo NEWPROCESS makemaster IMAGETYP="Bias" \
		|tee -a $(process)|tee -a $(tasks)

Seq_Bias:
	@echo NEWACQ Seq IMAGETYP='Bias' \
		|tee -a $(acq)|tee -a $(tasks)

Master_Dark_%: Seq_Dark_%
	@echo NEWPROCESS makemaster IMAGETYP="Dark" EXPTIME=$* \
		|tee -a $(process)|tee -a $(tasks)

Seq_Dark_%:
	@echo NEWACQ Seq IMAGETYP='Dark' EXPTIME=$* \
		|tee -a $(acq)|tee -a $(tasks)

Master_Flat_%: Seq_Flat_%
	@echo NEWPROCESS makemaster IMAGETYP="Flat"  FREQ=$* \
		|tee -a $(process)|tee -a $(tasks)

Seq_Flat_%:
	@echo NEWACQ Seq IMAGETYP='Flat' FREQ=$* \
		|tee -a $(acq)|tee -a $(tasks)

Master_Light_%: freq = $(shell i=$(*); echo $${i:0:1})
Master_Light_%: exp =  $(shell i=$(*); echo $${i:1})
Master_Light_%: Seq_Light_%
	@echo NEWPROCESS makemaster IMAGETYP="Light" FREQ=$(freq) EXPTIME=$(exp) \
		|tee -a $(process)|tee -a $(tasks)

Seq_Light_%: freq = $(shell i=$(*); echo $${i:0:1})
Seq_Light_%: exp =  $(shell i=$(*); echo $${i:1})
Seq_Light_%: 
	@echo NEWACQ Seq IMAGETYP='Light' EXPTIME=$(exp) FREQ=$(freq) \
		|tee -a $(acq) |tee -a $(tasks)

Et bon tant qu'on y est, la liste des tâches générées dans cet exemple (dans l'ordre de sortie du Makefile, donc consistant

avec les contraintes et les prérequis pour chaque tâche) :

 

NEWACQ Seq IMAGETYP=Bias
NEWPROCESS makemaster IMAGETYP=Bias
NEWACQ Seq IMAGETYP=Dark EXPTIME=120
NEWPROCESS makemaster IMAGETYP=Dark EXPTIME=120
NEWACQ Seq IMAGETYP=Dark EXPTIME=30
NEWPROCESS makemaster IMAGETYP=Dark EXPTIME=30
NEWACQ Seq IMAGETYP=Dark EXPTIME=300
NEWPROCESS makemaster IMAGETYP=Dark EXPTIME=300
NEWACQ Seq IMAGETYP=Dark EXPTIME=60
NEWPROCESS makemaster IMAGETYP=Dark EXPTIME=60
NEWACQ Seq IMAGETYP=Flat FREQ=A
NEWPROCESS makemaster IMAGETYP=Flat FREQ=A
NEWACQ Seq IMAGETYP=Flat FREQ=B
NEWPROCESS makemaster IMAGETYP=Flat FREQ=B
NEWACQ Seq IMAGETYP=Flat FREQ=G
NEWPROCESS makemaster IMAGETYP=Flat FREQ=G
NEWACQ Seq IMAGETYP=Flat FREQ=H
NEWPROCESS makemaster IMAGETYP=Flat FREQ=H
NEWACQ Seq IMAGETYP=Flat FREQ=K
NEWPROCESS makemaster IMAGETYP=Flat FREQ=K
NEWACQ Seq IMAGETYP=Flat FREQ=L
NEWPROCESS makemaster IMAGETYP=Flat FREQ=L
NEWACQ Seq IMAGETYP=Flat FREQ=R
NEWPROCESS makemaster IMAGETYP=Flat FREQ=R
NEWACQ Seq IMAGETYP=Light EXPTIME=300 FREQ=L
NEWPROCESS makemaster IMAGETYP=Light FREQ=L EXPTIME=300
NEWACQ Seq IMAGETYP=Light EXPTIME=120 FREQ=L
NEWPROCESS makemaster IMAGETYP=Light FREQ=L EXPTIME=120
NEWACQ Seq IMAGETYP=Light EXPTIME=30 FREQ=L
NEWPROCESS makemaster IMAGETYP=Light FREQ=L EXPTIME=30
NEWACQ Seq IMAGETYP=Light EXPTIME=60 FREQ=R
NEWPROCESS makemaster IMAGETYP=Light FREQ=R EXPTIME=60
NEWACQ Seq IMAGETYP=Light EXPTIME=60 FREQ=G
NEWPROCESS makemaster IMAGETYP=Light FREQ=G EXPTIME=60
NEWACQ Seq IMAGETYP=Light EXPTIME=60 FREQ=B
NEWPROCESS makemaster IMAGETYP=Light FREQ=B EXPTIME=60
NEWACQ Seq IMAGETYP=Light EXPTIME=60 FREQ=A
NEWPROCESS makemaster IMAGETYP=Light FREQ=A EXPTIME=60
NEWACQ Seq IMAGETYP=Light EXPTIME=120 FREQ=H
NEWPROCESS makemaster IMAGETYP=Light FREQ=H EXPTIME=120
NEWACQ Seq IMAGETYP=Light EXPTIME=60 FREQ=K
NEWPROCESS makemaster IMAGETYP=Light FREQ=K EXPTIME=60
NEWPROCESS composite Master_Light_L300 Master_Light_L120 Master_Light_L30 \
            Master_Light_R60 Master_Light_G60 Master_Light_B60 \
            Master_Light_A60 Master_Light_H120 Master_Light_K60

 

Coffee time :)

 

seqfits.pdf

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.