| Fraser Speirs ( @ 2005-12-04 20:25:00 |
More Aperture hacking
Between you and I, dear readers, I pretty much know how to read all the data from an Aperture library. A few things still remain, but I imagine they will give up their secrets sooner or later:
I don't know how to get my hands on the Core Image transforms applied to versions just yet. I can list them, but it's not immediately obvious how to apply some of them through the Core Image API. It would seem that some of the adjustments available in Aperture are custom kernels not generally available in Core Image. Specifically, these are: Auto Levels, Bilateral Filter, Colour Cast Correction, Gaussian Pen, Hot Pixel, Levels, Patching, Red Eye, Shadow/Highlight and Spotting.
Image adjustment entities have a mysterious 600-byte binary attribute in the Aperture database and I don't know what it's for.
The Aperture library has some binary cache files called AP.Tinies, AP.Minis and AP.Thumbnails. I don't yet know how to read these - they're not in any obvious format.
The library is obviously a very custom bundle, with bundles within bundles within bundles, so quite a lot of path magic has to be done.
At the end of the day, it might be quicker and more reliable just to call Aperture over Applescript to export rendered Versions than to try to reimplement Aperture's custom Core Image kernels myself.....hmmm.
[Update: Some evidence at Flickr]
Between you and I, dear readers, I pretty much know how to read all the data from an Aperture library. A few things still remain, but I imagine they will give up their secrets sooner or later:
I don't know how to get my hands on the Core Image transforms applied to versions just yet. I can list them, but it's not immediately obvious how to apply some of them through the Core Image API. It would seem that some of the adjustments available in Aperture are custom kernels not generally available in Core Image. Specifically, these are: Auto Levels, Bilateral Filter, Colour Cast Correction, Gaussian Pen, Hot Pixel, Levels, Patching, Red Eye, Shadow/Highlight and Spotting.
Image adjustment entities have a mysterious 600-byte binary attribute in the Aperture database and I don't know what it's for.
The Aperture library has some binary cache files called AP.Tinies, AP.Minis and AP.Thumbnails. I don't yet know how to read these - they're not in any obvious format.
The library is obviously a very custom bundle, with bundles within bundles within bundles, so quite a lot of path magic has to be done.
At the end of the day, it might be quicker and more reliable just to call Aperture over Applescript to export rendered Versions than to try to reimplement Aperture's custom Core Image kernels myself.....hmmm.
[Update: Some evidence at Flickr]