Ein neues kostenloses Stackingprogramm (mit Downloadlink)

Begonnen von bewie, Oktober 06, 2022, 21:09:33 NACHMITTAGS

Vorheriges Thema - Nächstes Thema

bewie

Hallo Leute,
es gibt einen neuen Focus-Stacker als Freeware namens stacky, Homepage ist http://www.bewie.de/stacky.php.

Ich habe mir zwar sowohl Zerene wie auch Helicon Focus angeschafft, habe aber dennoch in den zurückliegenden Jahren stacky geschrieben, weil mich einfach die Algorithmen hinter den Stackprozeduren interessieren. Was dabei herausgekommen ist, habe ich immer wieder mit den Ergebnissen von Zerene verglichen und meine (mea culpa, ich weiß, Eigenlob stinkt), stacky kann da gut mithalten. stacky hat anders als die kommerziellen Programme auch die Möglichkeit, die Frequenzdateien nach dem primären Stacking neu zusammenzusetzen und damit zu optimieren. Das geht dann in einem Bruchteil der Zeit, die ein erneuter Stack bräuchte. Außerdem gibt es eine Reihe zusätzlicher Möglichkeiten, die im stacky Manual nachzulesen sind, darunter natürlich auch manuelles Stacken mit einem Kopierpinsel, automatisiertes Abarbeiten vieler Stacks und weitere Stapelverarbeitungsfunktionen. Die Algorithmen sind in hohem Grad parallelisiert, allerdings muss ich zugeben, dass stacky beim primären Stack nicht ganz die Geschwindigkeit von Zerene erreicht. Hinkt aber auch nicht zu stark hinterher.

Würde mich freuen, wenn jemand stacky mal ausprobieren und seine Meinung mitteilen würde, auch wenn sie noch so kritisch oder vernichtend ausfällt. Programm und Manual gibt es auf der oben genannten Website. Ach ja, und stacky ist zwar kostenlos, aber trotzdem frei von jeder Art von Adware. Ich will damit nix verdienen.

Angehängt habe ich mal zwei ältere Beispielbilder vom Makrostand, die allerdings nicht gerade optimal ausgeleuchtet waren.

Liebe Grüße an alle StackFreaks
Bernd

Nochnmikroskop

Hallo Bernd,

schönen Dank für die Vorstellung Deines Stackprogramms.
Schön, das das Programm ohne eine echte Installation auskommt, dafür schon einmal Daumen hoch.
Beim Überfliegen Deiner Anleitung und der Homepage habe ich nicht gefunden, welche Dateitypen von welchen Herstellern (RAW?) unterstützt werden.

Das man erst die original Dateien "in Sicherheit" bringen muss, weil sie evtl. verändert werden, ist nicht wirklich hilfreich, gerade bei großen Stacks braucht das viel Platz zusätzlich. Das habe ich bei anderen Programmen so noch nicht gesehen, es wird dann automatisch das Original gesichert (z.B bei XnView, ACDSee) teilweise versteckt, als Schreibschutz.

Ich werde es mal ausprobieren, und wenn mir etwas dazu einfällt gebe ich Bescheid.  Schön, wenn man dann direkt mit dem Programmierer schreiben kann.

LG Frank
Meistens Auflicht, alle Themenbereiche
Zeiss Axiolab, Leitz Orthoplan, Keyence VHX, Olympus SZX16, Canon EOS 700D, Panasonic G9, Touptek u.a.

bewie

Hallo Frank,
schön, dass du stacky testen willst. Vielen Dank dafür!

Was die Dateitypen betrifft, ist das der aktuelle Stand:

Verarbeitet werden die meisten Containerformate, in jedem Fall TIF, JPG, JPEG2000, PNG, BMP und auch Photoshopdateien.
DNG-Dateien (Photoshop-RAW) werden verarbeitet, andere RAW-Formate nicht.
Eine Einschränkung gibt es beim Commander: Der findet verarbeitet derzeit nur Dateien mit den Endungen TIF, TIFF, JPG, JPEG, BMP, PNG (Groß- oder Kleinschreibung sind dabei natürlich egal).

Die üblichen Pixelformate (8Bit Grau, 16 Bit Grau, 24Bit RGB, 48 Bit RGB, LAB, CMYK) werden verarbeitet, allerdings intern in 24Bit RGB umgewandelt und auch das Ergebnisbild hat immer das Pixelformat 24Bit RGB.

Dass man von den Originalbildern immer ein Backup haben sollte, ist ein Sicherheitshinweis; stacky legt selbst ein backup-Verzeichnis unterhalb des Bildordners an und sichert dort die Originaldateien, bevor sie verändert werden; steht so auch im Manual. Aber du hast natürlich recht, das frisst schon ziemlich viel Platz auf der Platte. Wobei es in dieser Hinsicht letztlich egal ist, ob die Arbeitsdateien für das Stackprogramm irgendwo anders gespeichert oder die Originaldateien gesichert werden. Plattenplatz ist immer der Preis für Dateisicherheit. Ich mache es so, dass ich grundsätzlich alle Aufnahmen in DNG-Dateien umwandle und die archiviere, so dass ich immer ein Backup habe, falls mal mit den anderen was passiert.

LG
Bernd


Peter V.

#3
Hallo Bernd,

Super!

Ich habe es gestern nur ganz oberflächlich ausprobiert, aber ich denke, dass das endlich der von mir ersehnte Erstz für das schon lange nicht mehr gepflegte CombineZ, das zudem buggy war, ist  :)

Als absoluter Gelegenheitsstacker (vielleicht 2 x im Jahr) kommt für mich ein Kaufprogramm nicht in Frage.

Übrigens gibt es ja reichlich Anleitungs-Lesefaule (wie mich  ;)). Ich finde solche Anleitunsgvideos auf Youtube immer prima  8)

Herzliche Grüße
Peter

@Bernhard: Ich fürchte, dass der Hinweis auf das Programm, das sicher viele dankbare Nutzer fände, hier etwas unglücklich platziert und der Titel auch nicht optimal gewählt ist, ich habe den Thread auch nur quasi durch Zufall aufgerufen. Ich habe mir deshalb einfach erlaubt, den Titel umzubenennen. Ich hoffe, dass das so ok ist.
Dieses Posting ist frei von kultureller Aneigung, vegan und wurde CO2-frei erstellt. Für 100 Posts lasse ich ein Gänseblümchen in Ecuador pflanzen.

bewie

Hallo Peter, hallo ADi,

danke für euere Rückmeldungen!

@Peter: natürlich ist das gut, dass du den Titel geändert hast. Ich freue mich ja, wenn das Programm gefunden und benutzt wird. Und ich hoffe, es bringt dir Spaß.

@ADi: Da hast du recht, stacky nutzt die Prozessorkapazitäten noch längst nicht optimal aus. Es ist zwar in gewissem Grad parallelisiert, so dass mehrere Kerne auch gleichzeitig genutzt werden, aber da ist durchaus noch Luft nach oben. Ich arbeite immer wieder mal daran, aber die Optimierung des Multithreadings ist kein ganz banaler Job, so dass ich immer nur Stück für Stück vorankomme.
Die MapMittel0 ist ein ganz einfaches und recht schnelles Stacking ohne Pyramidenalgorithmen, im expert-Modus wäre das der Focus stack simple. Das Ergebnis wird immer vernebelt sein. Im Manual ist das hinten beim Kapitel Algorithmen erklärt. Die MapMittel0 ist für das normale Stacken eigentlich nur der Ausgangspunkt, in den dann die höheren Bildfrequenzen eingerechnet werden.
Du kannst übrigens die Standardeinstellung einfach so lassen wie sie ist und nach dem Stack auf den Button Rework Focus stack bzw. Rework P1 drücken und dann im Rework-Fenster einfach ein bisschen mit den Reglern spielen und auf den Button mit dem flachen roten Quadrat drücken. Damit lassen sich die Stackergebnisse nochmals sher schnell und teilweise dramatisch verändern und optimieren. Solltest du einfach mal austesten, denn wenn du die Funktion verwendest, brauchst du nur noch selten einen neuen kompletten Stack mit veränderten Parameter.
Ich sehe ein, dass das Backup mit seinem wuchtigen Platzbedarf problematisch sein kann. Da ich gerade dabei bin noch ein paar Bugs zu beheben, wird es bald die nächste Version geben. Dann erweitere ich auch das Optionsfenster auch um die Möglichkeit, das standardmäßige Backup abzuschalten, was wohl in deinem Sinn sein dürfte.

LG
Bernd

bewie

#5
Hallo Stackfreunde,

noch ein paar Worte zu der Funktion Rework Focus Stack, denn sie gehört zu den Herzstücken von stacky.

Die Funktion kann nach einem normalen Stack (oder P1-Stack im expert-Modus) aufgerufen werden. Es erscheint das Rework-Fenster mit einem noch sehr unscharfen Bild und dann dauert es eine Weile, bis alle Daten geladen sind und ein Bild erscheint, das der aktuellen Reglereinstellung entspricht. Das ist aber schon der größte Zeitaufwand. Danack können die Regler über dem Bild verstellt werden und der Button mit dem roten Quadrat zeigt das Ergebnis an. Das geht dann relativ schnell. Die drei angehängten Bilder zeigen drei verschiedene Reglereinstellungen: Geringste Bildschärfe, eine Bildschärfe irgendwo in der Mitte und eine der schärfsten Einstellungen. Alles was dazwischen liegt, ist mit den Reglern oben machbar.
Was dahinter steckt, ist im stacky-Manual erklärt, aber das muss man nicht wissen. Grob gesagt, verändert der obere Regler die Details des Bildes, der untere die grobe Verteilung der Helligkeit und die anderen Regler alle Helligkeits-Verteilungen dazwischen. Wer eine Weile an einem Bild mit den Reglern spielt, hat auch ohne Theorie sehr schnell raus, was sie verändern und wie man zu einem optimalen Bild kommt. Und das ohne den erheblichen Zeitaufwand mit einem neuen Stack, sondern in Sekundenschnelle.

LG
Bernd

bewie

#6
Hallo ADi,

beide roten Buttons setzen die Einstellung in ein Bild um, sind also Execute-Buttons. Der untere führt aber eine zusätzliche Operation aus, so dass das Bild ein wenig plastischer, aber auch weniger kontrastreich aussieht; die Zahl unter dem Button legt fest, wie stark die Bildelemente konturiert werden. Das dauert dann aber auch länger. Steht übrigens alles im Manual.
Ich überlege mir, den unteren Button ganz abzuschaffen, diese Bildstruktur ist nicht wirklich interessant.
Was die SE-Einstellung betrifft: Danke für den Hinweis! Da muss ich in der Tat die Starteinstellung für das Programm ändern. Wird in Version 1.0.1 umgesetzt.

LG
Bernd

Peter V.

Hallo Bernd,

vorweg: Ich habe mich mit dem Programm nicht intensiv beschäftigt, sondern nur mal eben auf die Schnelle einen kleinen Stack aus 5 Bilder versucht. Der Einfachheit halber habe ich mal eben einen Screenshot aufgeommen. Links eines der fünf Ausgangsbilder, oben rechts ein Stack mit CombineZP, unten rechts mit Stacky. Wieso sieht das mit Stacky so anders aus? Was mache ich falsch?

Hezrliche Grüße
Peter
Dieses Posting ist frei von kultureller Aneigung, vegan und wurde CO2-frei erstellt. Für 100 Posts lasse ich ein Gänseblümchen in Ecuador pflanzen.

Lupus

Hallo Bernd,

sehe ich das richtig dass die "Rework"-Funktion im Wesentlichen nur eine Filterung des fertigen Bildes durchführt? An den Parametern, die das Stacken selbst beeinflussen, lässt sich nichts einstellen? Insgesamt scheint das Programm den Schwerpunkt auf die Bildnachbearbeitung wie z.B. Schärfen und Kontraständerung zu legen. Daher auch die Verwunderung von Peter über das andere Aussehen seines Ergebnisses, da verändern die Grundeinstellungen wohl das Originalbild schon sehr weit.

Hubert

bewie

#9
Hallo Peter, hallo Hubert,

@ Hubert: nein, Rework filtert nicht einfach das Ergebnisbild, sondern baut es neu auf. Steht zwar alles im Manual, aber ich formuliere es hier nochmal anders.
Bei einem Stackdurchlauf passiert folgendes:
1. Es wird auf der Basis der lokalen Variabilität ein gewichtetes Mittelwertbild erstellt, bei dem aus jedem Bild die Bereiche mit hoher Variabilität wesentlich stärker gewichtet werden als die eher gleichförmigen Bereiche, die ja in der Regel zum unscharfen Hintergrund gehören. Dabei entsteht ein Summenbild, die MapMittel0, das noch relativ flau aussieht.
2. Gleichzeitig extrahiert stacky aus jedem Bild sechs Gauss-Laplace-Ebenen. Das heißt: Jedes Bild wird in 6 Matrizen zerlegt, von denen eine die ganz feinen Details enthält, die nächste die etwas gröberen Strukturen und so weiter bis zum sechsten Ebene, die die grobe Verteilung von Licht und Schatten im Bild enthält. Das sind die sechs Gauss-Laplace-Ebenen. Während des Stackvorgangs werden alle Matrizen einer jeden Ebenen aufsummiert. Am Ende gibt es sechs Matrizen (du kannst sie auch einfach Teilbilder nennen), von denen eine die feinen Details aller Bilder enthält, die nächste die etwas gröberen usw. -> siehe oben. Damit ist der Durchgang durch alle Bilder einer Stackserie, der so viel Zeit kostet, abgeschlossen.
3. Jetzt wird das Ergebnis zusammengesetzt. Dazu mischt stacky die sechs Ebenen und die MapMittel0 zusammen und gewichtet dabei die Ebenen und MapMittel0 nach vorgegebenen Kriterien, bei denen auch die Einstellung im expert-Modus eine Rolle spielt. Daraus entsteht das Endbild, das sich je nach Motiv mehr oder weniger von Zerene unterscheidet, weil Zerene sicher nicht mit meinen Algorithmen und Parametern arbeitet.

Beim Rework wird der Schritt 3 neu ausgeführt, die sechs Gauss-Laplace-Ebenen werden neu mit der MapMittel0 gemischt und zwar so, wie mit den Reglern eingestellt. Daraus entsteht dann ein neues Bild und nicht einfach nur eine Filterung des bisherigen Ergebnisbildes.

@ Peter: Hallo Peter, vielen Dank für deinen Test und die Vergleichsbilder. Eines zeigt sich hier ganz klar: In der Grundeinstellung arbeitet stacky vor allem bei Serien mit wenigen Bildern sehr viel härter und betont die Strukturen stärker als CombineZ. Du kannst dir das Ergebnis aber so zurechtbiegen, wie du es haben willst und zwar mit dem Reworking, um das es oben schon ging. Dummerweise ist im Programm noch ein Bug, deswegen bitte ich dich, erst die neueste Version 1.0.1 herunterzuladen und mit der zu arbeiten.
Nun kommt der eigentliche Vorgang: Ordner mit deinen 5 ursprünglichen Bildern auswählen und auf den Button Rework focus Stack klicken. Es dauert eine Weile bis ein eher flaues Bild erscheint, dann den oberen Regler auf Mitte, die beiden darunter liegenden Regler ganz nach links schieben, die anderen alle in die Mitte. Dann auf den Button mit dem flachen roten Quadrat drücken. Es erscheint ein neues Bild. Entspricht es deinen Vorstellungen? Wenn nicht, weiter mit den Reglern spielen, bis du ein Ergebnis hast, das deinen Vorstellungen entspricht. Dann Fenster schließen und Ergebnis speichern.

Klingt jetzt erst mal kompliziert, das Prinzip ist aber eigentlich recht einfach: Stack durchlaufen lassen, Reworking drücken und regeln, bis das Ergebnis gefällt. Dann Fenster schließen und abspeichern.
Grob kann man sagen, dass die Regler nach links geschoben ein kontrast- und detailärmeres Bild ergeben, nach rechts geschoben wird es detail- und kontrastreicher.

Wenn du mir die Bildserie mal zuschicken willst, kann ich damit rumexperimentiern und sehen, ob es vielleicht sinnvoll ist, stacky anzupassen.

LG
Bernd

Peter V.

Hallo Bernd,

ich habe Dir die 5 Bilder an die "S1"-Adresse geschickt. Ich komme mit "Rework" allerdings nicht zu einem befriedigenden Egebnis. Aber das ist ja noch ein "lernendes" Programm und ganz am Anfang, Heribert Cypionka hat sein Picolay ja auch über Jahre immer wieder verfeinert, vor allem "debuggt" nach Rückmeldung seiner Anwender.

Hezrliche Grüße
Peter
Dieses Posting ist frei von kultureller Aneigung, vegan und wurde CO2-frei erstellt. Für 100 Posts lasse ich ein Gänseblümchen in Ecuador pflanzen.

bewie

Hallo Peter,

ich hab mal rumgespielt. Deine Bilder sind stark komprimiert und die Artefakte, die dadurch entstehen, fallen in den Originalbildern nicht auf, werden von stacky in der Grundeinstellung aber verstärkt und aufsummiert. stacky ist für Bilder mit sich überlagernden Feinheiten optimiert, wie beispielsweise der haarige Maikäfer, der im Manual und auf der Website immer wieder vorkommt. Zu diesem Zwecke werden die Details stark betont und der Kontrast wird verstärkt. Bei deinen Bildern gibt es diese Details nicht, bzw. nur in Form der versteckten Kompressionsartefakte. Deswegen muss man für die fünf Bilder die Rework-Regler weit herunterfahren.
Vielleicht kommt eine der untenstehenden Lösungen deinen Vorstellungen ja näher. Ich hänge einfach mal drei Screenshots an, dann siehst du gleich die Einstellungen.
Die Frequenzen sind alle ziemlich runtergeregelt, zudem ist der Kontrast vollständig abgesenkt.
Die drei zugehörigen Ergebnisbilder kannst du in voller Größe runterladen:
http://www.bewie.de/Downloads/PV/Bild1.jpg
http://www.bewie.de/Downloads/PV/Bild2.jpg
http://www.bewie.de/Downloads/PV/Bild3.jpg
Ich bin gespannt, wie sie sich im direkten Vergleich mit dem CombineZ-Ergebnis machen, denn das kenn ich ja nicht in Originalgröße.

LG
Bernd

bewie

#12
Hallo ADi,

stacky speichert keine Projekte ab wie z.B. Zerene. Bei Zerene ziehst du die Bilder in das Fenster und Zerene legt eine Liste der Dateien an, die Originaldateien bleiben, wo sie sind. Die Liste und einige andere Informationen und Dateien kann man dann als Projekt irgendwo speichern. Lädt man das Projekt, weiß zerene wieder, um welche Dateien es geht und welche Arbeitsdateien es schon gibt.
stacky arbeitet ordnerorientiert. Du wählst einfach den Ordner aus, in dem sich die Bilder befinden und stacky arbeitet dann damit, legt den Unterordner "stacky" an und speichert darin die Ergebnisse. Es gibt in dem Ordner stacky noch einen Unterordner namens focusproject und darin liegen dann weitere Arbeitdateien, die beispielsweise vom Rework benutzt werden. Wenn man will, kann man das als Projektordner bezeichnen. Wenn du wieder in den Ordner mit deinen Dateien gehst und Rework aufrufst, sucht stacky im Proojektordner die nötigen Dateien, so dass nicht nochmal alles neu gestackt werden muss. Das schien mir eine sinnvolle Lösung für ein bequemes und flottes Arbeiten zu sein: Du kannst (mit dem Commander) deinen Rechner einen, zwei oder viele Ordner mit Bildern über Nacht abarbeiten lassen und am nächsten Morgen kannst du dann recht flott die Bilder mit der Reworkfunktion optimieren.

Die aktiven Einstellungen werden in der Registry gespeichert. Ich habe mir auch schon mal überlegt, eine ini-Datei in den Projektordnern zu speichern. Wäre das aus deiner Sicht sinnvoller?

LG
Bernd

bewie

#13
Hallo Peter,

hier doch noch mal ein Vergleich. Oben der Screenshot3, den wir vorhin in meinem Post schon hatten und darunter ein Ausschnitt aus dem Originalbild. Fallen die wirklich so unterschiedlich aus? Den Kontrast könnte man zur Not noch mit den Einstellungen reduzieren. Wenn man den Kontrast in deinem Bild auf volle Dynamik einstellt (3. Bild), dann ähneln sich die Bilder schon sehr, wenn man von der Farbänderung durch die etwas brutale Kontrastexpansion absieht.

LG
Bernd

Nochnmikroskop

#14
Hallo Bernd,
Die ini Datei und sämtliche Parameterdateien in den Programmordner abzuspeichern finde ich auch wünschenswert. Oder die Auswahl zulassen, wie bei anderen portablen Programmen.

LG Frank
Meistens Auflicht, alle Themenbereiche
Zeiss Axiolab, Leitz Orthoplan, Keyence VHX, Olympus SZX16, Canon EOS 700D, Panasonic G9, Touptek u.a.