Sunday, April 23, 2006

Aperture woes - and iPhoto 6 image export

[PS. If you have trouble reading this, note that Blogger's formatting and editing tools are astonishingly broken. Don't use bullets!]

Apple - Support - Discussions - Aperture performance vs. iPhoto ... sums it up. Aperture 1.1 is just too darned slow save on the very highest performance machines and the very highest end GPUs. It's an application for the next generation of Macs. The only caveat is that there may be a way to make it workable by constraining views to smaller thumbnail subsets.

So now I'm on Plan B. This is using Adobe Elements for initial RAW and JPG image review and edits, then export as JPG 99% and store in iPhoto 6. Alas PNG won't work since it strips metadata and JPEG2 won't work because of unclear metadata standards and an uncertain future. TIFF 6/EXIF with compression or DNG (basically TIFF 6 with better metadata) is the other option, but when iPhoto edits TIFF I think it stores the edited file as uncompressed TIFF -- huge.

In the meantime I did some experiments with iPhoto image formats and export/import. I used GraphicConverter 'save as' to make some of these inferences. I'll update what's below with more testing:
  • If I import RAW from my Digital Rebel XT into iPhoto 6.02/10.4.6 the resulting image uses the Adobe RGB color space.
  • iPhoto image export does not include an image preview (good!)
  • If I edit a RAW file in iPhoto the edited file format is JPG. Oddly enough iPhoto has a "reprocess RAW" option, which can only transform the original, not the JPG. I assume that's related to how RAW processing occurs in Aperture. [Note: There's an advanced iPhoto option to save edited RAW as 16 bit TIFF. This would not only change this behavior, I suspect export original might export the edited TIFF rather than the CR2 file. Since 16bit TIFF files are enormous I didn't do this.]
  • When iPhoto exports as PNG, JPG or TIFF it exports the edited image. When it exports as "Original" it exports the edited image for PNG or JPG, but the original image for RAW/CR2. The latter makes sense when one realizes that iPhoto always converts CR2 to JPG for editing, there's no "edited CR2" to export. So the app has to choose between exporting a JPG (clearly wrong) and exporting the original (not so clearly wrong, but not right either).
  • When iPhoto exports TIFF the metadata is well preserved on round-trip but there's no compression at all. A 5-6 MB PNG vs a 22MB TIFF!
  • When GraphicConverter converts TIFF to JPG (resource fork turned off, the fork adds about 100K, use QuickTime for compression) there's very little growth in file size from a 90% to 100% image quality setting. When using GC to produce images that will be archived, there's no reason to drop below 100% quality.
Some interesting comparisons on an exported image from iPhoto (image sizes in millions of bytes, not in MBs). Note that Preview is an amazing little application, but it doesn't let one save CR2 or 16bit TIFF as anything but lossless.

Original CR2: 13.27 converted to:

JPG w/ iPhoto: 4.1
PNG w/ iPhoto: 13.1
TIFF 8 bit w/ iPhoto: 23.9
TIFF 16 bit LZW w/ Preview: 62.23 (Note that CR2 RAW images have 12 bits of color. JPG only has 8. TIFF has either 8 or 16; one sacrifices date, the other wastes disk space.)
PSD w/ Preview(!): 47.7

The 8bit TIFF converted to:

JPG BEST w/ Preview: 8.56
JPG 100 w/ GC: 4.11
JPG 99 w/ GC: 4.03
JPG 95 w/ GC: 4.01
JP2 Lossless: 8.63


CR2: 11.1
JPG w/ iPhoto: 2.9 (23.83 as TIFF)
JPG in camera: 3.54 (23.89 as TIFF)
Wow. This surprised the heck out of me. A few comments as I figure this out:
Preview has a lot of unexpected capabilities. Most apps, including GraphicConverter, can't fully handle 16 bit TIFF, but it has no problem.

I'd figured from my first test that iPhoto's JPG export was minimally lossy, the only less lossy export coming with Preview -- it seems to save as lossless JPEG (rare format). In my second test the in camera JPEG is significantly larger than the out-of-camera iPhoto CR2 to JPEG result. I wondered then if the camera was losing less data than the iPhoto CR2 to JPG conversion. However, when I normalized both by using GC to save as TIFF, the sizes were 23.89 and 23.83 respectively. In other words it in-camera JPEG is simply a less efficient compression, it holds no more real data than the JPEG iPhoto produces from the CR2 file.
More conclusions later, but for now:
CR2 is a very compact format. In terms of capturing all image data, the next jump is to PSD. Almost 400% growth required.

iPhoto's JPG output is better than I'd expected. It's the equivalent of GraphicConverter's 100% option. Also to my surprise, there's no reason to use anything less than 100% when saving images in GC -- file size savings from greater compression are minimal.

Preview may support lossless JPG, which is almost unheard of. JPEG2000 lossless gives similar results.

iPhoto is a very sophisticated product.
My new workflow is as follows:
Use RAW in my camera.

Import images from camera into an 'iPhoto Intake Library' (I use IPLM to switch libraries).

Edit in the Intake Library. When done export as JPG. Note, however, images will have Adobe RGB color space rather than my preferred sRGB.

Rename the exported images using my personal convention (date/roll info is part of file name, no possible future name collisions).

Import into iPhoto for storage.
My primary concern with this is that I'm working in Adobe RGB rather than, as I prefer, sRGB.

No comments: