rmor51

Astrometrie par lot

Recommended Posts

Bonjour,

 

Avec mon club, on tente de faire de la détection d'exoplanètes. Je m'occupe du traitement des images avec Astroimagej. 

Pour réaliser un alignement des brutes, le mieux est de passer par l'astrométrie. Il y a bien outil dans Astrimagej pour le faire en ligne sur nova.astrometry.net. C'est très  long et ça plante très  souvent. J'ai en ce moment 712 brutes à traiter !

L'idéal serait de la faire en local en batch. Mais je n'ai aucune compétence pour le faire. C'est pourquoi je m'adresse aux compétences de la communauté.

Le programme devrait:

- prendre en entrée le répertoire des brutes,

- le champ des images en H et L (pour réduire les temps de traitement),

- créer un répertoire de sortie avec les images astrométrées.

Et utilisé les index du répertoire configuré dans  /etc/astrometry.cfg.

 

Merci d'avance pour votre aide qui pourra profiter à d'autres chasseurs d'exoplanètes. 

Share this post


Link to post
Share on other sites
il y a une heure, rmor51 a dit :

Pour réaliser un alignement des brutes, le mieux est de passer par l'astrométrie

curieux comme affirmation pour de la photométrie

il me semble que le champs doit rester exempt de toute transformation géométrique

perso, j'utiliserai une sélection comprenant la cible et les références et je ferai un alignement global sur sélection avec Iris

mais pourquoi ne pas utiliser Astroimagej jusqu'au bout? il se débrouille bien en alignement

il y aura d'autres avis

Share this post


Link to post
Share on other sites

Toutes les sessions d'imagerie ne sont pas exemptes de défauts de suivi. J'ai même eu le cas à Astroqueyras ou  AIJ ne s'en sortait pas sans astrométrie.

Et comme on débute sur le sujet c'est juste pour parer à toute éventualité. Vaut mieux prévoir que guérir.

Share this post


Link to post
Share on other sites

salut

tu peux utiliser la ligne de commande sur linux

gilles@ltgilles:~/als/sample$ solve-field Light_1069.fits

ça te fera tout un tas de messages

Reading input file 1 of 1: "Light_1069.fits"...
Found an existing WCS header, will try to verify it.
Extracting sources...
simplexy: found 295 sources.
Solving...
Reading file "./Light_1069.axy"...
Verifying WCS using indices with quads of size [2.46751, 32.9675] arcmin
Verifying WCS with index 12 of 192 (/usr/share/astrometry/index-4208.fits)
Verifying WCS of field 1.
 --> log-odds 0
Verifying WCS with index 13 of 192 (/usr/share/astrometry/index-4207-11.fits)
Verifying WCS of field 1.
(...)
Got 0 solutions.
Field 1 did not solve (index index-4219.fits, field objects 1-10).
(...)
Field 1 did not solve (index index-4214.fits, field objects 11-20).
  log-odds ratio 22.4584 (5.66956e+09), 3 match, 0 conflict, 1 distractors, 19 index.
  RA,Dec = (111.717,-10.3801), pixel scale 11.5956 arcsec/pix.
  Hit/miss:   Hit/miss: +-++(best)------------------------------------------------------------------------------------------------
Field 1: solved with index index-4213.fits.
Field 1 solved: writing to file ./Light_1069.solved to indicate this.
Field: Light_1069.fits
Field center: (RA,Dec) = (111.696405, -10.370019) deg.
Field center: (RA H:M:S, Dec D:M:S) = (07:26:47.137, -10:22:12.068).
Field size: 4.19134 x 3.11637 degrees
Field rotation angle: up is -14.7377 degrees E of N
Field parity: neg
Creating new FITS file "./Light_1069.new"...
Creating index object overlay plot...
Creating annotation plot...

et te créera qq fichiers complétés comme tu le souhaites, pense-je 

image.thumb.png.7ead3da06a1d68a69fd7ca458ef34320.png

 

en jouant avec les arguments passés en ligne de commande, tu devrais pouvoir optimiser le traitement

https://manpages.debian.org/testing/astrometry.net/solve-field.1.en.html

 

Share this post


Link to post
Share on other sites

J'ai un script qui m'a été fait il y a 2 ans mais je n'arrive plus à le faire fonctionner.

 

#!/bin/bash
SOLVER=/usr/bin/solve-field
CFG="/etc/astrometry.cfg"
DEFAULT_OPTIONS="-O -r -y -2 -u aw -W /tmp/solution.wcs --config $CFG"
TMPFOLDER="/tmp"
RADIUS=30 #Radius field for search in degrees
FIELDMIN=20  #minimum size of field in arc minutes
FIELDMAX=33  #maximum size of field in arc minutes
DESTFOLDER="$HOME/solverResult"
INPUTFILE="./fitstest.fit"

solve()
{
	INPUT=$1
	DEST=$2
	FIELDMIN=$3
	FIELDMAX=$4
	SUBSAMPLE=$5
	mkdir -p $DEST
	echo $DEST
	fichhead=`tempfile 2>/dev/null` || fichhead=/tmp/head$$
	trap "rm -f $fichhead" 0 1 2 5 15
	hexdump -n 4096 -e '80/1 "%_p" "\n"' $INPUT > /tmp/headfile
	AR=$(echo $(grep OBJCTRA $fichhead) | cut -f 2 -d'=' | cut -f 1 -d'/')
	DEC=$(echo $(grep OBJCTDEC $fichhead) | cut -f 2 -d'='| cut -f 1 -d'/')
	if [[ $AR == *\'* ]]
	then
# Déclinaison d m s
		coef=$(echo "scale=5;360/24" | bc)
		AR=$(echo $AR | sed -e "s/'//g")
		AR=$(echo $AR | sed -e "s/ /:/g")
#		IFS=' ' read -r -a ARarray <<< "$AR"
#		if [[ ${ARarray[0]} == "-"* ]]
#		then
#			sign=-1
#			ARarray[0]=$(echo "${ARarray[0]}" | sed -e "s/-//g")
#		elif [[ ${ARarray[0]} == "+"* ]]
#		then
#			sign=1
#			ARarray[0]=$(echo "${ARarray[0]}" | sed -e "s/+//g")
#		else
#			sign=1
#		fi
#		AR=$(echo "scale=4;$sign*$coef*(${ARarray[0]}+${ARarray[1]}/60+${ARarray[2]}/3600)" | bc)
# Déclinaison h m s
		DEC=$(echo $DEC | sed -e "s/'//g")
		DEC=$(echo $DEC | sed -e "s/ /:/g")
#		IFS=' ' read -r -a DECarray <<< "$DEC"
#		if [[ ${DECarray[0]} == "-"* ]]
#		then
#			sign=-1
#			DECarray[0]=$(echo "${DECarray[0]}" | sed -e "s/-//g")
#		elif [[ ${DECarray[0]} == "+"* ]]
#		then
#			sign=1
#			DECarray[0]=$(echo "${DECarray[0]}" | sed -e "s/+//g")
#		else
#			sign=1
#		fi
#		DEC=$(echo "scale=4;$sign*(${DECarray[0]}+${DECarray[1]}/60+${DECarray[2]}/3600)" | bc)
		echo $AR' '$DEC
	fi
	mkdir -p $DEST
	echo "$DEFAULT_OPTIONS -z $SUBSAMPLE -L $FIELDMIN -H $FIELDMAX -3 $AR -4 $DEC \
-5 $RADIUS $INPUT -D $DEST"
	$SOLVER $DEFAULT_OPTIONS -z $SUBSAMPLE -L $FIELDMIN -H $FIELDMAX -3 $AR -4 $DEC \
-5 $RADIUS $INPUT -D $DEST

}

# open fd
exec 3>&1
INPUTDIR=$(pwd)
ROOTFILE=""
FIELDMIN=20  #minimum size of field in arc minutes
FIELDMAX=33  #maximum size of field in arc minutes
SUBSAMPLE=2  #maximum size of field in arc minutes

# Store data to $VALUES variable
dialog --ok-label "Plate-Solve" \
      --cancel-label "Quitter" \
	  --backtitle "Batch Plate-solving" \
	  --title "Données" \
      --form "Astrometrie Batch" \
15 80 0 \
	"Répertoire entrée:" 1 1	"$INPUTDIR" 	1 20 255 0 \
	"Racine de fichier:" 2 1	"$ROOTFILE"  	2 20 255 0 \
	"Champ minimum:" 3 1	"$FIELDMIN" 	3 20 55 0 \
	"Champ maximum:" 4 1	"$FIELDMAX"  	4 20 55 0 \
	"Sous échantillonage:" 5 1	"$SUBSAMPLE"  	5 20 55 0 \
2>&1 1>&3 | {
	read -r INPUTDIR
    if test $? -ne 0; then
        echo
        exit
    fi
	read -r ROOTFILE
	read -r FIELDMIN
	read -r FIELDMAX
	read -r SUBSAMPLE
	if test ! -d $INPUTDIR
	then
		echo "Répertoire $INPUTDIR non existant"
		exit
	else
		OUTDIR=$INPUTDIR/ASTROMETRY
		mkdir -p $OUTDIR
		list=$(ls $INPUTDIR/$ROOTFILE)
		echo $list
		for f in $list #"${array[@]}"
		do
			solve $f $OUTDIR $FIELDMIN $FIELDMAX $SUBSAMPLE
		done
	fi
}
exec 3>&-

# Pour garder la fenêtre ouverte après exécution
read

Sur mon portable sur lequel il a été écrit, il se lance mais j'ai une erreur:

/media/robert/SMARTDISK/Exoplanet_Ponty/29_juillet/ASTROMETRY
astrosolve3.2.sh: 26: astrosolve3.2.sh: [[: not found
-O -r -y -2 -u aw -W /tmp/solution.wcs --config /etc/astrometry.cfg -z 2 -L 21 -H 16 -3  -4  -5 30 /media/robert/SMARTDISK/Exoplanet_Ponty/29_juillet/EXO_00712.fits -D /media/robert/SMARTDISK/Exoplanet_Ponty/29_juillet/ASTROMETRY
/usr/bin/solve-field: invalid option -- '2'
This program is part of the Astrometry.net suite.
For details, visit http://astrometry.net.
Git URL https://github.com/dstndstn/astrometry.net
Revision 0.73, date Thu_Nov_16_08:30:44_2017_-0500.

Et sur mon PC de bureau il ne se lance même pas et donne cette liste d'erreur:

 

robert@robert-M11AD:/media/robert/SMARTDISK/Exoplanet_Ponty/29_juillet$ sh astrosolve3.2.sh 
astrosolve3.2.sh: 101: test: astrosolve3.2.sh:: unexpected operator
mkdir: impossible de créer le répertoire «astrosolve3.2.sh:»: Argument invalide
mkdir: impossible de créer le répertoire «80:»: Argument invalide
mkdir: impossible de créer le répertoire «astrosolve3.2.sh:»: Argument invalide
mkdir: impossible de créer le répertoire «dialog:»: Argument invalide
ls: impossible d'accéder à 'astrosolve3.2.sh:': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à '80:': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à 'astrosolve3.2.sh:': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à 'dialog:': Aucun fichier ou dossier de ce type
found/: ASTROMETRY not:
mkdir: impossible de créer le répertoire «astrosolve3.2.sh:»: Argument invalide
astrosolve3.2.sh:
hexdump: found/:: Aucun fichier ou dossier de ce type
astrosolve3.2.sh: 26: astrosolve3.2.sh: [[: not found
mkdir: impossible de créer le répertoire «astrosolve3.2.sh:»: Argument invalide
-O -r -y -2 -u aw -W /tmp/solution.wcs --config /etc/astrometry.cfg -z dialog: -L 80: -H astrosolve3.2.sh: -3  -4  -5 30 found/: -D astrosolve3.2.sh:
/usr/bin/solve-field: invalid option -- '2'
This program is part of the Astrometry.net suite.
For details, visit http://astrometry.net.

CE programme a bien répondu à nos attente à l'époque. Qui peut me débrouiller cela SVP ?

Share this post


Link to post
Share on other sites

est-ce que la fonction "dialog" est bien installée sur ton PC ?

si ce n'est pas le cas, installe-la 

sudo apt install dialog

 

Share this post


Link to post
Share on other sites

au début du script

remplace 

DEFAULT_OPTIONS="-O -r -y -2 -u aw -W /tmp/solution.wcs --config $CFG"

par

DEFAULT_OPTIONS="-O -r -y -u aw -W /tmp/solution.wcs --config $CFG"

Je ne sais pas à quoi pouvait servir ce -2 ou si ce n'est pas une coquille, mais en faisant ça ça marche chez moi

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.