Exiftool outputs different path information compared to Photoshop

Started by simon.h, February 12, 2019, 06:41:39 AM

Previous topic - Next topic

simon.h

Hi, we have a problem for some JPG files, containing Photoshop path metadata, to read these paths with Exiftool. In the attachments there is an example file '25155190-25155191.jpg'.

The example file contains one path 'Path 1' according to Photoshop. But when I run the following command a different path 'Pfad 1' is output:

exiftool -config config_files/photoshop_paths.config -allpathpix 25155190-25155191.jpg

Output:

Path Pix 7d0                    : Pfad 1 - (35.8828,60.1639) (35.8434,56.6333) (35.8703,53.6862) (35.8455,52.7225) (35.9705,50.9726) (36.4999,48.0977) (39.6559,44.9713) (44.7868,44.3659) (48.9622,46.7876) (50.5463,51.2731) (50.3857,53.1024) (50.2507,53.6627) (50.0583,54.864) (49.4518,58.3479) (48.653,61.4475) (45.8022,64.2679) (41.4676,64.8725) (37.2724,62.6035)

The shape of the output anchor points is completely different from whats displayed in Photoshop for 'Path 1'. I also tried to output the anchor points with the identify command of ImageMagick which actually gives me the same result as displayed in Photoshop:

identify -format '%[8BIM:1999,2998:#1]' test_job_25155190/25155191/output/25155190-25155191.jpg

Output:


<?xml version="1.0" encoding="iso-8859-1"?>
<svg xmlns="http://www.w3.org/2000/svg" width="87" height="87">
<g>
<path fill-rule="evenodd" style="fill:#000000;stroke:#000000;stroke-width:0;stroke-antialiasing:false" d="
M -0.61549 4.46233
C 5.90874 4.6162 18.3109 5.04704 20.219 5.07782
C 22.127 5.10859 37.4835 5.75487 39.4224 5.78565
C 41.3612 5.81642 60.9954 6.55501 63.1496 6.58579
C 65.3039 6.61657 73.8284 6.98585 75.4595 7.10894
C 77.0906 7.23205 77.9522 7.44747 78.3523 7.72444
C 78.7524 8.00141 79.4602 8.49381 79.3371 10.0325
C 79.214 11.5713 77.8907 24.5274 77.7368 25.7892
C 77.5829 27.0509 76.2904 37.4835 75.9211 39.884
C 75.5518 42.2844 74.167 51.9169 73.6746 54.7481
C 73.1822 57.5794 71.9204 63.8574 71.8281 64.3191
C 71.8896 65.0269 70.9356 70.2278 70.6894 70.9048
C 70.4432 71.5819 69.6739 72.8436 68.7198 73.1206
C 67.7658 73.3976 39.8224 73.7669 38.6222 73.7669
C 37.422 73.7669 34.9908 73.9515 34.4984 73.8592
C 34.4984 76.0134 34.1089 85.1769 34.1089 85.3041
C 34.1089 85.4313 33.7273 85.7281 33.8757 85.8977
C 34.0241 86.0672 34.1725 86.1732 34.1725 86.4064
L 34.1089 87.9751
L -2.43786 88.2295
L -1.8231 65.4196
L -0.61549 4.46233 Z
"/>
</g>
</svg>


The output anchor points are different compared the those output by the Exiftool command. Do you have any ideas why that happens with Exiftool? Could there be some kind of versioning for those metadata tags where not the current one is read? Thanks for any help!

Tested software
macOS Sierra 10.12.6
Exiftool 11.26
ImageMagick 7.0.8-12
Adobe Photoshop CC 2018

Phil Harvey

Your JPEG has photoshop information in two locations:

> exiftool ~/Desktop/25155190-25155191.jpg -u -Photoshop_0x07d0 -G5
[JPEG-APP13-Photoshop] Photoshop 0x07d0         : ..[...]
[JPEG-APP1-IFD0-Photoshop] Photoshop 0x07d0     : ..[...]


Unfortunately, each location contains a different path.  ExifTool is showing you the second path, while identify and Photoshop use the first path.

In a JPEG image, the Photoshop information should be in APP13, so it would be better if ExifTool gave priority to this version, but unfortunately the way it works currently is that ExifTool will show you the one that comes later in the file.  I will look into adding a warning for Photoshop information in the wrong location, and see about lowering the priority of this metadata.

- Phil

Edit:  Looking into this more, I see that adding the -validate option already warns about this.  And enabling strict MWG mode will cause the incorrectly located photoshop information to be ignored.  So try adding  -use MWG to your command to see the correct path.

Edit2: ExifTool 11.27 will give priority to the Photoshop path stored in the correct location for JPEG images.
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

simon.h

Thanks for clearing up the issue! It really helps us a lot understanding the problem.

So I need to investigate how the JPG file was created/modified causing the wrong additional path information. Besides that its good to be able to change the priority of the Photoshop path locations by using the MWG module for now.