Before the holidays I was asked to look at Apple’s Aperture from my perspective as a scientist to see how it could be used in a scientific setting. Now that the post holiday catch-up is over I’ve finally had time to sit down with Aperture and evaluate some of the features. I’ll start off by saying that the purpose of this review is not to evaluate every feature as it pertains to image processing. There are already several reviews out there for that, and you can view at least one of them here.

Instead, I will focus on using Aperture as a means to get data organized and cataloged in a scientific setting. I’ll go even further and state that my interest in this topic goes beyond mere curiosity. Data organization, specifically image data, is becoming a real problem for us here at work. One experiment can generate 100’s of images in a single pass whether it’s for x-ray crystallography, electron microscopy or light microscopy. Compound that over 10-30 people per lab, numerous computers, different organization styles and what you have is a complete mess. The NIH requires that primary data be accessible for at least 10 years, so already, many people have a problem due to personnel turnover and computer upgrades.

(Disclaimer: In the interest of transparency, I was asked by someone at Apple Corporate to evaluate the program and also provided a complimentary copy of the retail version)

Hardware Tested On

1.5 GHz PowerBook G4
1.25 GB RAM
ATI Mobility Radeon 9700
OS 10.4.3

An Intel-Mac version isn’t available yet and I found no information about availability for other operating systems (which I’ll discuss later).

Initial Impressions

The package I received contained the media (as expected, of course), but also a manual describing the hardware setup and basic program features. There is also a tutorial DVD that covers the entire spectrum of program features. Of course I’d be lying if I said I dutifully read the manual and watched all of the videos before trying out the program, but they are there for reference when/if needed.

Aperture clearly is designed for higher-end systems (obviously, since the target market is not scientists, but photo professionals), so a PowerBook probably isn’t the best system to test it on. But, none-the-less, the program is small (without examples projects it’s around 38 MB) and is pretty responsive on this particular machine (things start dragging as the number of images in a window increase). Creating a new project and importing images was as easy as right-clicking. Many of the features presented in the default interface, such as color correction, filters etc., I wouldn’t routinely use since I’m mainly interested in organizing and archiving the data and not editing it. There is some additional flexibility in modifying the interface, but it appears that certain elements are hardwired (for example I’d like the adjustments window to go away while still having access to the meta data window. This may be possible, but it’s not obvious. And yes, I did check the manual).

Aperture comes with several predefined layouts all of which you can access via the GUI quickly and easily. Each of the layouts has a distinct purpose but the one I found the most useful was the standard layout which includes the project import/hierarchy pane, thumbnail preview and main editor window. I also kept the Info Panel open (since that allows you to see the meta-data associated with each image).

Supported File Types

Aperture uses Core Image as the image processing “engine”. Core Image supports raw camera formats for a variety of cameras and of course includes support for tiff, png, psd, jpeg, etc. And as we all know it’s well optimized for Mac OS X, so operations performed in Aperture are fast (but also very much dependent on the graphics card and general system configuration).

Data Organization

Since Aperture allows you to see the meta data associated with each image there are several things you can do here that you can’t necessarily do in iPhoto, namely edit the meta data. Some of the data can’t be changed, but you can modify or add certain fields such as keywords (which can later be used for searching). A really great feature is the ability to add/modify the metadata of several images at once. For example, if you want to add a keyword to all of the images acquired on a particular day, you can do so all at once using either the meta data stamp feature or the batch change feature. This makes cataloging images much easier; especially when the differences in images aren’t too obvious from just browsing the thumbnail (cryo-EM images all look the same when they are at 1/10th scale).

In addition to the meta data window there are several buttons that allow you to quickly access and edit the meta data associated with an image by type. For example, you can get to the EXIF or keyword data only by selecting one of the buttons. Alternatively, you can associate meta-data with the archive, presumably that contains notes or important information (such as anomalies during collection or cross-reference information).

Aperture also includes a rating system. For light microscopy images this is a great feature since it allows you to quickly identify, at later time, images of particular interest (for example, ones that you would use for publication or a presentation). This feature could easily be used for marking which gels or radiographs (e.g. from a phosphorimager) are associated with a particular experiment and then cross-reference them with a lab notebook.

Although we are interested in preserving the original data, there are some times when modifying an image is appropriate or could reveal something that might otherwise be obscured. A very nice features of Aperture is its ability to quickly create a duplicate version of an image. The duplicates are then associated with the original so that you can have one copy that is modified and the original unmodified in the display viewer. You can then easily compare the images in the main window (using the “Set Compare” feature).

Another good use for this would be for electrophoresis gels. You could keep the full-sized original and have a cropped version of it for publication. Should you need to go back and re-crop or edit the image, you can do it quickly and easily. As far as I can tell there is no limit to the number of duplicates you can associate with each image. I should also point out that all operations (even on the non-duplicate items) are not destructive. The original data information is always preserved and can be restored quickly.

Having the thumbnail previewer and the main editing window exposed at the same time make it simple to organize and sort images within a project by type or rating. The workflow tools, such as scrolling, selection and meta-data stamps are very intuitive. Aperture makes it easy to move around the interface,especially if you are dealing with a lot of images routinely. You can quickly zoom images or toggle between master and duplicate images using the single button shortcuts (which I like, as it reminds me of some video editing programs I use).

My biggest complaint with the interface is that everything feels smaller than what I’m used to in a “regular” Mac application. But again this is on my PowerBook, presumably things would be different on my desktop workstation.

Archival and Restoration of Data Sets

Since we are trying to organize our data the topic of archiving is an important one. Aperture will allow you to export projects once you are done working. Either individual images, or an Aperture project file which contains all of the images, their meta data, and instructions for processing can be saved out. That project file can be loaded on other systems using Aperture (or saved to a centralized location on a file server). Loading a project back into Aperture simply involves importing the project. Again this can be done over the network as well.

Presumably newer versions of Aperture will be backward compatible with archives created on older versions and that upgrading the software continually will not be a requirement for opening newer archives (for example when sharing archives between collaborators. I’ll talk more about that below).

Cons of Aperture

Of course every program has its problems and Aperture is no different. In all fairness Aperture wasn’t developed with scientists in mind, but since they asked what I thought I’ll tell them (and you).

1) Image Import Support. Core Image is a double-edged sword, it’s fast and versatile, but at the same time is relatively hardwired. What I mean is that because of the dependence on Core Image, there is no plugin architecture available in Aperture to design new image import filters. For example, X-ray data images collected on a CCD at the synchrotron can’t be imported, since Aperture doesn’t know about the file types (which are almost always custom AND dependent on the detector being used at a particular beam-line).

What would be cool is if Aperture supported a simple conversion utility that allowed you to tell the program about the format of the image and it would batch import and convert those images (at least internally) to a format supported by Core Image. The user would need to know about the format the image is in, but at least for CCD and Image Plate detectors this is information you can easily get access to. Again, we want to organize and catalogue, not necessarily edit, so perhaps simply being able to state where the headers are, where the image data start, pixel size (e.g. 8-bit, planar float) might work (it’s just a thought).

2) Hardware Requirements. The minimum requirements are pretty high. So if you are planning to use Aperture routinely and not have it feel like a chore, you’ll need a high-end system. This is even more important as the size of your data/image sets get larger.

3) Cross-Platform Compatibility. Well, it only runs under OS X. So there is none. That means if you are looking for a long term storage and archiving solution this could pose a problem. Presumably this is the type of problem you’d have with any platform or piece of software. But at least Open Source programs (or ones that are currently cross-platform) give you some room to navigate in the future. Although, the project archives are simply bundles, with the majority of information stored in plists; so writing a batch converter to extract the information would be easy if such a requirement came about.

4) Cost. Aperture is expensive, even with the educational discount it costs about $250 (based on the prices at the Harvard Sub-Site at the Apple Store). If Apple were willing to make site licenses available (which I’m sure they would) or sell 5-10 packs, I could see equipping several laboratory workstations with the program for each member to archive their data routinely.

Features I’d Like to See

1) Collaborative Editing/Viewing. It would be great to have the ability to centrally locate (or share it over the web or something) an archive and have a collaborator be able to view the project with you at the same time. They could modify the project in real time, grading and scoring images, applying filters etc. Even photo professionals would benefit from something like that. Perhaps if customers could download a free viewer they would be able to pick which pictures they like immediately and choose those for more editing or prints. But I digress.

2) Archive Locking. It’s not apparent to me there is a way to permanently lock an archive/project from future editing. Of course you can limit the permissions on the file, but it would be nice if there was an internal means to guarantee the integrity of the archive from manipulation once it’s been closed.

3) Additional File Formats. The plugin idea I discussed above would be nice, since we can’t always control the image formats that people devise for a particular piece of data collection hardware. Again, it doesn’t have to be able to auto-detect a file it’s never seen and magically know what is going on. But certainly there are only a very few pieces of information a program needs to actually read IN the data (I’m talking about non-compressed images here, but even if the compression algorithm is know that might be something to include). How it stores it internally (and the additional information you can add) can be left up to the application, since all operations are non-destructive anyway.

4) Templates. One feature I didn’t find in the application, but would be very useful is the ability to create templates. For example, if the lab PI wants to have a standard set of information included in a project (for example, requiring each image to have a keyword or archive information) they could set that in the template and each project would then be uniform in that regard. Or a user who likes to organize their data the exact same way or the folder hierarchy to be the same every time in the import window could create a master template and just call that up each time they start a new project.

5) External File Inclusion. This one is clearly outside the scope of Aperture as a program, but since not all files associated with a set of data or necessarily images, it would be nice to be able to include additional files within a project and have Aperture at least be aware they exist even if you can’t edit them within the GUI itself.