Geschwindigkeitsoptimierung Coaddition: coadding images ...

Wie arbeite ich mit Theli, wie verarbeite ich in Theli erstellten Bilder ?
Forumsregeln
Bitte die Beiträge kurz fassen, so kann man sie nachher besser finden. Sollte ein Problem gelöst sein, dann einen neuen Beitrag eröffnen. Ebenso wenn die Ursache eine ganz andere ist, oder es Offtopic wird.

Geschwindigkeitsoptimierung Coaddition: coadding images ...

Beitragvon Knickohr » Montag 31. Oktober 2011, 18:54

Hallo zusammen,

nur so ein blöder Gedanke von mir :

Würde es was bringen, wenn man das coadd.fits & coadd.weights.fits zuerst mal in dem temp-Ordner (bei mir auf einer anderen Platte) zusammen baut und dann zum Schluß in den coadd_xxx-Ordner zurück verschiebt ? Für mich sieht es so aus, als ob sich die Platte beim Erstellen der coadds mehr als nur abmüht, da ja das coadd.fits & coadd.weigths.fits und die *.resamp.fits & *.resamp.weights.fits sich im gleichen Ordner befinden. Die Platte muß also ständig zwischen diesen Dateien hin und her springen. Das würde sich doch recht elegant lösen lassen, wenn die Ausgabe erst mal temporär auf eine andere Platte (falls vorhanden) in den temp-Ordner umlenkt und zum Schluß wieder an die Originalstelle zurück moved. So könnten beide Platten gleichzeitig arbeiten, die eine liest, die andere schreibt. Der letzte Schritt des coaddings, eben das coadd.fits & coadd.weights.fits zusammen bauen, dauert bei mit jetzt schon fast 15 Stunden :x

Thomas
Benutzeravatar
Knickohr
Moderator
 
Beiträge: 631
Registriert: Donnerstag 29. September 2011, 12:01
Wohnort: Blaustein

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon TorstenK » Dienstag 1. November 2011, 12:45

Hi Thomas,

nur mal so interessehalber: Um welchen Menge an Rohdaten geht's denn dabei? 15 Stunden kann ja viel oder wenig sein...

mfg
Torsten
TorstenK
 
Beiträge: 79
Registriert: Donnerstag 13. Oktober 2011, 18:55

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon Knickohr » Dienstag 1. November 2011, 13:00

Hallo Torsten,

1500 Bilder zu je knapp 50MB Fits -> 75GB

Wenn das dann alles schön durch Theli durch ist, ist eine 2TB-Platte fast vollgeschrieben :o

Mischa hat da schon ein paar Optimierungen bezüglich der Geschwindigkeit und der Dateien (Links) in die neue 2.4.x einfließen lassen, sonst würde die 2TB-Platte nicht reichen und ich würde mindestens doppelt so lange brauchen. Vor allem scamp hat deutlich an Geschwindigkeit gewonnen.

Thomas
Benutzeravatar
Knickohr
Moderator
 
Beiträge: 631
Registriert: Donnerstag 29. September 2011, 12:01
Wohnort: Blaustein

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon mischa » Dienstag 1. November 2011, 15:54

Hi Thomas,

wenn du das coadd.fits auf eine andere Platte auslagerst, gewinnst du, glaube ich, nichts.
Der coadditionsprozess ist aus i/o sicht sehr langsam, da kommt jede platte mit (hat schliesslich
mehrere schreib- und lesekoepfe).

in theli kann ich da erstmal nichts umstellen, aber wenn du moechtest, kannst du in
gui/scripts/perform_coadd_swarp.sh aenderungen vornehmen:

im ${P_SWARP} aufruf findest du optionen "IMAGEOUT_NAME coadd.fits" und "WEIGHTOUT_NAME coadd.weight.fits",
da kannst du einen absoluten pfad voranstellen, der auf eine andere platte verweist.

das update_header script wird dann crashen, aber das kannst du auch weglassen, da es fuer farbbilder nicht relevant ist.

mischa
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon Knickohr » Dienstag 1. November 2011, 16:03

Hallo Mischa,

ich werde es mal probieren. Vielleicht ja doch. Die Platte rödelt den ganzen Tag (und Nacht) bei der Aktion rum

Ich kann ja vor dem update header noch ein

mv /sourcedir/coadd.* /destinationdir/

in dem Commands-Fensterchen machen. Sollte doch klappen ?

Danke,
Thomas
Benutzeravatar
Knickohr
Moderator
 
Beiträge: 631
Registriert: Donnerstag 29. September 2011, 12:01
Wohnort: Blaustein

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon mischa » Dienstag 1. November 2011, 17:15

Knickohr hat geschrieben:Ich kann ja vor dem update header noch ein

mv /sourcedir/coadd.* /destinationdir/

in dem Commands-Fensterchen machen.



lass es weg, frisst nur zeit und du hast eh nichts davon.
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon Knickohr » Freitag 4. November 2011, 10:39

Hallo Mischa,

kannste noch mal schnell "drüberfliegen", ob ich da einen groben Schnitzer hinterlassen habe ?

Code: Alles auswählen
#!/bin/bash -xv

# the script coadds images with
# Emmanuels swarp program. It takes
# the resampled images created by
# resample_coadd_swarp_para.sh.
# So far it cannot be parallelised!
#
# Note that a coaddition with another header
# than that created by prepare_coadd_swarp.sh
# and later used by resample_coadd_swarp_para.sh
# leads to false results !!!

# 02.03.2004:
# The ending of the resampled FITS images is now
# "COADIDENT".resamp.fits instead of simply .resamp.fits
#
# 04.11.2011:
# placing coadd.fits and coadd.weight.fits temporarily
# in the tmp-folder to speed up the coadd-process

#$1: main dir.
#$2: science dir.

INSTDIR=instruments_professional
if [ ! -f ${INSTDIR}/${INSTRUMENT}.ini ]; then
    INSTDIR=instruments_commercial
fi
if [ ! -f ${INSTDIR}/${INSTRUMENT}.ini ]; then
    INSTDIR=~/.theli/instruments_user/
fi
. ${INSTDIR}/${INSTRUMENT:?}.ini

DIR=`pwd`

PSCALE=${PIXSCALE}
if [ ! "${V_COADD_PIXSCALE}_A" = "_A" ]; then
    PSCALE=${V_COADD_PIXSCALE}
fi


USERDIR=~/.theli/scripts/

if [ "${V_COADD_IDENT}_A" = "_A" ]; then
   V_COADD_IDENT="default"
fi

cd /$1/$2/coadd_${V_COADD_IDENT}

cp ${USERDIR}/coadd.head .

# and simply go!!!


SWARPCONF=${DATACONF}/create_coadd_swarp2.swarp

${P_SWARP} -c ${SWARPCONF} \
    *.${V_COADD_IDENT}.resamp.fits \
    -RESAMPLE N -COMBINE Y -IMAGEOUT_NAME ~/.theli/tmp/coadd.fits \
    -PIXEL_SCALE ${PSCALE} \
    -WEIGHTOUT_NAME ~/.theli/tmp/coadd.weight.fits \
    -WEIGHT_TYPE MAP_WEIGHT \
    -CELESTIAL_TYPE ${V_COADD_CELESTIALTYPE} \
    -PROJECTION_TYPE ${V_COADD_PROJECTION} \
    -RESAMPLING_TYPE ${V_COADD_KERNEL} \
    -COMBINE_TYPE ${V_COADD_COMBINETYPE} \
    -NTHREADS ${NPARA} \
    -BLANK_BADPIXELS Y

mv ~/.theli/tmp/coadd.fits .
mv ~/.theli/tmp/coadd.weight.fits .
rm coadd.head

if [ ! "${V_COADD_SKYPOSANGLE}_A" = "_A" ]; then
    ${P_REPLACEKEY} coadd.fits "CROTA2  = ${V_COADD_SKYPOSANGLE}" "DUMMY1"
fi

cd ${DIR}

Verändert wurden folgende Zeilen :
-RESAMPLE N -COMBINE Y -IMAGEOUT_NAME ~/.theli/tmp/coadd.fits \
-WEIGHTOUT_NAME ~/.theli/tmp/coadd.weight.fits \

Neu eingefügt :
mv ~/.theli/tmp/coadd.fits .
mv ~/.theli/tmp/coadd.weight.fits .

Sollte eigentlich so universell einsetzbar sein. Egal ob mit nur einer Platte oder mehreren.

Thomas
Benutzeravatar
Knickohr
Moderator
 
Beiträge: 631
Registriert: Donnerstag 29. September 2011, 12:01
Wohnort: Blaustein

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon mischa » Freitag 4. November 2011, 12:43

-RESAMPLE N -COMBINE Y -IMAGEOUT_NAME ~/.theli/tmp/coadd.fits \
-WEIGHTOUT_NAME ~/.theli/tmp/coadd.weight.fits \


hi thomas,

ich wuerde die '~' durch den kompletten pfad ersetzen. manche shells loesen das nicht richtig auf,
da hatte ich mal probleme.

mischa
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon Knickohr » Freitag 4. November 2011, 13:01

Hi :-)

mischa hat geschrieben:ich wuerde die '~' durch den kompletten pfad ersetzen. manche shells loesen das nicht richtig auf,
da hatte ich mal probleme.

Upps ! Dann ist das Script aber von Haus aus nicht sauber :
USERDIR=~/.theli/scripts/

Das kommt nicht von mir :mrgreen:

OK, noch was vergessen. Den coadd.head sollte man auch mit temporär kopieren, da sonst die Imagegröße (und vermutlich noch so einiges) nicht mitgenommen wird. Hier das "neue" Script, das jetzt hoffentlich auch funktioniert :

Code: Alles auswählen
#!/bin/bash -xv

# the script coadds images with
# Emmanuels swarp program. It takes
# the resampled images created by
# resample_coadd_swarp_para.sh.
# So far it cannot be parallelised!
#
# Note that a coaddition with another header
# than that created by prepare_coadd_swarp.sh
# and later used by resample_coadd_swarp_para.sh
# leads to false results !!!

# 02.03.2004:
# The ending of the resampled FITS images is now
# "COADIDENT".resamp.fits instead of simply .resamp.fits
#
# 04.11.2011:
# placing coadd.fits and coadd.weight.fits temporarily
# in the tmp-folder to speed up the coadd-process

#$1: main dir.
#$2: science dir.

INSTDIR=instruments_professional
if [ ! -f ${INSTDIR}/${INSTRUMENT}.ini ]; then
    INSTDIR=instruments_commercial
fi
if [ ! -f ${INSTDIR}/${INSTRUMENT}.ini ]; then
    INSTDIR=~/.theli/instruments_user/
fi
. ${INSTDIR}/${INSTRUMENT:?}.ini

DIR=`pwd`

PSCALE=${PIXSCALE}
if [ ! "${V_COADD_PIXSCALE}_A" = "_A" ]; then
    PSCALE=${V_COADD_PIXSCALE}
fi


USERDIR=~/.theli/scripts/

if [ "${V_COADD_IDENT}_A" = "_A" ]; then
   V_COADD_IDENT="default"
fi

cd /$1/$2/coadd_${V_COADD_IDENT}

# cp ${USERDIR}/coadd.head .
cp ${USERDIR}/coadd.head ~/.theli/tmp/

# and simply go!!!


SWARPCONF=${DATACONF}/create_coadd_swarp2.swarp

${P_SWARP} -c ${SWARPCONF} \
    *.${V_COADD_IDENT}.resamp.fits \
    -RESAMPLE N -COMBINE Y -IMAGEOUT_NAME ~/.theli/tmp/coadd.fits \
    -PIXEL_SCALE ${PSCALE} \
    -WEIGHTOUT_NAME ~/.theli/tmp/coadd.weight.fits \
    -WEIGHT_TYPE MAP_WEIGHT \
    -CELESTIAL_TYPE ${V_COADD_CELESTIALTYPE} \
    -PROJECTION_TYPE ${V_COADD_PROJECTION} \
    -RESAMPLING_TYPE ${V_COADD_KERNEL} \
    -COMBINE_TYPE ${V_COADD_COMBINETYPE} \
    -NTHREADS ${NPARA} \
    -BLANK_BADPIXELS Y

mv ~/.theli/tmp/coadd.fits .
mv ~/.theli/tmp/coadd.weight.fits .
# rm coadd.head
rm ~/.theli/tmp/coadd.head

if [ ! "${V_COADD_SKYPOSANGLE}_A" = "_A" ]; then
    ${P_REPLACEKEY} coadd.fits "CROTA2  = ${V_COADD_SKYPOSANGLE}" "DUMMY1"
fi

cd ${DIR}

Ob das Script jemals den Weg in eine neue Theli-Release finden wird, sei mal dahin gestellt :wink:

Thomas
Benutzeravatar
Knickohr
Moderator
 
Beiträge: 631
Registriert: Donnerstag 29. September 2011, 12:01
Wohnort: Blaustein

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon moos » Freitag 4. November 2011, 13:24

Hi,
USERDIR=~/.theli/scripts/

Code: Alles auswählen
USERDIR=$HOME/.theli.scripts

sollte die Lösung sein.
Ciao Carsten
moos
 
Beiträge: 504
Registriert: Dienstag 18. Oktober 2011, 19:06

Re: Geschwindigkeitsoptimierung Coaddition: coadding images

Beitragvon mischa » Freitag 4. November 2011, 13:38

USERDIR=$HOME/.theli.scripts


ah, genau. $HOME hatte probleme gemacht, daher habe ich es durch ~ ersetzt. also genau anders rum.

mischa
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile


Zurück zu Arbeiten mit Theli

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste

cron