v2.9.0

Wichtige Updates, neue Theli-Versionen, Euer Wunschzettel für Theli

v2.9.0

Beitragvon mischa » Samstag 10. Mai 2014, 05:02

Hallo,

nach etwa einem halben Jahr gibt es mal wieder ein update. Fuer euch relevante Aenderungen:

  • Support fuer DSLR Kameras ohne Bayer-Matrix
  • Unter Scamp findet sich ein "Match WCS" Button. Den bitte ANLASSEN wenn ihr das gewohnte Scamp haben wollt. Fuer bestimmte Zwecke kann man das matching mit dem Referenzkatalog ausschalten, warum man das machen moechte werde ich hier jedoch nicht erlaeutern, das ginge zu weit. Warum man es NICHT ausschalten sollte laesst sich leicht sagen: keine gueltige Astrometrie, kein automatisches croppen der coaddierten Farbkanaele, keine automatische Farbkalibration, um nur ein paar zu nennen...
  • Color calibration: Theli berechnet jetzt automatisch sowohl SDSS, NOMAD als auch "average white" Korrekturfaktoren, und man kann dazwischen einfach hin- und herschalten. Wenn im default-Suchbereich im Farbindexraum keine Referenzsterne gefunden werden, wird der Suchbereich automatisch vergroessert bis hin zu einer Toleranz von 0.1 mag (entsprechend etwa 10% Flussaenderung). Darueber hinaus mach es keinen Sinn. Neu hinzugekommen ist uebrigens der UCAC4 Katalog, welcher ueber all-sky hinweg B,V,g,r, und i Magnituden bereitstellt, beruhend auf CCD Photometrie, allerdings nur bis zu einer Tiefe von etwa 16 mag. D.h. die Dichte ist kleiner, aber ihr koennt jetzt auch eure Milchstrassenfelder sauber kalibrieren. Den NOMAD habe ich zur Sicherheit noch drin behalten, falls es mal eng werden sollte. Darueber hinaus werden die G2-aehnlichen Sterne nun anhand folgender Farbindices ausgewaehlt: u-g, g-r und r-i fuer SDSS (vorher ohne r-i), B-V, g-r, r-i fuer UCAC4, und B-V, V-R fuer NOMAD (wie gehabt). Im Fall von SDSS und UCAC4 sollte das etwas zusaetzliche Sicherheit bringen.

Im Hinblick auf einen kuenftigen Port von Qt3 nach Qt5 habe ich angefangen, sozusagen als Fingeruebung einen Teil der zugrunde liegenden source Codes (nicht GUI-relevant) vollstaendig nach C++ zu portieren. Das betrifft im wesentlichen das 'fitstools' Paket, welches nun erheblich sauberer und strikt standardkonform geschrieben ist, so dass ich mich nicht mehr schaemen muss, den Quellcode herzuzeigen. Zu einem kleinen Teil erzwinge ich hier den C++11 Standard fuer das multi-threading (vulgo "parallelrechnen"), welcher ab gcc 4.4 implementiert ist. Das werde ich in Zukunft noch ausbauen, daher empfehle ich jedem, der noch mit aelteren compilern rumgurkt, diese dringenst upzudaten.

Um v2.9.0 kompilieren und nutzen zu koennen, muessen zuerst die folgenden Pakete nachinstalliert werden: CCfits und python-astropy. Unter ubuntu geschieht das am einfachsten wie folgt:

Code: Alles auswählen
sudo apt-get install python-astropy libccfits-dev


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

Re: v2.9.0

Beitragvon spiegelei » Sonntag 11. Mai 2014, 20:06

Hallo Mischa,

ich kriege folgenden Fehler:
Code: Alles auswählen
In file included from fitsfill.cc:4:0:
./include/statistics.h: In instantiation of ‘T median(const std::vector<T>&, long int, double) [with T = float]’:
fitsfill.cc:205:40:   required from here
./include/statistics.h:682:65: error: ‘select_central_fraction’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   select_central_fraction(data, dim, data_out, dim_out, fraction);
                                                                 ^
./include/statistics.h:700:6: note: ‘template<class T> void select_central_fraction(const std::vector<T>&, long int, std::vector<T>&, long int&, double)’ declared here, later in the translation unit
void select_central_fraction(vector<T> const &data, const long dim,
      ^
./include/statistics.h: In instantiation of ‘T rms_fraction(const std::vector<T>&, long int, T2) [with T = float; T2 = double]’:
fitsfill.cc:206:46:   required from here
./include/statistics.h:661:65: error: ‘select_central_fraction’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   select_central_fraction(data, dim, data_out, dim_out, fraction);
                                                                 ^
./include/statistics.h:700:6: note: ‘template<class T> void select_central_fraction(const std::vector<T>&, long int, std::vector<T>&, long int&, double)’ declared here, later in the translation unit
void select_central_fraction(vector<T> const &data, const long dim,
      ^
make: *** [fitsfill.o] Error 1


gcc:
Code: Alles auswählen
gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]


Gruesze,
Karsten
QHY8 - Atik 383 - AP80/560 - GSO RC 8" - LX50 8" SC - TSAPO65Q - Lodestar - CGEM - EQ5
Theli 1.9.5 - GUI 2.10.5 - OpenSUSE Leap 15/64 - Dual XEON 12K/24T - 32GB
Benutzeravatar
spiegelei
 
Beiträge: 79
Registriert: Donnerstag 29. September 2011, 15:15
Wohnort: Chemnitz

Re: v2.9.0

Beitragvon mischa » Montag 12. Mai 2014, 01:23

spiegelei hat geschrieben:Hallo Mischa,

ich kriege folgenden Fehler:
Code: Alles auswählen
In file included from fitsfill.cc:4:0:
./include/statistics.h: In instantiation of ‘T median(const std::vector<T>&, long int, double) [with T = float]’:
fitsfill.cc:205:40:   required from here
./include/statistics.h:682:65: error: ‘select_central_fraction’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   select_central_fraction(data, dim, data_out, dim_out, fraction);
                                                                 ^
./include/statistics.h:700:6: note: ‘template<class T> void select_central_fraction(const std::vector<T>&, long int, std::vector<T>&, long int&, double)’ declared here, later in the translation unit
void select_central_fraction(vector<T> const &data, const long dim,
      ^
./include/statistics.h: In instantiation of ‘T rms_fraction(const std::vector<T>&, long int, T2) [with T = float; T2 = double]’:
fitsfill.cc:206:46:   required from here
./include/statistics.h:661:65: error: ‘select_central_fraction’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   select_central_fraction(data, dim, data_out, dim_out, fraction);
                                                                 ^
./include/statistics.h:700:6: note: ‘template<class T> void select_central_fraction(const std::vector<T>&, long int, std::vector<T>&, long int&, double)’ declared here, later in the translation unit
void select_central_fraction(vector<T> const &data, const long dim,
      ^
make: *** [fitsfill.o] Error 1


gcc:
Code: Alles auswählen
gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]


Gruesze,
Karsten


Hi Karsten,

aha, interessant. Kannst du die datei 'fitstools-1.0/fitsfill.cc' mal komplett loeschen (wird eh nicht gebraucht, wollte ich beim naechsten mal rausnehmen) und dann nochmal 'make' unter 'fitstools-1.0' probieren?

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

Re: v2.9.0

Beitragvon spiegelei » Montag 12. Mai 2014, 17:46

Hallo,

ich habe jetzt mal folgende Dateien stillgelegt.
Code: Alles auswählen
fitsfill.cc  fitsguessgeom.cc  getpsf.cc  swarpfilter.cc


Danach geht das Procedere im Verzeichnis fftw weiter.

Code: Alles auswählen
make -C fftw
make[1]: Entering directory `/home/kmueller/Software/gui-2.9.0/packages/fitstools-1.0/fftw'
g++ -std=c++0x -fopenmp -Wall -Wextra -pedantic -O3 -I/usr/include/CCfits/ -I./include -I../include  -c -o fitsgauss.o fitsgauss.cc
make[1]: Leaving directory `/home/kmueller/Software/gui-2.9.0/packages/fitstools-1.0/fftw'
In file included from fitsgauss.cc:6:0:
../include/fitstools.h:163:34: warning: ‘auto_ptr’ is deprecated (declared at /usr/include/c++/4.8/backward/auto_ptr.h:87) [-Wdeprecated-declarations]
          int extnum, int n, int m);
                                  ^
fitsgauss.cc: In function ‘int main(int, char**)’:
fitsgauss.cc:81:18: error: ‘_SC_NPROCESSORS_ONLN’ was not declared in this scope
   ncpu = sysconf(_SC_NPROCESSORS_ONLN);
                  ^
fitsgauss.cc:81:38: error: ‘sysconf’ was not declared in this scope
   ncpu = sysconf(_SC_NPROCESSORS_ONLN);
                                      ^
make[1]: *** [fitsgauss.o] Fehler 1
make: *** [fftw] Fehler 2

*************************************************

ERROR while compiling fitstools.
Check the output for missing libraries.


Ich kann mir durchaus vorstellen, dass irgendwas im Basissystem nicht klappt, da CCfits und fitsio "from source" installiert werden mussten.

Ich probiere mal noch ein bisschen...

Gruesze,
Karsten
QHY8 - Atik 383 - AP80/560 - GSO RC 8" - LX50 8" SC - TSAPO65Q - Lodestar - CGEM - EQ5
Theli 1.9.5 - GUI 2.10.5 - OpenSUSE Leap 15/64 - Dual XEON 12K/24T - 32GB
Benutzeravatar
spiegelei
 
Beiträge: 79
Registriert: Donnerstag 29. September 2011, 15:15
Wohnort: Chemnitz

Re: v2.9.0

Beitragvon mischa » Montag 12. Mai 2014, 17:57

Hi Karsten,

das ist etwas seltsam. Ich konnte in 'fitsfill.cc' keinen Fehler entdecken, ebenso wenig wie in den anderen, welche du rausgenommen hast. Die Warnung bzgl. dem auto_ptr ist normal und kann ignoriert werden. Ich habe mit gcc v4.6.3 und saemtlichen Kompilerwarnungen angeschaltet keinerlei Probleme waehrend dem make-Prozess entdecken koennen.
Hat es jemand anders auch schon versucht?

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

Re: v2.9.0

Beitragvon spiegelei » Montag 12. Mai 2014, 18:06

Hallo Mischa,

ich habe jetzt mal im Makefile noch fftw auskommentiert (das ist schon im Grundsystem mit drin) und damit konnte ich dann einen vollständigen Compilerlauf durchführen.

Gruesze,
Karsten
QHY8 - Atik 383 - AP80/560 - GSO RC 8" - LX50 8" SC - TSAPO65Q - Lodestar - CGEM - EQ5
Theli 1.9.5 - GUI 2.10.5 - OpenSUSE Leap 15/64 - Dual XEON 12K/24T - 32GB
Benutzeravatar
spiegelei
 
Beiträge: 79
Registriert: Donnerstag 29. September 2011, 15:15
Wohnort: Chemnitz

Re: v2.9.0

Beitragvon mischa » Montag 12. Mai 2014, 20:01

spiegelei hat geschrieben:Hallo Mischa,

ich habe jetzt mal im Makefile noch fftw auskommentiert (das ist schon im Grundsystem mit drin) und damit konnte ich dann einen vollständigen Compilerlauf durchführen.

Gruesze,
Karsten


Hi Karsten,

kannst du mir dein makefile mal hier hochladen?

Danke,

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

Re: v2.9.0

Beitragvon spiegelei » Montag 12. Mai 2014, 20:16

Hallo Mischa,

anbei das Makefile aus .../packages/fitstools-1.0

Gruesze,
Karsten
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
QHY8 - Atik 383 - AP80/560 - GSO RC 8" - LX50 8" SC - TSAPO65Q - Lodestar - CGEM - EQ5
Theli 1.9.5 - GUI 2.10.5 - OpenSUSE Leap 15/64 - Dual XEON 12K/24T - 32GB
Benutzeravatar
spiegelei
 
Beiträge: 79
Registriert: Donnerstag 29. September 2011, 15:15
Wohnort: Chemnitz

Re: v2.9.0

Beitragvon Zyrusthc » Dienstag 13. Mai 2014, 01:12

Bei mir selbiges unter Mageia 4
Entpacke ich fitstools-1.0 und lösche :

fitsfill.cc
fitsguessgeom.cc
getpsf.cc
swarpfilter.cc

sowie ersetzte das Makefile unter .../packages/fitstools-1.0 was spiegelei gepostet hat und packe danach wieder fitstools-1.0
läufts fehlerfrei durch.

Lg Oli
Zyrusthc
 
Beiträge: 84
Registriert: Freitag 2. Mai 2014, 19:03
Wohnort: im Harz

Re: v2.9.0

Beitragvon Zyrusthc » Dienstag 13. Mai 2014, 11:44

Leider funktioniert es so nicht bei der coaddition meckert er "12192 qfits: error: no such file: 0.0"

Bei mir kommt standartmässig das wenn er fitstool bauen will.
Code: Alles auswählen
g++ -Wall -Wextra -pedantic -O3 -I/usr/include/CCfits -I./include  -c -o fitsfindblank.o fitsfindblank.cc
g++ -Wall -Wextra -pedantic -O3 -I/usr/include/CCfits -I./include  -c -o getpsf.o getpsf.cc
In file included from getpsf.cc:4:0:
./include/statistics.h: In Instanziierung von »T mean_iter(const std::vector<T>&, long int, float, int, double, std::string) [mit T = float; std::string = std::basic_string<char>]«:
getpsf.cc:139:50:   von hier erfordert
./include/statistics.h:166:34: Fehler: »rms« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
   sdev = rms(data, dim, threshold);
                                  ^
./include/statistics.h:350:3: Anmerkung: »template<class T> T rms(const std::vector<T>&, long int, double)« hier deklariert, später in Übersetzungseinheit
T rms(vector<T> const &data, const long dim, double threshold = -1.0E+12)
   ^
./include/statistics.h:187:34: Fehler: »rms« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
     sdev = rms(tmp2, j, threshold);
                                  ^
./include/statistics.h:350:3: Anmerkung: »template<class T> T rms(const std::vector<T>&, long int, double)« hier deklariert, später in Übersetzungseinheit
T rms(vector<T> const &data, const long dim, double threshold = -1.0E+12)
   ^
<builtin>: recipe for target 'getpsf.o' failed
make: *** [getpsf.o] Error 1
Zyrusthc
 
Beiträge: 84
Registriert: Freitag 2. Mai 2014, 19:03
Wohnort: im Harz

Re: v2.9.0

Beitragvon Zyrusthc » Dienstag 13. Mai 2014, 13:55

Konnte ich jetzt lösen

im fitstools-1.0/Makefile CXXFLAGS zusätzlich -fpermissive mitgeben.

Folgende Dateien #include<unistd.h> hinzugefügt.
fitstools-1.0/fftw/subsky.cc
fitstools-1.0/fftw/convolve.cc
fitstools-1.0/fftw/fitsgauss.cc
fitstools-1.0/fftw/xcorr.cc
fitstools-1.0/swarpfilter.cc


Lg Oli
Zyrusthc
 
Beiträge: 84
Registriert: Freitag 2. Mai 2014, 19:03
Wohnort: im Harz

Re: v2.9.0

Beitragvon mischa » Dienstag 13. Mai 2014, 14:31

Zyrusthc hat geschrieben:
im fitstools-1.0/Makefile CXXFLAGS zusätzlich -fpermissive mitgeben.

Folgende Dateien #include<unistd.h> hinzugefügt.
fitstools-1.0/fftw/subsky.cc
fitstools-1.0/fftw/convolve.cc
fitstools-1.0/fftw/fitsgauss.cc
fitstools-1.0/fftw/xcorr.cc
fitstools-1.0/swarpfilter.cc


Hi Oli,

danke fuer den Anhaltspunkt. Ich muss mal schauen was die neuesten compilerversionen hier eigentlich bemaengeln. Der Funktion overload anhand verschiedener Argumenttypen ist Standard, warum es hier Probleme gibt verstehe ich noch nicht.
In deinem anderen Post hast du einen Fehler bei der coaddition vermerkt, der sich auf "qfits" bezieht. Kannst du mir hier mal das logfile senden? Qfits habe ich naemlich aus den 'fitstools' komplett rausgeschmissen, das kann also nur von "swarp" stammen, ich wuerde aber gerne sicher gehen.

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

Re: v2.9.0

Beitragvon Zyrusthc » Dienstag 13. Mai 2014, 14:42

Der fehler bei der Coaddition war so ziemlich 1zu1 hiermit deswegen hatte ich da auch drunter gepostet.
viewtopic.php?f=37&t=421&p=3843

Mit den Änderungen die du gerade zitiert hast konnte ich die Probleme beim Bauen sowie bei der Coaddition beheben.

Lg Oli
Zyrusthc
 
Beiträge: 84
Registriert: Freitag 2. Mai 2014, 19:03
Wohnort: im Harz

Re: v2.9.0

Beitragvon mischa » Sonntag 18. Mai 2014, 04:39

Hallo,

nochmals vielen Dank an dieser Stelle fuer euer feedback. In gcc 4.7 und spaeteren Versionen wird die Unixlibrary unistd.h nicht mehr automatisch hinzugefuegt, um den namespace sauberzuhalten. Das wusste ich nicht. Der andere Fehler bzgl. dem 'argument-dependent lookup' war darauf zurueckzufuehren, dass ab gcc 4.7 saemtliche Funktionen, welche in einer template-Funktion verwendet werden, vorher deklariert werden muessen. War also alles sehr leicht zu beheben. Ich denke, dass ich morgen abend eurer Zeit die entsprechenden updates eingebunden habe und dann die 2.9.1 hochladen werde.

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


Zurück zu Updates und Wunschzettel

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron