In diesem Beitrag möchte ich kurz aufzeigen wie man in der Software “Sony Imaging Edge Remote” Fokus Bracketing für Fokus Starking automatisieren kann.
Sony Imaging Edge Remote ist in der Lage die Kamera fernzusteuern incl. Auslösen und verstellen des Fokus, hierzu gibt es im Menü „Werkzeuge|Foto” bzw. „Werkzeuge|Nah“ mit < << <<< bzw. „Werkzeuge|Weit“ mit >>> >> > über die sich der Fokus in größer bzw. kleinen Schritte verstellen lässt.
Da diese Menüpunkte auch über Tastaturkürzel verfügen habe ich mir in Windows PowerShell ein kleine Skript erstellt welches dieses Schritte automatisch in einer Schleife macht für die Anzahl der gewünschten Fotos, und dabei den Fokus zwischen jedem Foto ein Stück weiter verstellt.
Das Ergebnis kann man sich in diesem Video anschauen
Video-Link: https://www.youtube.com/watch?v=NY_YheIUXz8
Und hier ist das PowerShell Script:
# Semi Automatic Focus Bracketing / Focus Stacking Script via Sony Imaging Edge USB Tethering for Sony Cameras like A7III/A7RIII/A7SIII/A7RIV/A9/A9II/A7C/A1/etc.
# Author: Andreas Mariotti / Inital Version 25.07.2018 / Last Update 18.08.2021
# Usage: Start Imaging Edge Remote, connect your camera via USB, change camera to manual focus mode, set the focus on start position (near), open this script via PowerShell_ISE.exe, change the values of $Count, $Speed and $Sleep variable in line 5-7 to your needs, then stat the script
$Count = 50 # Number of photos per stack
$Speed = 'ttttt' # Focus increment/speed: y=fast, t=medium, r=slow (you can enter multiple ones too, for me 5 times t works perfect for 10cm of around objects via Sony SEL90M28G at F8
$Sleep = 3000 # Delay between each shoot in miliseconds, depeds on your shutter speed, transfer speed, and flash recycle times when a flash is used
Add-Type -AssemblyName Microsoft.VisualBasic
Add-Type -AssemblyName System.Windows.Forms
for ($i = 1; $i -lt $Count; $i++)
{
Write-Host "Processing photo $i"
[Microsoft.VisualBasic.Interaction]::AppActivate("Remote")
Start-Sleep -Milliseconds 500
[System.Windows.Forms.SendKeys]::SendWait($Speed)
Start-Sleep -Milliseconds $Sleep
[System.Windows.Forms.SendKeys]::SendWait("1")
}
Und hier als Downloadbare Datei: FocusBracketing
Hallo Hr.Mariotti, ich habe mit Interesse Ihren Beitrag gelesen und auch versucht das Script mit meiner A7III zu testen. Leider funktioniert es nicht so wie in Ihrem Video. Ich bekomme nur ein paar Bilder mit keinem Fokusunterschied. Dies kann natürlich auch an meinem Setup liegen. Ich verwende einen Sigma MC-11 Adapter und ein 50mm Canon Objektiv. Welches Objektiv haben SIe verwendet? Grundsätzlich kann ich aber mit der Imagine Edge aber alle Funktionen, auch den manuellen Fokus, ansteuern. Was könnte es noch sein?
Vielen Dank im Voraus. MfG D.Müller
Ich habe das bei mir mit dem Sony SEL90M28 getestet. Gute Frage warum es bei ihnen nicht funktioniert. Folgende Ideen hätte ich:
Damit es funktioniert ist es wichtig die Kamera innerhalb der Imaging Edge Software auf manuellen Fokus zu stellen (nicht den MF Schalter am Objektiv verwenden, sondern in der Software!)
Mir selbst ist außerdem aufgefallen, dass man die Fokusschritte bei der mittleren oder langsamen Geschwindigkeit kaum sieht, damit man sie deutlich sieht mal die Variante „Schnell“ probieren, also im Skript bei der $Speed Variable ein kleines y eintragen.
Wenn das alles nicht hilft, kann es auch gut sein, dass es an der Kombination MC11 Adapter und Canon Objektiv liegt, da gibt es ja in machenden Konstellationen Einschränkungen.
Funktioniert die Fokusveränderung unabhängig vom Skript, wenn innerhalb der Imaging Edge Software der Menüpunkt „Werkzeuge | Weit | >>>“ ausgewählt wird?
Danke für die schnelle Antwort.
Ja, die manuelle Fokus Einstellung via Imagine Edge funktioniert und soweit habe ich jetzt auch den Setup verstanden. Ich werde mir ein passendes Objektiv besorgen und teste dann weiter.
Noch einmal Vielen Dank.
MfG D.Müller
Hello,
Very nice script, it helped me a lot. But I found it that it’s impossible to get the exact number of photos I programmed. Everytime I run this script it misses a few photos. Everytime it is a different number for example 37 instead of 40 programmed. Did you experience the same behaviour?
Regards,
Cristian
Yes this happens sometimes, possibly it helps to increase the value of the $Sleep variable, e.g. 500 instead of 100
Yeah, I put 700 from the start but it does not matter. It seems that sometimes keystrokes are not sent for whatever reason.
BTW, there is somebody who is selling this same solution: Traumflieger Highspeed Bracketing
hi .. will this work with A6000
Unfortunately this will not work on the A6000, this model has some limitations when tethered, you find this information here: https://support.d-imaging.sony.co.jp/app/imagingedge/en/devices/#emount
Hallo,
vielen Dank für diesen Beitrag.
Kann man die Skript auch unter Mac ausführen? Ich habe auf meinem Mac PowerShell installiert, oder reicht das nicht aus?
Für Ihre Antwort danke im Voraus.
Beste Grüße
Ich habe das Skript auf Windows entwickelt. Ich weiß es gibt seit kurzem auch PowerShell für MacOS und Linux, ich vermute dort wird es aber nicht funktionieren, denn das Skript nutzt die Send Keys Funktion aus den Windows Forms, das wird es so auf dem Mac nicht geben.
Hallo Andreas,
danke für die Bereitstellung des Skript. Nachdem ich FocusStack auf meinem PC installiert habe, zeigt sich ein Problem.
Skript ausführen F5 antwortet (unten links) mit Fehler.
Sony SEL90M28 an A7R3. Win7.
Ich danke für eine Antwort im Voraus.
Beste Grüße
Josef
Hallo Josef, kann es evtl. sein, dass das Skript gar nicht erst losläuft und unten im blauen Fenster was bzgl. „Execution Policy“ steht? Falls das der Fall ist vor dem Ausführen unten im blauen Fenster mal folgendes eingeben und bestätigen:
set-executionpolicy unrestricted
Falls es das nicht ist, mir bitte mal den genauen Wortlaut der Fehlermeldung sagen
Gruß Andreas
Andreas,
mit folgenden Settings (A7MIII) + 24-105G OSS):
$Count = 20 # Number of photos
$Speed = ‘y’ # Focus speed: y=fast, t=medium, r=slowy1y1
$Sleep = 1000 # Time between each shoot in milliseconds
und Manual und MF bekomme ich lediglich >>NUR 2-3 Bilder<<
Woran könnte es liegen??
LG David
Vergtass zu sage – die 2 Bilder sind absolut identisch
Unsicher, bzgl. MF, in Imaging Edge oder am Objektiv via Schalte? Schalter bitte auf AF lassen, nur in Imaging Edge auf MF gehen
Also ich habe eben in Visual Studio unter VB.NET ein Windows Programm geschrieben, welches genau das macht. Im Prinzip funktioniert alles. Mir ist allerdings auch aufgefallen, das Sonys Remote App manchmal Tastatureingaben komplett ignoriert, auch bei einer sehr hoch eingestellten Verzögerung von z.B. 5 Sekunden. Selbst bei der manuellen Bedienug konnte ich feststellen, dass meine Tastatureingaben manchmal komplett ignoriert wurden, obwohl die Kamera nicht am arbeiten war. Es scheint sich um einen Bug in der Remote-Software zu handeln.
Die “Traumflieger High Speed Bracketing” besitze ich auch. Selbst da funktioniert nichts mehr. Vielleicht liegt es an dem kürzlichen Update von Image Edge?!
Der Programmierer der Traumflieger-App hat mit nun den entscheidenden Hinweis gegeben, um das Problem zu lösen:
[…] ich vermute, dass es bei Ihrer Weitwinkelstellung zu einer Problematik gekommen ist. Versuchen Sie bitte einmal, eine höhere Brennweite zu nutzen bzw. auch eine kürzere Intervallzeit. Bei 24mm kommt es schnell vor, dass auch im Nahbereich die Unendlichkeitsstellung detektiert wird was die Schärfenreihe abbrechen lässt. […]
–> Ich nutze auch das SEL-24105. Bei 24mm funktioniert es gar nicht. Ich hatte kaum Auslösungen. Sobald ich aber auf 105mm stelle läuft alles so wie es soll. Jedes Bild wird auch ausgelöst! Hoffe ich konnte damit helfen.
[…] When I finally get stacking done, I will post my results. I even wrote a PowerShell script for taking the shots with Sony-Remote app. I fully automated the process of taking Light, Dark, Bias and Flat-frames. Night is short tho you gotta use it 😎.This script was inspired by this site. https://www.andreasmariotti.de/automating-focus-stacking-in-sony-imaging-edge-via-powershell/ […]
Servus.
Erstmal danke für die tolle Umsetzung, Sony will uns ja bei diesem Thema kameraintern nicht unterstützen….😠
Ich hab nach etwas Probieren folgende Parameter/ Variante am Start:
An der Kamera eingestellt:
RAW Speichern auf PC UND Kamera
Script geändert auf:
# Automated Focus Stacking via Sony Imaging Edge for Sony A7III/A7RIII/A9
# Author: Andreas Mariotti / 25.07.2018
# Usage: Start Imaging Edge Remote, connect your camera, change camera to manual focus mode, focus on start position, run this script.
# Optional: Change the values of $Count, $Speed and $Sleep to your needs
$Count = 20 # Number of photos
$Speed = ‘ttttttttttttt’ # Focus speed: y=fast, t=medium, r=slow
$Sleep = 3 # Time between each shoot in seconds
Add-Type -AssemblyName Microsoft.VisualBasic
Add-Type -AssemblyName System.Windows.Forms
[Microsoft.VisualBasic.Interaction]::AppActivate(“Remote”)
for ($i = 1; $i -lt $Count; $i++)
{
Start-Sleep -Seconds $Sleep
[System.Windows.Forms.SendKeys]::SendWait($Speed)
Start-Sleep -Seconds $Sleep
[System.Windows.Forms.SendKeys]::SendWait(“1”)
}
—
Die Zwischenschritte und die Zeit kann man je nach verfügbarer Rechenleistung und Übertragungsgeschwindigkeit auch wieder etwas schneller machen !
Da kommt nach dem Stacking auch was Tolles raus 🤘
Hallo, danke das du Dir die Mühe gemacht hast.
Habe den Script noch nicht ausprobiert. Aber zuvor eine Frage, da ich nicht sehr mit dieser Materie vertraut bin.
Ist dieser Script nur für den PC – Win anwendbar oder kann ich es auch auf meinem Handy / Tablet anwenden?
Danke im voraus
Lg
Das Script ist nur für Windows PCs mit Sony Imaging Edge Remote.
Für Handy und Tablet, also Android oder Apple iOS, gibt es nur das im Funktionsumfang abgespeckte Imaging Edge Mobile, welches kein USB-Tethering unterstützt, sondern nur ein eingeschränktes Fernsteuern mittels WIFI.
Ok, here is the solution if you find this script unreliable. For example you set to take 100 photos and you end up with 80 and you don’t know why. For some unknown (I am polite) reason clever engineers at Sony decided that EVEN if you set the lens to manual focus the camera will obey the settings in Focus Priority in AP-S and AP-C mode (!!!). Normally on any given camera on this planet if you manually focus the lens you expect when pressing the trigger that the camera will take the shot. After all you decided where you want the focus to be. But not on Sony! Sony decided that if focus is not confirmed even if you manually focus the camera can veto the trigger release. Solution: set Focus Priority to Release.
PS. This script can be replaced with B8Stack.