Seite 1 von 1

Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Mittwoch 9. November 2011, 20:27
von Knickohr
Hallo zusammen,

das nächste Problem mit meinem Milchstraßenpanorama. Ich wollte eben mal ein Farbbild rausrechnen lassen. Das Coadd für jeden Kanal ist soweit OK, aber das "Prepare Color Picture" funktioniert nicht (mehr) :cry:

Ich kann das Programm zwar aufrufen und es erscheinen mir die 3 Coadds für die jeweilige Farbe in dem ersten Fenster, aber wenn ich dann auf "Get coadded images" drücke ist Schluß. Es blitzt in dem 2. Fenster noch mal kurz Blue.fits, Green.fits und Red.fits auf, verschwindet aber dann sofort wieder. Das Verzeichnis color_theli wird angelegt, ist aber leer, auch das Backup-Verzeichnis. Auf der Platte sind noch 400GB Platz.

Hier das Logfile :

Code: Alles auswählen
theli@theli:~/.theli/scripts$ more theli_getmaxoverlap.sh.log

qfits: error: pixio: cannot get number of extensions in Blue.fits


    \_/   **** fatal error in pid 7725
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.


./getmaxoverlap.sh: line 45:  7725 Aborted                 ${P_FITSCUT} -i ${file} -o ${BASE}_cropped.fits -x ${xlownew}
${xhighnew} ${ylownew} ${yhighnew}
qfits: error: pixio: cannot get number of extensions in Blue.weight.fits


    \_/   **** fatal error in pid 7726
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.


./getmaxoverlap.sh: line 45:  7726 Aborted                 ${P_FITSCUT} -i ${BASE}.weight.fits -o ${BASE}_cropped.weight.
fits -x ${xlownew} ${xhighnew} ${ylownew} ${yhighnew}
qfits: error: pixio: cannot get number of extensions in Green.fits


    \_/   **** fatal error in pid 7750
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.


./getmaxoverlap.sh: line 45:  7750 Aborted                 ${P_FITSCUT} -i ${file} -o ${BASE}_cropped.fits -x ${xlownew}
${xhighnew} ${ylownew} ${yhighnew}
qfits: error: pixio: cannot get number of extensions in Green.weight.fits


    \_/   **** fatal error in pid 7751
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.


./getmaxoverlap.sh: line 45:  7751 Aborted                 ${P_FITSCUT} -i ${BASE}.weight.fits -o ${BASE}_cropped.weight.
fits -x ${xlownew} ${xhighnew} ${ylownew} ${yhighnew}
qfits: error: pixio: cannot get number of extensions in Red.fits


    \_/   **** fatal error in pid 7775
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.


./getmaxoverlap.sh: line 45:  7775 Aborted                 ${P_FITSCUT} -i ${file} -o ${BASE}_cropped.fits -x ${xlownew}
${xhighnew} ${ylownew} ${yhighnew}
qfits: error: pixio: cannot get number of extensions in Red.weight.fits


    \_/   **** fatal error in pid 7776
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.


./getmaxoverlap.sh: line 45:  7776 Aborted                 ${P_FITSCUT} -i ${BASE}.weight.fits -o ${BASE}_cropped.weight.
fits -x ${xlownew} ${xhighnew} ${ylownew} ${yhighnew}

und die beiden Scripts :

Code: Alles auswählen
theli@theli:~/.theli/scripts$ more theli_getmaxoverlap.sh

#!/bin/bash

# ******************************************
# *****  Created on the fly by THELI   *****
# ******************************************

export INSTRUMENT=CanonEOS450DaRAW@35mm
cd /home/theli/.theli/scripts/

. progs.ini

{
./getmaxoverlap.sh
} > /home/theli/.theli/scripts/theli_getmaxoverlap.sh.log 2>&1


echo THELIMESSAGE: finished

Code: Alles auswählen
theli@theli:~/.theli/scripts$ more getmaxoverlap.sh

#!/bin/bash

# ******************************************
# ***** Create color image: maxoverlap *****
# *****        created by THELI        *****
# ******************************************

cd /home/theli/THELI/theli//gui/scripts/

. progs.ini

. bash.include

cd /home/theli/THELI/Daten/Alle/color_theli/

${P_DFITS} Blue.fits Green.fits Red.fits  | ${P_FITSORT} CRPIX1 CRPIX2 NAXIS1 NAXIS2 \
| ${P_GAWK} '($1 !~ /FILE/) {print $2, $3, $4, $5}' > tmp_$$

xlow=`${P_GAWK} 'BEGIN {min = 1000000} {if ($1<min) min = $1} END {print (-1)*min}' tmp_$$`
ylow=`${P_GAWK} 'BEGIN {min = 1000000} {if ($2<min) min = $2} END {print (-1)*min}' tmp_$$`
xhigh=`${P_GAWK} 'BEGIN {min = 1000000} {if (($3-$1)<min) min = $3-$1} END {print min}' tmp_$$`
yhigh=`${P_GAWK} 'BEGIN {min = 1000000} {if (($4-$2)<min) min = $4-$2} END {print min}' tmp_$$`

ls -1 Blue.fits Green.fits Red.fits  > tmp_$$
cat tmp_$$ |\
{
    while read file
    do
      crpix1=`get_key ${file} CRPIX1`
      crpix2=`get_key ${file} CRPIX2`
      BASE=`basename ${file} .fits`
      xlownew=`echo ${xlow} ${crpix1} | ${P_GAWK} '{print $2+$1+1}'`
      ylownew=`echo ${ylow} ${crpix2} | ${P_GAWK} '{print $2+$1+1}'`
      xhighnew=`echo ${xhigh} ${crpix1} | ${P_GAWK} '{print $2+$1}'`
      yhighnew=`echo ${yhigh} ${crpix2} | ${P_GAWK} '{print $2+$1}'`
      ${P_FITSCUT} -i ${file} -o ${BASE}_cropped.fits \
               -x ${xlownew} ${xhighnew} ${ylownew} ${yhighnew}
      if [ -f ${BASE}.weight.fits ]; then
         ${P_FITSCUT} -i ${BASE}.weight.fits -o ${BASE}_cropped.weight.fits \
                  -x ${xlownew} ${xhighnew} ${ylownew} ${yhighnew}
         rm ${BASE}.weight.fits
      fi
      rm ${file}
    done
}

\rm tmp_$$


Hülfääää !

Thomas

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Freitag 11. November 2011, 09:11
von Knickohr
Aaalsooo,

es liegt irgendwie an der Größe. Weiß jetzt nicht, ob es die Pixel sind, oder die Dateigröße. Wenn ich das Bild mit 30.000x10.000 Pixel (1,3GB) raus rechne, dann funktioniert auch das "Prepare color picture" wieder, ebenso das "Outlier rejection".

Da muß wohl noch was nachgebessert werden ;-) Wäre schade, wenn deswegen das Projekt Milchstraßenpanorama eingefroren wird.

Thomas

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Freitag 11. November 2011, 14:11
von TorstenK
Hi Thomas,

woran es konkret liegt, kann ich nicht sagen, aber das Problem kommt mir trotzdem aus eigenen Projekten bekannt vor. Letzlich liegt es meistens an der Verwendung des Types "int". Der bleibt trotz 64-Bit-Compilierung 32 Bit und dann ist eben bei 2GB Schluss.

mfg
Torsten

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Freitag 11. November 2011, 21:12
von Knickohr
Hallo,

hab ein bißchen experimentiert. Es scheint wirklich die Dateigröße zu sein. Überschreite ich die 2GB nur knapp, so gibts kein Farbbild mehr, bleibe ich etwas darunter, klappt es wieder.

"Outlier rejection" steigt schon früher aus, da muß die Grenze irgendwo zwischen 1,1 und 1,3GB liegen. Ich glaube aber, da spielt noch was anderes eine Rolle. Da kommt eine Fehlermeldung mit "xmemory" wieder. Vielleicht muß man die Pointers noch etwas erhöhen. Die stehen bei mir aber schon auf 100.000.

Thomas

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Samstag 12. November 2011, 09:27
von Knickohr
Knickohr hat geschrieben:"Outlier rejection" steigt schon früher aus, da muß die Grenze irgendwo zwischen 1,1 und 1,3GB liegen. Ich glaube aber, da spielt noch was anderes eine Rolle. Da kommt eine Fehlermeldung mit "xmemory" wieder. Vielleicht muß man die Pointers noch etwas erhöhen. Die stehen bei mir aber schon auf 100.000.

Das waren wieder die Pointers :shock:

Hab sie jetzt auf 250.000 gesetzt und das "Outlier rejection" funktioniert wieder. Zumindest für Dateien knapp 2GB Größe.

OK, wieder zurück zum Thema. Jetzt müssen wir nur noch die 2GB-Grenze (oder was es auch immer ist) in den Griff bekommen. Wäre schade, wenn deswegen das Panorama nur ein netter Versuch war. Momentan muß ich halt alles um 15% verkleinern :?

Thomas

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Samstag 12. November 2011, 13:05
von TorstenK
Jetzt müssen wir nur noch die 2GB-Grenze (oder was es auch immer ist) in den Griff bekommen.

Hm, da bin ich etwas skeptisch. Schon nach einem kurzen Blick in die Sourcen sehe ich an diversen Stellen das 2GB-Problem. :shock:

Bin gespannt, was Mischa dazu sagt.

mfg
Torsten

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Montag 14. November 2011, 13:50
von mischa
Schon nach einem kurzen Blick in die Sourcen sehe ich an diversen Stellen das 2GB-Problem.


Hi Torsten,

kannst du etwas spezifischer sein? Ich vermute du meinst die qfits Bibliothek?

mischa

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Montag 14. November 2011, 15:53
von TorstenK
Hi Mischa,

ja, ich meine qfits. Da deutet ja auch die Fehlermeldung hin. Denkst du, daß das die einzige Problemstelle ist? Qfits ist ja nicht so umfangreich, da könnte man durchaus über eine Anpassung nachdenken.

mfg
Torsten

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Montag 14. November 2011, 20:03
von mischa
da könnte man durchaus über eine Anpassung nachdenken.


also im prinzip 'int' durch 'long' ersetzen?

mischa

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Montag 14. November 2011, 20:40
von TorstenK
mischa hat geschrieben:also im prinzip 'int' durch 'long' ersetzen?

Ja, für Linux sollte das reichen. Unter Windows 64 ist "long" allerdings auch nur 32 bit. Eine Übersicht zu den verschiedenen Datenmodellen gibt's hier:

http://en.wikipedia.org/wiki/64-bit#64-bit_data_models

Die zu allem kompatible Lösung wäre, einen eigenen Typ zur definieren und dem im Headerfile jeweils das passende zuzuweisen.

mfg
Torsten

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Sonntag 25. Dezember 2011, 09:31
von mischa
TorstenK hat geschrieben:
mischa hat geschrieben:also im prinzip 'int' durch 'long' ersetzen?

Ja, für Linux sollte das reichen. Unter Windows 64 ist "long" allerdings auch nur 32 bit. Eine Übersicht zu den verschiedenen Datenmodellen gibt's hier:

http://en.wikipedia.org/wiki/64-bit#64-bit_data_models

Die zu allem kompatible Lösung wäre, einen eigenen Typ zur definieren und dem im Headerfile jeweils das passende zuzuweisen.

mfg
Torsten


ich hab mal in den qfits quellcode reingeschaut. das duerfte auf den ersten blick im prinzip kein problem sein, allerdings sind die aenderungen umfangreich und tiefgreifend. dazu habe ich leider keine zeit. wenn du moechtest, probier dich selbst daran!

lg

mischa

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Donnerstag 19. April 2012, 17:08
von Knickohr
*grrrr* !

Ich muß den Beitrag wieder hervorkramen :

Code: Alles auswählen
more ~/.theli/scripts/theli_getmaxoverlap.sh.log
error: cannot create image with size [41850x12800]


    \_/   **** fatal error in pid 11265
   '-0-'  **** segmentation fault or bus error
   --0--
   .-0-.

Bin jetzt unter der 2GB-Größe (2142728640 Bytes) geblieben und trotzdem mag Theli nicht mehr :cry:

Offensichtlich spielt die Bildbreite auch eine Rolle, da es ja bei anderen Einstellungen mit 2145009600 Bytes funktioniert.

Ich wüßte halt gerne, wo die Grenzen sind.

(1 Woche Arbeit wieder für die Katz :-( )

mischa, kann man das Logfile bei einem Fehler beim "Prepare Color Picture" anzeigen lassen ? Dann muß ich nicht immer danach wühlen ;-)

Thomas

Re: Prepare Color Pictures funktioniert nicht

BeitragVerfasst: Dienstag 24. April 2012, 12:25
von Knickohr
Ahaaa !

Da ist die "neue" Grenze :

40.000 Pixel breit und hoch, mehr geht nicht. Wobei 40.000x40.000 auch nicht mehr geht, da wir sonst über die 2GB-Grenze kommen, die bei 2.147.483.648 Byte liegt.

Also max. Breite 40.000 Pixel
max. Höhe auch 40.000 Pixel
aber das File kleiner als 2.147.483.648 Byte !

Damit kann ich gerade noch leben. Optimal ist es nicht, aber gerade noch akzeptabel für ein 35mm Objektiv bei APC-Format-Chips.

Irgendwann sollte diese Beschränkung auch mal aufgebrochen werden ;)

Thomas