GIMP Plug-Ins

  • Hallo!
    Ich habe die letzten Tage ein bisschen (viel) Zeit damit verbracht, ein paar Plug-Ins zu schreiben, die GIMP ein bisschen auf die Sprünge helfen sollen. Die Oberflächen sind in Neu-Deutsch gehalten, aber vielleicht ist's trotzdem halbwegs verständlich. Zu finden sind sie unter Filter->Astronomy. Den Quelltext gibt's http://www.cip.physik.uni-muen…_astro_plugins-0.1.tar.gz hier,
    weitgehend ungetestete Windows-Binaries gibt's http://www.cip.physik.uni-muen…imp_astro_plugins-0.1.zip hier. Unter Linux (mit dem Quelltext) sollte ein "make" in dem Ordner reichen, unter Windows muss man manuell die Binaries und die Skripte jeweils in die richtigen Ordner kopieren.
    Über die Lizenz hab ich mir noch keine weitergehenden Gedanken gemacht, aber vermutlich wird es die GPL werden. Ich benutze teilweise die http://www.videoastronomy.org/ccdlib.htm CCDLib von Georg Dittié, die unter Public Domain steht.
    Bei allen Plug-Ins geht es darum, eine Anzahl an Bildern in Ebenen in GIMP zu laden und zu verarbeiten.
    Es gibt 10 Plug-Ins:


    <b>Set brightness and contrast for all layers</b>: Ein kleines Skript, das für alle (sichtbaren oder auch unsichtbaren) Ebenen die Helligkeit und den Kontrast anpasst. Bisher noch keine Vorschau.


    <b>Set mode for all layers</b>: Wie oben, nur dass der Überlagerungsmodus für alle Ebenen gesetzt wird (z.B. addieren).


    <b>Subtract dark frame from all layers</b>: Subtrahiert eine ausgewählte Datei von allen (sichtbaren oder auch unsichtbaren) Ebenen. Keine Prüfung auf sinnlose Eingabe (z.B. falsche Bildgröße, verschobene Ebenen, ...).


    <b>Divide all layers by a flat field</b>: Wie oben, nur dass jede Ebene durch das ausgewählte Bild dividiert wird.


    <b>Calibrate Layers (Translate)</b>: Verschiebt die Ebenen so, dass die Bilder übereinander passen. Dabei wird für die Modi "Center of disk" und "Center of Brightness" nur die Auswahl betrachtet, und für die anderen wird das Passmuster aus der Auswahl genommen. D.h. bei einem Bild mit Sternen setzt man am besten alle Ebenen auf "addieren", dann sieht man, in welchem Bereich sich ein Stern befindet, zieht eine Auswahl drumherum und lässt die Ebenen ausrichten.
    Optional kann das Bild automatisch auf den Überlappungsbereich der Ebenen beschnitten werden.


    <b>Calibrate Layers (Rotate)</b>: Funktioniert folgendermaßen: Durch oben beschriebenes Plugin die Ebenen auf einen Stern ausrichten. Dann erscheinen die anderen Sterne (falls die Ebenen zueinander rotiert sind) um diesen Stern rotiert. Dann um ein "Set" dieser rotierten Sterne (möglichst weit vom Rotationszentrum entfernt) eine Auswahl ziehen, den Dialog öffnen und als Rotationszentrum die Position des Sterns angeben, auf den vorher die Ebenen ausgerichtet wurden. Nach dem De-Rotieren muss man evtl nochmal verschieben lassen.


    <b>Sort layers by quality</b>: Soll die Ebenen nach Qualität der Bilder sortieren, man kann das Verhältnis angeben, nach dem die verschiedenen Kriterien gewichtet werden. Ob das überhaupt wirklich funktioniert, hab ich noch nicht rausgefunden.


    <b>Merge layers</b>: Überlagert alle Ebenen (oder falls etwas ausgewählt ist, nur die Auswahl) mit verschiedenen Mittelungsmethoden: Arithmetisches Mittel, Geometrisches, Median, Sigma-Median, 2-Stufiger Sigma-Median. Dabei kann man noch Werte angeben, mit denen die zu mittelnden Werte <b>vor</b> dem Mitteln multipliziert bzw. die zu ihnen addiert werden.
    Inzwischen gibt es auch ein Vorschau-Fenster, so daß man die beste Mittelungsmethode auswählen kann. Außerdem werden die Werte der Pixel entsprechend des Alpha-Kanals gewichtet, sofern das sinnvoll ist (Arithmetisches und geometrisches Mittel; bei den Median-Mittelungen nur Unterscheidung "völlig unsichtbar" oder "sichtbar").


    <b>Draw border with image information</b>:
    Erstellt eine Ebene, die einen Rahmen enthält und optional Informationen zum Bild (Objekt-Name, Autor, Datum, Gerät, ...).
    Persönliche Standard-Einstellungen können im Plugin image_border_information.scm gesetzt werden.


    <b>Normalize all layers</b>:
    Wendet die automatische Normalisierung (Ebene-&gt;Farben-&gt;Automatisch-&gt;Normalisieren) auf alle Ebenen an.


    GIMP ist sicherlich nicht das beste Werkzeug, aber zum Schnell-Mal-Machen geht's dann doch. An die Grenzen stößt man natürlich mit den 8bit, bzw. wenn man versucht, 1000 Webcam-Bilder in Ebenen zu laden. Aber ich denke, gerade für große (Spiegelreflex-)Bilder könnten die Plug-Ins nützlich sein.


    Über Rückmeldungen jeder Art würde ich mich freuen.


    Viele Grüße
    Georg

  • Hi,


    ich habe deine Plugins (noch) nicht getestet, aber unter Linux gibt es einen Fork von Gimp der auch 8bit,12bit und sogar 32 pro kanal kann (wenn ich es richtig verstanden habe), name des Gimp-Forks ist Cinepaint.


    Eigentlich müssten deine Plugins auch unter Cinepaint funktionieren, ich werde es mal bei Gelegenheit ausprobieren und mich melden


    Gruss


    Jens

  • Das mit den 8, 16, 32bit hört sich ja nicht schlecht an. Allerdings scheint der Fork sich bereits in den 1.0x-Version von GIMP abgespalten zu haben, was vermutlich dazu führt, dass die Plug-Ins nicht lauffähig sein werden. Das Merge-Plug-In schneidet auch bei 255 ab, um einen Überlauf zu vermeiden, da müsste man dann noch irgendwie eine Bit-Tiefen-Abfrage einbauen.

  • Hi Georg


    hier mal mein Test:


    und zur Info über meine GTK-Pakete:


    Kürzer bekomm ich hier leider nicht rein - evtl. per Email ?


    CS Bernd

  • Hallo Bernd,
    in meinem Profil kannst Du mich gerne auch per eMail kontaktieren. Aber hier ist der Fall relativ klar: Du musst alle nötigen *-devel-Pakete installieren. Das sind (kein Anspruch auf Vollständigkeit, ich benutze Gentoo, da sind die sowieso immer installiert):
    - gimp-devel
    - gtk-devel-2.0
    - pango-devel
    - cairo-devel
    - atk-devel
    - glib-devel


    Viel Erfolg, und falls es nicht klappt, helfe ich gerne.
    Georg


    EDIT: Ach, und mir fällt gerade auf, dass Du's als root installierst. Als normaler User tuts auch, dann landen sie im /home/user/.gimp Verzeichnis irgendwo.

  • Hi Georg,


    hast recht, als ich die Plugins von Hand in Cinepaint geladen habe ist es direkt und ohne Kommentar abgestürzt. o_O


    Achja noch eine Alternativ Programm das reichlich unorthodox ist wäre Nip2 ( http://www.vips.ecs.soton.ac.uk/index.php?title=VIPS ), ist eine Mischung aus Excel und Photoshop. Hört sich erstmal schlimm an, könnte aber für die Astro-EBV durchaus nützlich und ausreichend sein, zumal es ebenfalls auf Linux / Unix, BSD, OSX und auch Win läuft.


    Gruss
    Jens

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: georg298</i>
    <br />EDIT: Ach, und mir fällt gerade auf, dass Du's als root installierst. Als normaler User tuts auch, dann landen sie im /home/user/.gimp Verzeichnis irgendwo.
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    [:D]Habs auch noch gemerkt [:I] Installation hat funktioniert und werds bei Gelegenheit ausprobieren - für heute is Schluss [:o)]


    CS Bernd


    PS. Häng hier auf Fedora Core 6 rum [:D]

  • Hallo Jens!


    Ich hab mich mal durch die Screenshots geklickt, und es sieht eher danach aus als würde das Programm das Leben eher schwerer als leichter machen ;)
    Aber vielleicht kann man sich bis GIMP in mittelferner Zukunft auch 16 bit unterstützt notfalls mit wine+Windows-Programm behelfen. Im Moment reichts mir auch, wenn ich schnell mal ein paar Bilder zusammenklicken kann, viel hab ich eh noch nicht gemacht. Und momentan geht (noch) eigentlich gar nix wg. Dobson.


    Viele Grüße


    Georg

  • Hi Georg,


    Nunja, Nip2 ist auf den ersten Blick ein Schock für jeden der etwas mit EBV zu tun hat. Aber es kann ziemlich mächtig sein wenn man es einmal für die Astro-EBV eingerichtet hat.


    Falls du noch mehr Programme für Linux zwecks EBV suchst:
    http://astrotips.com/Downloads.phtml


    Die Java-Abteilung ist auch höchst interessant :D


    Jens
    [Edit] ich ackere mit Mandriva 2007 :)

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: georg298</i>
    <br />Hallo jf!


    Bitteschön.
    Wenn Du noch Vorschläge hast, was man noch machen könnte, dann schreib sie ruhig.
    Vielleicht kann ich sie einarbeiten.


    Viele Grüße
    Georg
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Hi!
    Da hab ich doch gleich was :)


    Bei dem Script, welches die Ebenebehandlung setzt, könnte man noch die einstellung der Intensität der Überlagerung gebrauchen. Sprich wenn ich "Screen" wähle, stellt das Script alle Ebenen auf 100%. Da wäre ein Schieberegler im Script ganz nett.


    Vielleicht auch irgendwelche Farbfilter für alle Ebenen. Aber ich will dir ja nicht gleich den Start in 2007 mit Arbeit zumüllen :) . Deswegen geb ich mich zufrieden.
    Ich kenn mich leider selbst zu wenig aus mit der Programmierung aus.


    Zum Mergen/Verschieben und Rotieren benutze ich Regim. Sehr einfach und schnell.


    MfG jf

  • Hallo,


    ja, wann ich dazukomme, weiß ich noch nicht, aber das hört sich momentan nicht so schwierig an.
    Die GIMP-Plugins sind etwas lästig zu schreiben, weil ich keine wirklich gute Dokumentation gefunden habe, aber inzwischen geht's halbwegs.
    Regim habe ich noch nie probiert; werde ich aber noch. Für Planetenaufnahmen werde ich wohl bei Registax oder Giotto bleiben, die inzwischen offenbar beide mit wine funktionieren.
    Ich denke, man könnte GIMP (wenn es denn nicht nur 8 bit unterstützen würde, und was es wohl auch bald wird) durchaus zu einem guten Astronomie-Bild-Verarbeitungs-Programm ergänzen, und wollte mal mit diesen Plugins einen Anfang machen. Der Vorteil ist, dass man eine funktionierende Oberfläche mit einer Menge grundlegender Funktionen schon zur Verfügung hat, und viele andere Nicht-Astro-Plugins benutzen kann, z.B. Fourier-Trafo.
    Insofern hoffe ich, dass diese Plugins durchaus eine Daseinsberechtigung haben, und vielleicht findet sie ja noch jemand nützlich.


    Viele Grüße
    Georg

  • Hallo jf,
    ich hab mal die Links im obersten Beitrag geändert mit neuen Archiven, die als einzige Änderung das veränderte Skript layer_mode_batch.scm enthalten, so dass man auch die Deckkraft für alle Ebenen ändern kannst.
    Viele Grüße
    Georg

  • Hallo,
    ich habe etwas weitergearbeitet und 2 neue Plugins erstellt, sowie die anderen verbessert. Die aktualisierten Links gibt's im ersten Beitrag.


    Neuerungen sind:


    - Die Änderungen der Plugins können jetzt "auf einen Schlag" rückgängig gemacht werden.
    - Das "Merge-Plugin" hat jetzt ein Vorschau-Fenster. Außerdem werden die Werte entsprechend der Alpha-Werte gewichtet.
    - Das "Calibration(Translate)-Plugin" kann jetzt das Bild entsprechend dem Überlappungsbereich der Ebenen zuschneiden.
    - Es gibt ein "Border information"-Plugin, das einen Rahmen (bis zu 2-farbig) um das Bild zeichnet und Informationen zum Bild selber einfügt.
    - "Normalize layers"-Plugin, mit dem man alle Ebenen normalisieren kann.


    Viele Grüße
    Georg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!