Exif data injected into scanned images not detected by iPhoto

Started by jmernin, March 30, 2013, 08:04:35 PM

Previous topic - Next topic

jmernin

I recently scanned a lot of old photos for my parents and now have a collection of 2,000 PNG files which I plan to import into iPhoto '11 on my Mac.

I took the liberty of naming each of the files based on the date they were originally taken (as well as who is in the photo) and want to inject this data into the Exif data of each file so that iPhoto will detect it upon import (particularly the date info).

I've been adjusting the "datetimeoriginal" and "description" tags using exiftool and am happy that this this is working. However, no matter what I do, iPhoto doesn't seem to recognise my changes and insists on using the file modification date.

If I edit the datetimeoriginal (or description) tag of a file taken from my digital camera (Canon Powershot), iPhoto is OK with this, and correctly shows the date of the imported photo.

Any idea what might be wrong with the structure/format of the exif data in my scanned images? Very little of the data is appearing in Mac Preview either.

Phil Harvey

Perhaps there are people reading this forum that may know what metadata iPhoto recognizes, but I think you may have better luck asking this question in an Apple iPhoto forum.

- Phil
...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 ($).

jmernin

Thanks Phil, you're probably right.

As I said, if I take a file from my digital camera and adjust the datetimeoriginal tag in that (using exiftool), iPhoto is perfectly happy with this and adjusts the date for the imported picture. It's only with the scanned images I'm having difficulty.

That said, if anyone else on this forum has any additional information, I'd be grateful for their input.

--
James

Phil Harvey

Hi James,

The brute-force method is to start with 2 images, one that works in iPhoto and one that doesn't, then use ExifTool to change the metadata of the working image bit by bit to match the other one until you find the change that breaks the iPhoto behaviour.

- Phil
...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 ($).

jmernin

Yep, have been working my way through that process (but possibly in the wrong order). I've tried importing one of my scanned images into iPhoto and then adjusting the description/date fields from there, followed by re-exporting the image from iPhoto too see if I can spot which field/tag may hold the key. However, this hasn't been very fruitful to date.

However, since we last spoke I found some other articles which suggest PNG format may not be the best format to combine with Exif (apologies if this is a known issue and if I should have clarified earlier). So on foot of this I went back to the scanning software and rescanned a single image in JPEG format. I then ran a few simple exiftool commands to inject a revised datetimeoriginal and description and, voila, it works!

So, in short, it would seem that my preference for PNG format (in other things I've done recently) may hold the key. I'm off now to find a PNG -> JPEG converter to see if that might be an option.

Thanks for your feedback/advice nonetheless. I've come back with an update once I know more.

James.

jmernin

OK, problem solved for me. When I switched to using JPEG files everything worked a treat and the Exif data I injected into the JPEG files duly appeared in iPhoto without issue.

All I need to do now is convert all of my PNG files to JPEG but ImageMagick should be able to do this for me (with a little scripting I'm sure).

--
James.

Phil Harvey

Sorry I missed the PNG point in your first post.  WIth PNG I would have suggested writing XMP since there is no official way to store EXIF in a PNG image.  But I doubt that iPhoto supports XMP in PNG.  In general, PNG support is very poor.

- Phil
...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 ($).