[Lua] Neues Intervallskript "IntervWO"

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Re: Neues Intervallskript "IntervWO"

Beitragvon Werner_O » 13.06.2015, 16:16

Hallo schreibtisch,

leider sehe ich momentan zu Deiner Anfrage nicht die geringste Möglichkeit, spezielle Möglichkeiten meines eigenen (eher bescheidenes) Skriptes IntervWO.lua "mal eben so" zusätzlich in das extrem professionelle Skript rawopint.lua einzubinden.

Diese beiden Skripte sind völlig unterschiedlich programmiert, wobei man mein eigenes Skript am besten als wesentlich verbesserte "Intervallaufnahme" bezeichnen kann für diverse mögliche Zwecke.

Das Skript rawopint.lua ist dagegen u.a. speziell für Aufnahmen bei zu- bzw. abnehmenden Licht konzipiert (etwa Sonnen-Aufgänge oder -Untergänge) und versucht dabei, via (ich nenne sie mal) extremer CHDK-Befehle das sogenannte "Flickern" zu reduzieren, damit aus der Summe der diversen Einzelaufnahmen ohne große Nachbearbeitung Zeitraffervideos gemacht werden können, welche das jeweilige Szenario "flickerfrei" wie in einem Film darstellen können.

Insofern sind beide Skripte bereits von der Konzeption her völlig unterschiedlich und kaum kombinierbar.
Allerdings steht es Dir natürlich frei, Dich selber an den Autor von rawopint.lua im internationalen CHDK-Forum zu wenden. Davon würde ich mir aber nicht zu viel erhoffen, weil jegliche weitere Änderungen an diesem extrem professionellen Skript enorm zeitaufwändig sein könnten.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Neues Intervallskript "IntervWO"

Beitragvon Werner_O » 20.07.2016, 18:51

Hallo zusammen,

laut diesem Thread gibt es anscheinend den Bedarf, Intervallskripte auch im Makro- bzw. im Supermakro-Modus auszuführen mit vorher festgelegter Fokusdistanz (also ohne AF).

Das war bisher kaum zu erreichen, weil bei einem aktivierten Makro-/Supermakro-Modus der MF-Modus nicht mehr verfügbar ist :-(
Das ernüchternde Resultat war also: Entweder Makro/Supermakro oder aber MF, nicht aber beides gleichzeitig!

Meine neue Skriptversion von IntervWO.lua (v1.16 Beta - im Anhang) versucht dieses Problem zu umgehen mit dem Ansatz, statt des MF-Modus den AF-Lock-Modus zum Einstellen vorher festgelegter Fokuswerte zu verwenden. Die CAM bleibt dadurch immer im Makro-/Supermakro-Modus unter Umgehung des MF-Modus.

Leider funktioniert aber der AF-Lock-Modus beileibe nicht bei allen Powershot-CAMs - sorry!
Interessierte User können dabei nur durch Ausprobieren herausfinden, ob dieses Skript durchläuft oder aber abstürzt.
Wirklich Schlimmes kann dabei aber m.E. nicht passieren - bei einem "GAU" stürzt halt nur das CHDK der jeweiligen CAM ab :-)

Was ist neu bei dieser Skriptversion:

1) Für den Vorgabeparameter "Auto-FixFokus verwenden" (siehe das das erste Posting) gibt es nun zusätzlich den Wert "MACRO":
Wird dieser angewählt, schaltet die CAM (falls möglich) zunächst auf den AF-Lock-Modus um, wobei der Makro- bzw. Supermakromodus nicht geändert wird.
Anschliessend versucht das Skript noch beim Skriptstart, den gewünschten Fokusvorgabewert "Man. A-FixFokus Distanz (mm)" einzustellen.
Bei einer ausreichend lang gewählten "Startverzögerung" sollte so der gewünschte Fokusvorgabewert bereits vor der ersten Aufnahme eingestellt sein.

2) Vor dem Ausführen dieses Skriptes im neuen Macro-Modus muss dabei bereits zwingend manuell(!) der Makro- bzw. der Supermakro-Modus eingestellt worden sein, ansonsten erfolgt ein Skriptabbruch!
Eine automatische Aktivierung von Makro/Supermakro ist bei diesem Skript nicht vorgesehen, weil das in der Praxis bei so vielen unterschiedlichen Powershots nicht realisierbar ist. Aus dem gleichem Grund werden Makro-Modi nach Skriptende auch nicht wieder deaktiviert.

3) Auch diese Skriptversion prüft beim Start sämtliche Vorgabeparameter auf Konsistenz (jetzt noch krasser als vorher).
Weniger kritische Fehler werden (mit einer Meldung) automatisch korrigiert, bei kritischen Fehlern erfolgt dagegen (wie bisher) ein Skriptabbruch mit genauen Angaben in der Konsolenausgabe, warum das Skript abgebrochen wurde.

ACHTUNG:
Vor Skriptausführung sollte der AF im Canon-Menü(!) komplett stillgelegt werden (Servo-AF aus, Continuos-AF aus, Verfolgungs-AF aus etc.)
Die bei etlichen CAMs mögliche Einstellung für die Grösse des AF-Messfeldes ist dagegen egal und für das Skript nicht relevant.

Nachdem ich nun meine "Hausaufgaben" gemacht habe liegt es nun an Euch, die neue Beta-Skriptversion auch mal im Makro-/Supermakromodus zu testen, wenn Ihr möchtet. Ich selber konnte das ja bisher nur an meiner SX20 und SX240 testen (die S3 ist leider gerade verliehen) - insofern bin ich dringend auf weitere Testergebnisse von anderen CAMs angewiesen um zu wissen, dass mein verwendeter Code OK ist.

Liebe Grüße
Werner_O

INFO:
Anhang gelöscht am 10.06.2017
Zuletzt geändert von Werner_O am 10.06.2017, 17:49, insgesamt 1-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Neues Intervallskript "IntervWO"

Beitragvon kolja » 01.05.2017, 00:05

Hallo Werner

Natürlich habe ich den Skript mit meiner G7 getestet und es funktioniert!
Aber, (irgendwas muss ja noch kommen) in meinem Fall benötige ich den Macromodus von Beginn an.
Ich starte die Kamera über das Einstecken des Netzteils, danach mss alles vom selbst funktionieren.

In den nächsten Wochen werde ich mal einige Intervall Skripte testen.
Erstmal ohne Macro, da es mir zunächste um die Belichtungsberechnung geht..

Dank eauf jeden Fall für deine Arbeit!

Gruß Kolja
kolja
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 74
Bilder: 1
Registriert: 27.08.2012, 13:05
Wohnort: Kassel
Kamera(s): G7, momentan nur eine...

Re: Neues Intervallskript "IntervWO"

Beitragvon Werner_O » 01.05.2017, 15:23

Hallo Kolja,

leider habe ich bisher noch keinen Weg gefunden, über native LUA-Befehle beim Scriptstart den Makro-Modus oder gar den Super-Makro-Modus (möglich bspw. bei der SX20 und S3) zu aktivieren :-(

Falls ich dazu einfach nur zu blöde sein sollte, bitte ich hiermit gerne um Nachhilfe von erfahreneren Lua-Programmierern. Ich selber bekomme das bisher jedenfalls nicht hin, weil ich keine Lua-Befehle dafür finde.

Als einzige Lösung sehe ich darum momentan, den Makro-Modus bzw. den Super-Makro-Modus beim Skriptstart über das Nachstellen der dazu nötigen Tastenkombinationen an der CAM im Skript zu realisieren. Meine alte S3 würde da aber außen vorbleiben, weil die dazu eine Extra-Taste hat, welche nicht via Lua-Befehl bedient werden kann.

Bei meinen neueren CAMs SX20, SX240 und S100 ist das Einstellen des Makro- oder Super-Makro-Modus (nur: SX20) aber durchaus auf diese Weise beim Skriptstart realisierbar. Allerdings brauchen diese CAMs dafür unterschiedliche Tastenkombinationen.

Insofern sehe ich für Dich als Lösung nur eine an Deine CAM angepasste Skriptversion, welche zusätzlich beim Start alle nötigen Tasten drückt, um sofort den Makro-Modus zu aktivieren. Programmtechnisch gesehen ist das kein Problem, allerdings wäre diese Skriptversion dann aber auch nur für Deine CAM geeignet bzw. für CAMs, welche dieselben Tastenkombinationen für den Makro-Modus bzw. den Super-Makro-Modus verwenden.
Wenn Du möchtest, erstelle ich für Dich eine angepasste Skriptversion.

Wird das angepasste Skript dann automatisch beim Starten der CAM gestartet, sollte auch der Makro-Modus immer automatisch aktiviert werden.
Bzgl. Autostart von Skripts nach dem Neustart einer CAM habe ich bisher aber noch keine eigenen Erfahrungen.

Erstmal ohne Macro, da es mir zunächst um die Belichtungsberechnung geht..

Bei allen von mir hier im Forum bereitgestellten Skripten erfolgt die Belichtungsberechnung über die gemachten Einstellungen an der jeweiligen CAM. Meine Skripte (inkl. diesem hier im Thread) bieten keine Möglichkeit, auf die Belichtung Einfluß zu nehmen.
Das nur zur Info - möglicherweise sind ja andere hier im Forum angebotene Skripte für Dich geeigneter.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Neues Intervallskript "IntervWO"

Beitragvon Werner_O » 10.06.2017, 17:46

Hallo zusammen,

nach einigen Tests mit meiner SX20, SX240 und S100 habe ich herausgefunden, daß man bei der CAM-Einstellung "MF" sehr wohl auch die nahest möglichen Distanzen dieser CAMs auch vom Macro-Modus einstellen kann. Mit "MF" muß der Macro-Modus darum beim Skriptstart nicht zusätzlich explizit aktiviert werden.

Allerdings muß die Brennweite für nahest möglichen Macro normalerweise auf max. WW stehen. Meine drei genannten CAMs stellen sich nach dem Start aber allesamt immer automatisch auf max. WW ein.

Anders ausgedrückt bewirkt die Einstellung "Macro-Modus" also m.E. im wesentlichen nur, daß ein aktivierter AF nun die Schärfe im Nahbereich sucht statt in der Ferne.

Insofern ist meine vorgestellte Skriptversion 1.16b des Skriptes "IntervWO.lua" darum dummes Zeug und nicht sinnvoll.
Ich habe diese Skriptversion darum nun aus diesem Forum entfernt.

Eine (noch zu erstellende) neuere Version 1.16c meines Skriptes "IntervWO.lua" sollte stattdessen woanders ansetzen:
1) Ein mögliches automatisches Aktivieren des Makromodus beim Skriptstart bei Fokuseinstellung "AF". Diese Aufgabe ist zwar heikel aber nicht unlösbar.
Das eliminiert aber nicht das Problem, daß ein AF im Macromodus nur selten zum gewünschten Schärfebereich führt.
Da hat der MF-Modus mit voreingestellter Schärfe riesige Vorteile.
2) Meine SX20 hat zusätzlich zum Makromodus auch noch die Einstellung "Supermakro" (0-100mm). Dieser Bereich kann via MF von einem Skript normalerweise nicht voreingestellt werden.
Hier könnte es Sinn machen, beim Skriptstart automatisch den "Supermakro" aktivieren zu können inkl. AF-Lock.
Auf diese Weise könnte mein Skript "IntervWO.lua" dann automatisch auch auf extrem kurze Distanzen fokussieren abhängig vom Vorgabewert im Skript-Menü.

LAST NOT LEAST:

Insbesondere bei Makroaufnahmen ist die extrem genaue Einstellung des Fokus (am besten via MF) sehr wichtig für gute Ergebnisse.
Dazu habe ich bereits ein separates Skript erstellt, welches manuell jede mögliche Fokuseinstellung ab 0,0 cm ermöglicht mit einer Genauigkeit von 1 mm. Dieses Skript soll dabei helfen, die genauen numerischen Werte für den Fokus zu ermitteln als Vorgabe bspw. für mein Skript IntervWO.lua.
Dazu später mehr.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Neues Intervallskript "IntervWO"

Beitragvon kolja » 21.06.2017, 14:33

Das müsste ich jetzt mal mit meiner G7 und dem WW-Konverter (mit dem sich nur im Macro Modus fokusieren lässt) ausprobieren!
kolja
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 74
Bilder: 1
Registriert: 27.08.2012, 13:05
Wohnort: Kassel
Kamera(s): G7, momentan nur eine...

Re: Neues Intervallskript "IntervWO"

Beitragvon Werner_O » 21.06.2017, 23:56

Hallo kolja,

ich stelle Dir hier mal die aktuelle Betaversion meines Skriptes "TestFocus.lua" bereit.
Ich hatte das bereits Ende 2015 vorentwickelt aber danach leider nicht zuende geführt.

Zunächst nenne ich aber den wichtigsten Fehler, der von mir noch ausgemerzt werden muss:
Die vom Skript mögliche automatische Suche nach dem Fokuswert, welcher an der CAM für die jeweilige Zoomeinstellung und die jeweils voreingestellte Blende zum Wert "unendlich" führt (nur bei Modi M und Av), funktioniert noch nicht mit allen meinen eigenen CAMs zuverlässig und kann zu CAM-Abstürzen führen.
Ein weiteres (aber eher kosmetisches) Problem ist zudem noch die reproduzierbar "springende Reihe" der Konsolenausgabe "L/R/UP/DOWN/SET/DISP/MENU", die an der Konsole mal oben oder eben unten erscheint.

Ansonsten funktioniert dieses Skript echt prima, wobei dafür aber der Av- oder M-Modus zwingend notwendig ist:
nur dann kann kann das Skript via CHDK verläßliche Werte zu eingestellten Fokuswerten ermitteln!
Eine eingebaute Automatik beendet dabei das Skript automatisch, wenn weder Av- noch M-Modus eingestellt sein sollten.
Zu alte CHDK-Versionen < 1.3 führen ebenfalls zu einem Skriptabbruch.

Sind alle nötigen Voraussetzungen gegeben, macht das Skript beim Start folgendes:
1) Zunächst überprüft es, ob das Skript im MF-Modus gestartet wurde. Falls nicht, wird der MF-Modus (falls möglich) automatisch vom Skript aktiviert.
2) Danach stellt es den Fokuswert (falls möglich) auf den Wert ein, der vor dem Skriptstart definiert wurde.
3) Danach zeigt es an der Konsole folgende Werte an:
a Current step: Aktuelle Schrittweite für Fokusänderungen
b Wanted focus: Gewünschte Fokusdistanz
c Focus set to: Von CHDK ermittelte Fokusdistanz

Das obere angehängte Bild zeigt die z.B. ermittelten Werte beim Skriptstart mit den Skript-Defaultwerten (Distanz = 2m).
Der CHDK-Befehl, den MF auf 2,00 m einzustellen, führte dann in der Realität stattdessen zum Fokuswert von ~ 2,7 m, was an der verwendeten SX240 anscheinend der nächst mögliche Wert war.

Mit diesem Skript kann man also testen, welche MF-Distanzen tatsächlich eingestellt wurden nach Befehlen von CHDK-Skripten zu MF-Distanzen!

Jetzt kommt der eigentliche Clou:
Ausgehend von dieser beim Skriptstart voreingestellten Distanz kann dieser Fokuswert nun beliebig verkürzt oder verlängert werden mit den Tasten < (links = kleiner) oder > (rechts = größer), wobei die Änderung stets mit der Schrittweite stattfindet, welcher aktuell beim Wert "Current step" vorgegeben ist.
Dabei werden keine Bilder gemacht, und das Ergebnis muß am Bildschirm der CAM begutachtet werden.
Über die Tasten Up und Down kann dabei die gewünschte Schrittweite einer Fokusänderung eingestellt werden. Dabei sind sehr kleine bis hin zu sehr großen Fokusschritte einstellbar im Bereich 1mm - 5mm - 1cm - 5 cm - 10 cm - 50 cm - 1m - 5m - 10m - 50m -100m

Fazit zu diesem Skript:

Damit kann man beliebige Fokusdistanzen versuchen einstellen und man erhält dazu zusätzlich das Ergebnis, was die CAM danach tatsächlich (laut CHDK) eingestellt hat. Genau dafür hatte ich damals angefangen dieses Skript zu programmieren, und die aktuelle Beta-Version funktioniert diesbezüglich auch trotz der vorher genannten bekannten Fehler einwandfrei.

Verwendung dieses Skriptes bei Makroaufnahmen:

Die Default-Vorgabewerte des Skriptes bzgl. Distanz (2m) und Schrittweite (1m) sind für Makroaufnahmen völlig ungeeignet.
Besser ist es, sich im CHDK-Skript-Menü für bspw. den Parametersatz 0 (siehe zweites Bild) dazu eigene neue Voreinstellungen zu schaffen.
Bei den gezeigten Vorstellungen liegt die Startdistanz dabei bei 5 cm und die Startschrittweite bei 1 cm.
Starte ich dieses Skript damit an meiner SX240 wird die ca. 5 cm entfernte Telefon-Tastatur scharf dargestellt, ohne überhaupt vorher den Macromodus an der SX240 aktiviert haben zu müssen (siehe drittes Bild).

Bei Deinem zusätzlichen Weitwinkelvorsatz wird es natürlich besonders knifflig bzgl. optimaler Schärfe.
Mein Skript sollte Dir zu den nötigen MF-Fokusvorgaben aber weiterhelfen können.

Last not least:

Es ist schade, daß meine aktuelle Beta-Skriptversion noch keine Aufnahmen machen kann.
Ein an einem hochwertigen Monitor analysiertes Bild ist oft hilfreicher als die Displayanzeige an einer CAM.
Ich werde versuchen, das noch nachzurüsten.

Liebe Grüße
Werner_O
Dateianhänge
Default_Start.jpg
Start mit den Defaulteinstellungen
Default_Start.jpg (30.79 KiB) 18737-mal betrachtet
Voreinstellungen_Macro.jpg
Voreinstellungen für Macro
Voreinstellungen_Macro.jpg (29.13 KiB) 18737-mal betrachtet
Start_bei_5cm.jpg
Autostart bei 5 cm
TestFocus.zip
Skript TestFocus v1.01 beta
(3.83 KiB) 758-mal heruntergeladen
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Neues Intervallskript "IntervWO"

Beitragvon kolja » 19.07.2018, 19:16

Hallo Werner

Ich hoffe, du hast dein Thema aboniert ;-)

Vor einem Jahr hatte ich unser Timelapsvorhaben irgndwann fallen gelassen,
jetzt würde ich es gerne nächste Woche nochmal versuchen.

Mein Setup:
PowerShot G7
WW-Converter (nicht original, AF funktioniert nur im Makromodus)
Flashair SD Karte
aktuelle CHDK Version

Aufnehmen möchte ich ein Festivalaufbau über mehrere Tage von einem 8m hohen Turm aus.

Jetzt habe ich, ohne CHDK, herrausgefunden, dass wenn ich den MF auf 75mm stelle,
die Bilder ausreichend scharf werden.

Wenn ich nun aber diese 75mm in deinem Skript einstelle,
bekomme ich nach dem Auslösen folgende Meldung:

Auto-FixFocus ist aktiviert:
Die CAM ist im Auto-MF modus
Manueller FixFokus ist aktiviert:
Focus gesetzt auf 1,295m
Erstes Bild in....

Und natürlich wird nicht richtig fokusiert :-(

Mit dem TestFocus Skript bekomme ich leiner nie ein scharfes Bild auf dem Monitor angezeigt.

Was mache ich falsch?

Danke und liebe Grüße

Kolja
kolja
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 74
Bilder: 1
Registriert: 27.08.2012, 13:05
Wohnort: Kassel
Kamera(s): G7, momentan nur eine...

Re: Neues Intervallskript "IntervWO"

Beitragvon c_joerg » 20.07.2018, 08:47

kolja hat geschrieben:Und natürlich wird nicht richtig fokusiert :-(

Aber warum fokussierst du denn nicht manuell, machst ein Testfoto und kontrollierst die Aufnahmen?
Alles andere wäre mir zu riskant....
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: Neues Intervallskript "IntervWO"

Beitragvon kolja » 20.07.2018, 16:33

Hi

Um zu fokussieren muss ich entweder den MakroModus aktivieren und den AF seinen Job machen lassen,
oder eben mit dem MF auf 75mm scharf stellen.

Leider habe ich eben einen altn Beitrag gefunden, wo mir gesagt wird,
das die G7 kein set_focus() verwenden kann.

Ich glaub, das war der Grund, warum ich letztes mal aufgegeben hatte...

Gruß Kolja
kolja
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 74
Bilder: 1
Registriert: 27.08.2012, 13:05
Wohnort: Kassel
Kamera(s): G7, momentan nur eine...

Vorherige

Zurück zu Code-Ecke

Wer ist online?

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

cron