meshua
03.05.2017, 09:11
Guten Morgen,
Dies ist eine Fortsetzung (http://www.sonyuserforum.de/forum/showpost.php?p=1912845&postcount=661) aus dem A9-Thread, wo "herby1961" ein Tool (Python-Script) zur Visualisierung von AF-Fokuspunkten (https://github.com/SK-Hardwired/s_afv) in SONY JPEG/ARW Dateien vorgestellt hat. Danke hierfür!!! :top:
Installation und Nutzung
In diesem separaten Thread soll es um einen Erfahrungsaustausch bei Verwendung des Tools "Visualizer of AF data from Sony cameras" gehen. Das Script ist quelloffen und auf GitHub herunterladbar (https://raw.githubusercontent.com/SK-Hardwired/s_afv/master/afv.py). Es wird bisher erfolgreich unter Windows, MacOS und Linux (Ubuntu 16.04.2) verwendet.
Windows 7:
Phyton von https://www.python.org/downloads/release/python-360/ installiert
https://bootstrap.pypa.io/get-pip.py local abgespeichert.
durch doppelklick die Datei get-pip.py ausgeführt (nach installation von Python)
auf einem Windows Command Prompt die Kommandos:
pip install matplotlib
pip install rawpy
pip install pillow
Phil Harvey's EXIFTool binary (named exiftool.exe) to be placed in the same folder as afv.py script. Exiftool download (http://www.sno.phy.queensu.ca/~phil/exiftool/)
Das Phyton Script https://github.com/SK-Hardwired/s_afv
Mittels Copy and Paste in einen Texteditor kopiert und ins selbe Verzeichnis wie Punkt 5.)
afv.py durch doppelklick starten.
(Quelle (http://www.sonyuserforum.de/forum/showpost.php?p=1912875&postcount=663))
MacOS:
Python 3.4+ herunterladen: Python 3.6.1 - Mac OS X 64-bit/32-bit installer (https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg)(for Mac OS X 10.6 and later), Installationsanleitung folgen. Python 3.x wird parallel zum mit MacOS ausgelieferten Python 2.7 installiert und kann anschließend mit dem Kommando "python3" direkt aufgerufen werden.
https://bootstrap.pypa.io/get-pip.py lokal abspeichern (z.B. im eigenen Benutzerverzeichnis ./Applications/AFV) und mit folgendem Aufruf nach Python3 installieren: "sudo python3 ./Applications/AFV/get-pip.py" (via 'sudo', weil zur Installation administrative Rechte benötigt werden - sonst funktioniert es nicht ohne Fehler.)
Jetzt nacheinander die für das Script erforderlichen Pakete installieren: Dies geschieht am einfachsten mit PIP, weshalb dies im Schritt zuvor installiert wurde. Um die PIP-Version der Python3.x Installation anzusprechen, erfolgt der Aufruf via 'pip3':
pip3 install matplotlib
pip3 install rawpy
pip3 install pillow
Phil Harvey's EXIFTool (http://www.sno.phy.queensu.ca/~phil/exiftool/) für MacOS herunterladen (Mac OS X Package: ExifTool-10.51.dmg (2.6 MB) (http://www.sno.phy.queensu.ca/~phil/exiftool/ExifTool-10.51.dmg)) und in den gleichen Ordner (./Applications/AFV/) wie das noch gleich herunterzuladende eigentliche Script 'afv.py' platzieren
Abschließend noch das eigentliche Phyton Script für die Fokuspunkt-Darstellung herunterladen: https://raw.githubusercontent.com/SK-Hardwired/s_afv/master/afv.py und ebenfalls in den zuvor angelegten Ordner "./Applications/AFV/" speichern.
Das Script muss noch etwas angepasst werden. Folgende Zeile zu Beginn einfügen:
import matplotlib
matplotlib.use('TkAgg') um Mathplot fehlerfrei nutzen zu können. Außerdem ist im Script noch ein "exiftool.exe" Aufruf vorhanden, wo zumindest der ".exe"-Suffix entfernt werden sollte. ;)
Das Script kann jetzt ausgeführt werden und eine minimalistische GUI sollte erscheinen: "python3 ./Applications/AFV/afv.py"
Linux:
Siehe MacOS.
Zusätzlich muss (gegebenenfalls) noch die "libraw" Bibliothek von Python installiert werden (Danke an RainerWP für diesen Hinweis!):
sudo apt-get install libraw-dev
Troubleshooting
(1) Problem (MacOS/Linux): Beim Laden eines ARW oder JPEG Files (A7MII) kommt es leider zu einer Exception im zusätzlich eingebundenen Paket 'Tkinter':
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 1699, in __call__
return self.func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backends/backend_tkagg.py", line 420, in button_release_event
FigureCanvasBase.button_release_event(self, x, y, num, guiEvent=event)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 1940, in button_release_event
self.callbacks.process(s, event)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/cbook.py", line 554, in process
proxy(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/cbook.py", line 416, in __call__
return mtd(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/widgets.py", line 229, in _release
func(event)
File "./Applications/AFV/afv.py", line 72, in ofile
self.start(F)
File "./Applications/AFV/afv.py", line 136, in start
tag,val = each.split(':',1) # '1' only allows one split
ValueError: not enough values to unpack (expected 2, got 1)
Ursache: "Exiftool" wird im Script an zwei Stellen mit einem unter MacOS nicht kompatiblem Parameter aufgerufen (",shell=True").
Lösung: Den o.g. Parameter aus dem Exiftool-Aufruf entfernen behebt das Problem, und "Exiftool" wird von nun an korrekt ausgeführt.
Soweit eine kurze Einführung zur Installation/Konfiguration und zum Erstaufruf von 'afv.py'.
Beste Grüße, euer meshua
Dies ist eine Fortsetzung (http://www.sonyuserforum.de/forum/showpost.php?p=1912845&postcount=661) aus dem A9-Thread, wo "herby1961" ein Tool (Python-Script) zur Visualisierung von AF-Fokuspunkten (https://github.com/SK-Hardwired/s_afv) in SONY JPEG/ARW Dateien vorgestellt hat. Danke hierfür!!! :top:
Installation und Nutzung
In diesem separaten Thread soll es um einen Erfahrungsaustausch bei Verwendung des Tools "Visualizer of AF data from Sony cameras" gehen. Das Script ist quelloffen und auf GitHub herunterladbar (https://raw.githubusercontent.com/SK-Hardwired/s_afv/master/afv.py). Es wird bisher erfolgreich unter Windows, MacOS und Linux (Ubuntu 16.04.2) verwendet.
Windows 7:
Phyton von https://www.python.org/downloads/release/python-360/ installiert
https://bootstrap.pypa.io/get-pip.py local abgespeichert.
durch doppelklick die Datei get-pip.py ausgeführt (nach installation von Python)
auf einem Windows Command Prompt die Kommandos:
pip install matplotlib
pip install rawpy
pip install pillow
Phil Harvey's EXIFTool binary (named exiftool.exe) to be placed in the same folder as afv.py script. Exiftool download (http://www.sno.phy.queensu.ca/~phil/exiftool/)
Das Phyton Script https://github.com/SK-Hardwired/s_afv
Mittels Copy and Paste in einen Texteditor kopiert und ins selbe Verzeichnis wie Punkt 5.)
afv.py durch doppelklick starten.
(Quelle (http://www.sonyuserforum.de/forum/showpost.php?p=1912875&postcount=663))
MacOS:
Python 3.4+ herunterladen: Python 3.6.1 - Mac OS X 64-bit/32-bit installer (https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg)(for Mac OS X 10.6 and later), Installationsanleitung folgen. Python 3.x wird parallel zum mit MacOS ausgelieferten Python 2.7 installiert und kann anschließend mit dem Kommando "python3" direkt aufgerufen werden.
https://bootstrap.pypa.io/get-pip.py lokal abspeichern (z.B. im eigenen Benutzerverzeichnis ./Applications/AFV) und mit folgendem Aufruf nach Python3 installieren: "sudo python3 ./Applications/AFV/get-pip.py" (via 'sudo', weil zur Installation administrative Rechte benötigt werden - sonst funktioniert es nicht ohne Fehler.)
Jetzt nacheinander die für das Script erforderlichen Pakete installieren: Dies geschieht am einfachsten mit PIP, weshalb dies im Schritt zuvor installiert wurde. Um die PIP-Version der Python3.x Installation anzusprechen, erfolgt der Aufruf via 'pip3':
pip3 install matplotlib
pip3 install rawpy
pip3 install pillow
Phil Harvey's EXIFTool (http://www.sno.phy.queensu.ca/~phil/exiftool/) für MacOS herunterladen (Mac OS X Package: ExifTool-10.51.dmg (2.6 MB) (http://www.sno.phy.queensu.ca/~phil/exiftool/ExifTool-10.51.dmg)) und in den gleichen Ordner (./Applications/AFV/) wie das noch gleich herunterzuladende eigentliche Script 'afv.py' platzieren
Abschließend noch das eigentliche Phyton Script für die Fokuspunkt-Darstellung herunterladen: https://raw.githubusercontent.com/SK-Hardwired/s_afv/master/afv.py und ebenfalls in den zuvor angelegten Ordner "./Applications/AFV/" speichern.
Das Script muss noch etwas angepasst werden. Folgende Zeile zu Beginn einfügen:
import matplotlib
matplotlib.use('TkAgg') um Mathplot fehlerfrei nutzen zu können. Außerdem ist im Script noch ein "exiftool.exe" Aufruf vorhanden, wo zumindest der ".exe"-Suffix entfernt werden sollte. ;)
Das Script kann jetzt ausgeführt werden und eine minimalistische GUI sollte erscheinen: "python3 ./Applications/AFV/afv.py"
Linux:
Siehe MacOS.
Zusätzlich muss (gegebenenfalls) noch die "libraw" Bibliothek von Python installiert werden (Danke an RainerWP für diesen Hinweis!):
sudo apt-get install libraw-dev
Troubleshooting
(1) Problem (MacOS/Linux): Beim Laden eines ARW oder JPEG Files (A7MII) kommt es leider zu einer Exception im zusätzlich eingebundenen Paket 'Tkinter':
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 1699, in __call__
return self.func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backends/backend_tkagg.py", line 420, in button_release_event
FigureCanvasBase.button_release_event(self, x, y, num, guiEvent=event)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 1940, in button_release_event
self.callbacks.process(s, event)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/cbook.py", line 554, in process
proxy(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/cbook.py", line 416, in __call__
return mtd(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/widgets.py", line 229, in _release
func(event)
File "./Applications/AFV/afv.py", line 72, in ofile
self.start(F)
File "./Applications/AFV/afv.py", line 136, in start
tag,val = each.split(':',1) # '1' only allows one split
ValueError: not enough values to unpack (expected 2, got 1)
Ursache: "Exiftool" wird im Script an zwei Stellen mit einem unter MacOS nicht kompatiblem Parameter aufgerufen (",shell=True").
Lösung: Den o.g. Parameter aus dem Exiftool-Aufruf entfernen behebt das Problem, und "Exiftool" wird von nun an korrekt ausgeführt.
Soweit eine kurze Einführung zur Installation/Konfiguration und zum Erstaufruf von 'afv.py'.
Beste Grüße, euer meshua