SonyUserforum
Amazon
Forum für die Fotosysteme von Sony und KonicaMinolta
  SonyUserforum - Forum für die Fotosysteme
von Sony und KonicaMinolta
 
Registrieren Rund ums Bild Galerie Objektiv-Datenbank Kalender Forenregeln Nützliches

Startseite » Forenübersicht » Kreativbereich » Nach der Aufnahme » 5 Minuten Belichtungszeit mit Dynax 7D
Antwort
 
Themen-Optionen Ansicht
Alt 26.12.2006, 14:30   #31
eiq
 
 
Registriert seit: 18.08.2005
Beiträge: 2.604
Hallo zusammen!

Ein sehr interessanter Thread.
Ich habe das Programm gestern Abend testweise mal in C nachprogrammiert - läuft hervorragend. Auf einem CoreDuo mit 1,8GHz benötigt es weniger als 5 Sekunden, wobei man das Programm sicherlich noch verbessern kann.

Da ich sehr gerne Langzeitbelichtungen mache und mich bisher immer über die heißen Stellen innerhalb der D7D geärgert habe, freue ich mich natürlich sehr darüber, daß man das Problem so leicht beheben kann.
Bei einer 10-minütigen Belichtung bei Zimmertemperatur (ISO 200) ist das Ergebnis zwar immernoch ziemlich 'bunt', aber im Vergleich mit dem Original ist es dennoch eine unglaubliche Verbesserung.

Interessant ist es auch, wenn man einfach zwei unterschiedliche Bilder voneinander abzieht.

Vielen Dank an Stuessi für diese sehr nützliche Idee!

Gruß, eiq

PS: Ich werde meinen Code noch etwas optimieren und versuchen, ihn im Laufe des Tages hier einzustellen.
eiq ist offline   Mit Zitat antworten
Sponsored Links
Alt 28.12.2006, 00:14   #32
Stuessi

Themenersteller
 
 
Registriert seit: 17.05.2005
Ort: in der Nähe von Köln
Beiträge: 2.042
Hallo eiq,

auf das Programm in C freue ich mich schon.
Mein Programm in COMAL habe ich leicht verbessert durch folgende Zeilen:

0010 // save "RAW-RAW7"
0020 // Programm von : "Stuessi"
0030 // Datum : 27.12.2006
0101 gemerkt1#:=255
0102 gemerkt2#:=255
.......
......
.......
0700 IF wertfile2pix1#>2047 THEN
0701 IF wertfile3pix1#=0 THEN wertfile3pix1#:=gemerkt1#
0702 ENDIF
0703 IF wertfile2pix2#>2047 THEN
0704 IF wertfile3pix2#=0 THEN wertfile3pix2#:=gemerkt2#
0705 ENDIF
0706 gemerkt1#:=wertfile3pix1#
0707 gemerkt2#:=wertfile3pix2#
So werden einige "Löcher" durch (gleichfarbige linke) Nachbarwerte überschrieben.
Besser wäre eine Mittelung aus der Umgebung, in COMAL (DOS-Ebene!) bekomme ich aber nicht alle 6056128 Werte in ein 2-dim. Feld.
Eine weitere Verbesserung habe ich aber erzielt, indem ich nicht ein einzelnes Dunkelbild abziehe, sondern eines, das aus mehreren, gemacht mit gleichen Belichtungszeiten unter gleichen Temperaturverhältnissen, gemittelt wurde. Im Beispiel habe ich 5 Dunkelbilder zu je 5 Minuten genommen.


Gruß,
Stuessi
Stuessi ist offline   Mit Zitat antworten
Alt 28.12.2006, 00:39   #33
eiq
 
 
Registriert seit: 18.08.2005
Beiträge: 2.604
Ah, ich wusste, dass ich etwas vergessen hab.

Werde mich gleich mal ransetzen und meinen Code aufräumen und vielleicht noch die Verbesserungen übernehmen. Das mit den benachbarten Pixel hatte ich mir auch überlegt, mal schaun in wie weit das realisierbar ist. Ich probiere ich es mal fensterbasiert, da man ja eigentlich nur die Umgebung des Pixels braucht.
Zur Not hab ich noch eine C-Bibliothek zur Arbeit mit Genomdaten, da kann man mehrere Gigabyte einlesen.

Gruß, eiq
eiq ist offline   Mit Zitat antworten
Alt 28.12.2006, 02:58   #34
eiq
 
 
Registriert seit: 18.08.2005
Beiträge: 2.604
So... hier gibt es den Quelltext des kleinen C-Progrämmchens und hier gibt es eine für Intel-Macs vorkompilierte Version.

Das Programm wird ohne Parameter aufgerufen, nach den beiden RAW-Dateinamen wird gefragt. Die neue RAW-Datei wird derzeit noch als _altesraw.MRW abgespeichert - es kommt also nur ein Unterstrich vor den Dateinamen. Das werde ich noch ändern.
Wenn die Dateinamen der RAW-Dateien den Standardnamen der D7D entsprechen (PICT1234.MRW), kann man sowohl PICT1234 als auch (Shift/Capslock-schonend) pict1234 eingeben. Die Endung wird ergänzt, wenn sie fehlt.
Selbst kreierte Dateinamen müssen mit korrekter Groß/Kleinschreibung eingegeben werden (die Endung wird auch hier bei Bedarf ergänzt).

Das Mappen der 'Löcher' habe ich noch weggelassen, da ich mir da noch ein paar Gedanken zu machen muss.

Gute Nacht,

eiq

Edit: Es war bis grad eben noch ein kleiner Copy&Paste Fehler im Quelltext - wer er also bereits runtergeladen hat, sollte entweder neu runterladen oder in Zeile 65 raw in darkframe ändern.

Edit II: Ich hab mal noch eine kleine Fortschrittsanzeige eingebaut, auch wenn man die auf einem annehmbar schnellen Rechner nicht lange sieht.

Edit III: (Wie oft darf man editieren? ) Jetzt kann der Name der Ausgabedatei frei gewählt werden und die Dateigröße ist nicht mehr hard-coded sondern wird aus der Datei gelesen (in der Hoffnung, dass die Größe bei anderen Formaten an derselben Position steht).
eiq ist offline   Mit Zitat antworten
Alt 29.12.2006, 00:33   #35
Stuessi

Themenersteller
 
 
Registriert seit: 17.05.2005
Ort: in der Nähe von Köln
Beiträge: 2.042
Hallo eiq,
ich bin beeindruckt, Dein Programm liest sich sehr gut! Leider kann ich es nicht laufen lassen, da ich keinen C-Compiler habe.
Meine oben angeschnittenen Gedanken möchte ich deshalb mit COMAL Zeilen erläutern, wo so große Felder leider nicht erlaubt sind.

Zunächst werden drei Felder deklariert für die drei RAW-Daten.

0090 DIM feld1#(-4:3011,-4:2003) //Original
0091 DIM feld2#(-4:3011,-4:2003) // Dunkelbild (evtl Mittelwert von mehreren Dunkelbildern)
0092 DIM feld3#(-4:3011,-4:2003) // Ergebnis

Es folgt das Lesen der Daten für file 1 und file 2 in der Art

0440 FOR y#:= -4 TO 2003 DO
0450 FOR x#:=-4 TO 3011 STEP 2 DO
0460 // step 2, da 3 Byte fuer 2 Pixel gelesen werden
0550 dwert1$:=""; dwert2$:=""
0560 FOR k:=1 TO 3 DO
0570 a$:=GET$(1,1)
0580 IF a$="" THEN a$:=CHR$(0)
0600 dwert1$:=dwert1$+a$
0610 ENDFOR k
0630 // aus drei 8-Bit-Werten werden zwei 12-bit-werte
0650 drei8_in_zwei12(dwert1$,wertfile1pix1#,wertfile1pi x2#)
0700 feld1#(x#,y#):=wertfile1pix1#
0710 feld1#(x#+1,y#):=wertfile1pix2#
0730 ENDIF
0740 ENDIF
0770 ENDFOR x#
0780 ENDFOR y#

Dann wird Feld 3 erzeugt durch Subtraktion.
Wegen der Organisation der Pixel auf dem Chip (x nach rechts, y nach unten, Startwerte jeweils -4)

rgrgrgrgrgrgrg
gbgbgbgbgbgb
rgrgrgrgrgrgrg
gbgbgbgbgbgb
rgrgrgrgrgrgrg
gbgbgbgbgbgb

müssen dann im Bereich 0<=x<=3007(***); 0<=y<=1999 "Löcher" im File 3 gesucht werden und durch Interpolation ersetzt werden.
Für BLAU (wenn x ungerade und y ungerade)
und für ROT (Wenn x gerade und y= gerade)
könnte man Mittelwerte von den Positionen x-2 und x+2 und y-2 und y+2 bilden.
Für die übrig bleibenden GRÜNen Pixel Mittelwerte aus den 4 umgebenden grünen Pixeln bei x+/-1, y+/-1.

Gruß,
Stuessi

(***) Wert korrigiert
Stuessi ist offline   Mit Zitat antworten
Sponsored Links
Alt 29.12.2006, 14:18   #36
Stephan Stoske
 
 
Registriert seit: 10.04.2004
Beiträge: 31
Hi,

anstatt mit hohem Aufwand subtraktiv zu arbeiten, wäre es um Längen geschickter, einfacher und auch qualitativ wesentlich besser, wenn man additiv arbeiten würde.
Anstatt also ein Bild mit sehr langer Belichtungszeit zu schiessen, wäre es besser sehr viele Bilder zu machen und aus diesen den Mittelwert zu berechnen.
Die Vorteile sind immens: Anstatt die sich addierenden Fehler zu sammeln und umständlich per Darkframe wieder zu entfernen, reduzieren sie sich bei der Vermittlung von alleine mit jedem weiteren Bild. Das Sensorglühen ist dann kein Thema mehr, ein Darkframe garnicht mehr nötig und das Rauschen kann um bis zu 10 dB verringert werden ohne auch nur das kleinste Quentchen des gewünschten Signals zu verlieren. Sinnvolle Programme zur Vermittlung sind NoiseRemove, PTAverage, ImageStacker, Giotto o.ä.

Grüße, Stephan Stoske
Stephan Stoske ist offline   Mit Zitat antworten
Alt 29.12.2006, 15:10   #37
eiq
 
 
Registriert seit: 18.08.2005
Beiträge: 2.604
Zitat:
Anstatt also ein Bild mit sehr langer Belichtungszeit zu schiessen, wäre es besser sehr viele Bilder zu machen und aus diesen den Mittelwert zu berechnen.
Diese Programme funktionieren anders. Hier werden keine Aufnahmen addiert, sondern Durchschnitte gebildet. Das Ausgangsbild an sich ändert sich also nicht und bleibt von der Helligkeit gleich. Aus vielen kurz belichteten Bildern wird hier kein Bild berechnet, das einem Bild mit längerer Belichtungszeit entspricht. (Ich hab mir Deinen Text nochmal durchgelesen. Es kann sein, daß ich den Satz falsch interpretiert hab, und Du eigentlich genau das meinst, was ich weiter unten vorschlage. )
Es wird durch die große Stichprobe (mehrere gleiche Bilder) das zufällige Rauschen in den Bildern verringert. Die Hotpixel sind jedoch meist an der gleichen Stelle, sodaß sich diese mit dieser Methode nicht verringern.
Genau das hat ein Freund von mir (Physikstudent) vor einiger Zeit in einem Nikon-Forum mal ausgiebiger getestet: http://www.nikoninfo.de/discus/messages/11/88405.html (leider fehlen die meisten Bilder, da sein Arcor-Account wohl nicht mehr existiert)

Man könnte probieren, die Methoden zu kombinieren: x Aufnahmen und x Darkframes, welche jeweils gemittelt und dann voneinander abgezogen werden. Ich befürchte allerdings, daß keines der Programme mit RAW-Daten arbeitet (habe es noch nicht genau überprüfen können). Mit etwas Zeit ließe sich das aber sicher programmieren.

Gruß, eiq
eiq ist offline   Mit Zitat antworten
Alt 29.12.2006, 21:13   #38
Stuessi

Themenersteller
 
 
Registriert seit: 17.05.2005
Ort: in der Nähe von Köln
Beiträge: 2.042
Zitat:
Zitat von Stephan Stoske
Hi,

anstatt mit hohem Aufwand subtraktiv zu arbeiten, wäre es um Längen geschickter, einfacher und auch qualitativ wesentlich besser, wenn man additiv arbeiten würde.
Hallo Stephan,

da irrst Du, nur wenn die PhotonenStatistik das Rauschen in den einzelnen Bildern dominiert, wird durch Stacking das Signal zu Rauschen Verhältnis besser. Aber auch dann sollten möglichst viele Photonen erfasst werden, die einzelnen Belichtungszeiten also so lang wie möglich sein (natürlich ohne "Überlaufen" der Pixel).
Benötige ich 300 sec, um ein schwaches Bild einer Galaxie zu erhalten, dann ist auf einer 1 sec lang belichteten Aufnahme absolut nichts von der Galaxie zu sehen, wohl aber schon etwas vom Sensorrauschen.
Auf 300 Bildern zu 1 sec habe ich 300 mal Sensorrauschen, sonst nichts!

Gruß,
Stuessi
Stuessi ist offline   Mit Zitat antworten
Alt 30.12.2006, 00:11   #39
bleibert
 
 
Registriert seit: 28.10.2003
Ort: Elsaß
Beiträge: 1.171
Zitat:
Zitat von Stephan Stoske
anstatt mit hohem Aufwand subtraktiv zu arbeiten, wäre es um Längen geschickter, einfacher und auch qualitativ wesentlich besser, wenn man additiv arbeiten würde.
Anstatt also ein Bild mit sehr langer Belichtungszeit zu schiessen, wäre es besser sehr viele Bilder zu machen und aus diesen den Mittelwert zu berechnen.
Hallo Stephan!

Wie Stuessi schon erklärt hat, ist das nicht das gleiche: Mehrere kurz belichtete Aufnahmen ersetzen nicht eine lang belichtete.

Witzigerweise habe ich im Verlauf dieses Threads schon an Dich denken müssen:
Entfernung von bewegten Objekten
Bei dieser Lösung werden ja auch Mittelwerte gebildet, unter Ausschließung von Ausreissern. Gibt es denn da irgendwo ein lauffähiges Progrämmchen zum Download, so dass man damit mal ein wenig spielen kann?
__________________
Viele Grüße, Dennis.

Minolta SR System
bleibert ist offline   Mit Zitat antworten
Alt 14.08.2007, 16:45   #40
Stuessi

Themenersteller
 
 
Registriert seit: 17.05.2005
Ort: in der Nähe von Köln
Beiträge: 2.042
3 Minuten Belichtungszeit

Hallo,

bei der Arbeit an meinem Sternstrichspurenbild,

das aus 20 jeweils 3 Minuten lang belichteten Bildern zusammengesetzt ist, kam mir die Idee, den Dunkelbildabzug im TIFF-Format in Photoshop vorzunehmen. Das Ergebnis hat mich aber veranlasst, doch 20 mal im RAW-Format die Subtraktion vorzunehmen.
Hier ein Vergleich:

Subtrahiert man erst im TIFF-Format, so entstehen schnell "Löcher", subtrahiert man im RAW-Format, so wird die Intensität einzelner Pixelwerte zwar auch schon mal auf Null gesetzt, bei der Konvertierung bleiben in 2 Farbkanälen aber immer noch Werte übrig, so dass keine "Löcher" entstehen.

Gruß,
Stuessi
Stuessi ist offline   Mit Zitat antworten
Sponsored Links
Antwort
Startseite » Forenübersicht » Kreativbereich » Nach der Aufnahme » 5 Minuten Belichtungszeit mit Dynax 7D


Forenregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:44 Uhr.