Bug Report Theli v3

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

Re: nikon .nef Dateien werden nicht gefunden

Beitragvon mischa » Sonntag 10. Mai 2020, 19:49

eisentpferd hat geschrieben:Hallo Mischa, hallo zusammen.
erstmal danke für das spannende Theli3. Läuft schonmal sehr schön.
Ich habe geschafft (mit Hilfe eines Kumpels) Theli3 auf einem Ubuntu 20.4 ans laufen zu bekommen.

Heute habe ich nochmal ein neues Build compiliert und jetzt stürzte das RGB Tool auch nicht mehr ab.

Aber nach dem Zurücksetzen auf Anfang findet Theli jetzt keine Dateien mehr. Es liegen nur Nikon .nef Dateien in den Ordnern. Ist da mit dem neuen Build die Erkennung von .nef Dateien verloren gegangen oder habe ich etwas anderes verbogen?

Gruß /Hendrik/


Hi Hendrik,

.NEF kenne ich nicht. Ist das ein gaengiges RAW Format? Kannst du mir mal eines der Rohbilder hochladen, z.b. auf dropbox.com dann schau ich mir das schnell an. Hier im Fiorum ist die Datei wahrscheinlich zu gross.
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Bug Report Theli v3

Beitragvon eisentpferd » Sonntag 10. Mai 2020, 20:16

Hallo Mischa,

ich hab mal ein paar Bilder in eine Nikon cloud gelegt. http://img.gg/I9GD9kz
Ansonsten hätte ich noch onedrive zum freigeben...
.nef ist das Raw Format von Nikon. Als für die "normale" fotografie ist das gängig :-)

Ich bin nicht sicher ob man dafür libraw braucht. Ich hatte das nachinstalliert um im camera-setup ein raw laden zu können, aber das war nur ein Bedienfehler. Ich weiß also nicht ob es ohne geht...

Ich hab Theli2 ja jetzt schon eine Weile in Betrieb. War nie ein Problem mit den .nef Dateien.
Jetzt heute hatte ich plötzlich des Problem dass er keine der Dateien mehr findet.

/Hendrik/
eisentpferd
 
Beiträge: 46
Registriert: Sonntag 12. Januar 2020, 21:14

Re: Bug Report Theli v3

Beitragvon spiegelei » Sonntag 10. Mai 2020, 21:19

Hi Mischa,
mischa hat geschrieben:
spiegelei hat geschrieben:wenn ich das mache bekomm ich das hier als ausgabe:

(<Longitude 56.75 deg>, <Latitude 24.11666667 deg>)

ich kann gerne auf HH:MM:SS umschalten, ist kein grosser aufwand.


Eigenartig, bei mir stand dann 1d23m45,67s oder so ähnlich, für RA und DEC. Das ist irgendwie vertrauter als das Dezimalformat.
Gruß
Karsten
Atik 383 - AP80/560 - GSO RC 8" - LX50 8" SC - TSAPO65Q - CGEM
Theli 3 - SUSE Leap 15.1/64 - Dual XEON 12K/24T - 32GB
Die meisten großen Erfindungen beginnen nicht mit "HEUREKA" sondern mit "Das ist aber komisch....."
Benutzeravatar
spiegelei
 
Beiträge: 197
Registriert: Donnerstag 29. September 2011, 15:15
Wohnort: Chemnitz

Re: Bug Report Theli v3

Beitragvon mischa » Montag 11. Mai 2020, 07:42

spiegelei hat geschrieben:Eigenartig, bei mir stand dann 1d23m45,67s oder so ähnlich, für RA und DEC. Das ist irgendwie vertrauter als das Dezimalformat.


Das muss mit deiner Version von astropy zu tun haben. Ich werde das auf 'hhmmss' umstellen.

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

Re: Bug Report Theli v3

Beitragvon dietmar » Montag 18. Mai 2020, 15:10

Moin Mischa,

in einem anderen Thread haben wir festgestellt, dass in meinen coaddierten Bildern EXPTIME falsch und TEXPTIME überhaupt nicht vorhanden ist.
Ich hab' diesbezüglich mal ein bischen nachgeforscht.

Im Slot Controller::coaddUpdate() springst Du raus ohne den FITS-Header zu schreiben, wenn die pixelscale > 2 oder der Radius > 0.5 ist.
Soll das so sein?
Bei kurzen Brennweiten kommt eine Pixelscale > 2 schon mal vor :wink:

Und dabei ist mir noch aufgefallen, dass SwarpWorker::swarpType ein QString ist. Warum? Ein enum ist schneller als ein Stringvergleich und im Falle eines Tippfehlers (was ja vorkommen soll) schimpft der Compiler.

Gruß
Dietmar
dietmar
 
Beiträge: 151
Registriert: Montag 24. Februar 2014, 11:41
Wohnort: Hilden (in der Lichtglocke von Düsseldorf)

Re: Bug Report Theli v3

Beitragvon mischa » Montag 18. Mai 2020, 16:21

Hi Dietmar,

dietmar hat geschrieben:Im Slot Controller::coaddUpdate() springst Du raus ohne den FITS-Header zu schreiben, wenn die pixelscale > 2 oder der Radius > 0.5 ist.
Soll das so sein?
Bei kurzen Brennweiten kommt eine Pixelscale > 2 schon mal vor :wink:


Genau hinschauen: ich springe raus, ohne eine Bildqualitaet zu messen:
Code: Alles auswählen
// Skip IQ analysis for very large data sets


Der FITS header ist zu dieser Zeit schon lange geschrieben und wird nur aktualisiert.

Und dabei ist mir noch aufgefallen, dass SwarpWorker::swarpType ein QString ist. Warum? Ein enum ist schneller als ein Stringvergleich und im Falle eines Tippfehlers (was ja vorkommen soll) schimpft der Compiler.


Du hast recht, aber so war es schneller hingeschrieben. Und der Vergleich wird nur ein paar mal gemacht, bei einer GHz CPU von nicht messbarer Relevanz.
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Bug Report Theli v3

Beitragvon dietmar » Montag 18. Mai 2020, 16:41

Moin Mischa,

mischa hat geschrieben:Der FITS header ist zu dieser Zeit schon lange geschrieben und wird nur aktualisiert.

Wenn dem so ist, warum ist dass keine TEXPTIME in meinen FITS-Headern?
Im ganzen Code wird TEXPTIME nur an dieser einen Stelle geschrieben: https://github.com/schirmermischa/THELI/blob/master/src/processingInternal/processingCoadd.cc#L1078
Und die wird ja nicht erreicht wenn die Pixelscale > 2 ist.

Wenn Du sagst:
Code: Alles auswählen
find . -name '*.cc' -exec grep -Hn TEXPTIME '{}' \;
kriegst Du genau 2 Treffer und einer davon ist 'n Kommentar.

Gruß
Dietmar
dietmar
 
Beiträge: 151
Registriert: Montag 24. Februar 2014, 11:41
Wohnort: Hilden (in der Lichtglocke von Düsseldorf)

Re: Bug Report Theli v3

Beitragvon mischa » Montag 18. Mai 2020, 17:12

Ja, da hast du recht, das hab ich uebersehen, danke. Ich hatte vor kurzem die IQ Analayse wieder rausgenommen, weil der download der entsprechenden Kataloge ewig dauert, wenn das Bildfeld sehr gross wird. Dass danach noch header keywords aktualisiert werden, hatte ich uebersehen. Toll dass du so fleissig nachschaust!
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Bug Report Theli v3

Beitragvon dietmar » Montag 18. Mai 2020, 17:30

mischa hat geschrieben:Ja, da hast du recht, das hab ich uebersehen, danke. Ich hatte vor kurzem die IQ Analayse wieder rausgenommen, weil der download der entsprechenden Kataloge ewig dauert, wenn das Bildfeld sehr gross wird. Dass danach noch header keywords aktualisiert werden, hatte ich uebersehen.

Wäre das geklärt.
mischa hat geschrieben:Toll dass du so fleissig nachschaust!

Ich will ja auch, dass es funxioniert :)

Dietmar
dietmar
 
Beiträge: 151
Registriert: Montag 24. Februar 2014, 11:41
Wohnort: Hilden (in der Lichtglocke von Düsseldorf)

Re: Bug Report Theli v3

Beitragvon mischa » Montag 18. Mai 2020, 19:34

Code: Alles auswählen
Ich will ja auch, dass es funxioniert


Inwieweit kennst du dich mit der Qt5 library aus? Ich meine das generelle memory Problem dahin eingegrenzt zu haben, dass Qt5 shallow copies macht, wenn man ein Vektorelement mit "operator[ ]" ausliest. Die shallow copies werden dann zu fast beliebigen spaeteren Zeiten zu deep copies. Ich hab jetzt schon laenger mit einem anderen Zugriffsverfahren experimentiert und Dinge konsequent als 'const' deklariert, aber das scheint auch nicht zu helfen. Ich denke da muss ich wohl ueber 30000 Zeilen code drueber gehen und das alles konsequent austauschen, und selbst dann ohne Garantie auf Erfolg. Bin grad etwas planlos deshalb, weil eigentlich alles so ausgelegt ist, dass es selbst mit nur 1 GB RAM noch gut laufen sollte.
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Bug Report Theli v3

Beitragvon dietmar » Montag 18. Mai 2020, 19:53

mischa hat geschrieben:Inwieweit kennst du dich mit der Qt5 library aus?

Mein letztes Qt war Qt4 und das ist schon eine Weile her.

mischa hat geschrieben:Ich meine das generelle memory Problem dahin eingegrenzt zu haben, dass Qt5 shallow copies macht, wenn man ein Vektorelement mit "operator[ ]" ausliest. Die shallow copies werden dann zu fast beliebigen spaeteren Zeiten zu deep copies.

Ob das deep- oder shallow-copies sind obliegt dem copy--constructor dessen das Du in den Vector packst. Dass shallow-copies zu einem beliebigen Zeitpunkt zu deep-copies werden, kann eigentlich gar nicht sein.

Passiert das denn auch, wenn Du statt einem QVector einen std::vector benutzt?
Das kannst Du ja exemplarisch mal an einer Stelle ändern und gucken was passiert.

Dietmar
dietmar
 
Beiträge: 151
Registriert: Montag 24. Februar 2014, 11:41
Wohnort: Hilden (in der Lichtglocke von Düsseldorf)

Re: Bug Report Theli v3

Beitragvon mischa » Montag 18. Mai 2020, 20:24

Das kann ich an einer Stelle lokal nicht mit einem std:.vector testen. Das Datenmodell zieht sich durch den gesamten Code, das waere eine sehr aufwaendige Operation.

Das mit der shallow copy stimmt schon so, bzw ich hab mich nicht genau genug ausgedrueckt. Qt5 benutzt implicit sharing und copy-on-write. Wenn man eine Kopie eines Containers macht, benutzen beide die gleichen Daten im Speicher. Erst wenn man eine der beiden veraendert, wird eine echte Kopie im Speicher angelegt. Ob das in qt4 auch schon so war, weiss ich nicht.

Na egal, ich werd's irgendwann rausfinden :-)
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Bug Report Theli v3

Beitragvon dietmar » Dienstag 19. Mai 2020, 11:49

Moin Mischa,

wollte eigentliche Gestern schon antworten, aber den Rechner hatt' ich schon runtergefahren und auf dem Telefon macht das keinen Spaß (ist mit schleierhaft, wie die Kiddies das machen :) ).

Du bastelst offenbar daran herum, dass der Prozess sich aufbläht (Glückwunsch zur Einweihung meiner Swap-Partition :wink: ).

Wenn ich wüsste wonach ich im Code suchen soll (was für ein Vektor, wo wird er gefüllt und womit, wo wird er gelesen) könnte ich mir das mal angucken. Vielleicht seh' ich was, was Du nicht siehst. Bei eigenem Code ist man manchmal etwas betriebsblind.

Dietmar
dietmar
 
Beiträge: 151
Registriert: Montag 24. Februar 2014, 11:41
Wohnort: Hilden (in der Lichtglocke von Düsseldorf)

Re: Bug Report Theli v3

Beitragvon mischa » Dienstag 19. Mai 2020, 14:10

Der Vektor heisst "dataCurrent". ich deklariere gerade pointer und entsprechenden klassen als 'const' soweit es geht, und ersetze zum Beispiel
Code: Alles auswählen
dataCurrent[i]
durch
Code: Alles auswählen
dataCurrent.at(i)
.

Das wird noch ein paar Tage dauern, da es auch andere Datenstrukturen betrifft. Erst dann werde ich wissen, ob es was gebracht hat.
mischa
Moderator
 
Beiträge: 1266
Registriert: Freitag 7. Oktober 2011, 14:07
Wohnort: Chile

Re: Bug Report Theli v3

Beitragvon dietmar » Dienstag 19. Mai 2020, 15:41

Moin Mischa,

ich glaube nicht, dass Du auf der richtigen Spur bist.
Ein dataCurrent gibt es in Splitter und MyImage, beide sind Vektoren aus float, also einem elementaren Datentyp, da gibt es keinen Unterschied zwischen deep-copy und shallow-copy.
An welcher Stelle tritt das Problem denn auf?

Dietmar
dietmar
 
Beiträge: 151
Registriert: Montag 24. Februar 2014, 11:41
Wohnort: Hilden (in der Lichtglocke von Düsseldorf)

VorherigeNächste

Zurück zu Wunschzettel und Feedback

Wer ist online?

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

cron