Vorstellung des Tools cexec

Wer kennt das nicht? Da hat man ein tolles Kommandozeilenprogramm mit dutzenden von Einstellmöglichkeiten und weiß nicht, welche Kombination zum besten Ergebnis führt.

So erging es mir mit Metapixel - einem Programm zur Erstellung von Foto Mosaiks und Collagen.

Daher habe ich mir kurzerhand cexec entwickelt, was für “Combination Execute” steht. Es hat die Aufgabe, alle in einer Konfigurationsdatei angegebenen Optionen zu kombinieren und das Ergebnis des auszuführenden Programmes fortlaufend abzuspeichern.

Metapixel-Beispielkonfiguration:

[main]
exec = "metapixel --metapixel"
pre = "%infile% %outfile% -l ~/.metapixel"
post = ""

[param::collage]
append = "--collage"
optional = true

[param::cheat]
append = "--cheat="
values = 30, 60, 90
optional = true
...

Daraus macht cexec dann folgendes:

Executing: metapixel --metapixel original_image.png new_image_1.png -l ~/.metapixel --search=local --distance=40 --metric=subpixel
Executing: metapixel --metapixel original_image.png new_image_2.png -l ~/.metapixel --search=local --distance=40 --metric=subpixel --collage
Executing: metapixel --metapixel original_image.png new_image_3.png -l ~/.metapixel --search=local --distance=40 --scale=2 --metric=subpixel
Executing: metapixel --metapixel original_image.png new_image_4.png -l ~/.metapixel --search=local --distance=40 --scale=2 --metric=subpixel --collage
...

Es ist sinnvoll, sich die Ausgabe von cexec zu speichern, damit man später den Dateien die Parameter zuordnen kann. Cexec gibt es zum Download in meinem github Repostory.