Negative
Aperture: Update On Negative Filtering
2006-10-27
I missed a trick in my article on negative filtering, and it was the originator of the question that pointed it out to me. You can directly do negative filtering on keywords via the IPTC metadata. This works because the IPTC field is kept up to date with the keywords that are added to the image.
I have updated the article to reflect this newfound knowledge.
I have updated the article to reflect this newfound knowledge.
|
Aperture: How Do I Create A Filter That Excludes Keywords?
2006-10-26
First of all, you have a great website! It really has helped me get more out of Aperture! Question for you – is there a way to create a filter that EXCLUDES images with a certain keyword. Example, on import, I marked everything with “Wedding,” but I tag the ones that need some PS work also with “Retouch.” I would like to have a way to do a filter (or smart album/web gallery) that excludes that keyword.
This can be done with keywords, but with some caveats. And there are other ways to work that will let do what you are trying to achieve -- perform negative filtering.
In short the answer is to use IPTC metadata fields, or use custom fields and exploit the features of those. The full solution, together with a technique for using this metadata in your workflow requires a whole article on negative filtering (posted just below this Q&A on the blog and archived in the Metadata section of the Aperture Articles).
This can be done with keywords, but with some caveats. And there are other ways to work that will let do what you are trying to achieve -- perform negative filtering.
In short the answer is to use IPTC metadata fields, or use custom fields and exploit the features of those. The full solution, together with a technique for using this metadata in your workflow requires a whole article on negative filtering (posted just below this Q&A on the blog and archived in the Metadata section of the Aperture Articles).
Aperture: Negative Metadata Filtering
2006-10-26
A question that frequently arises is how to do negative filtering in Aperture. Negative filtering includes an image if it does not match some criterion, usually in combination with other logic. For instance "photos taken in March that have not been retouched". Since keywords are the most familiar form of metadata in Aperture, users apply them to images and then look around for the Keyword Is Not check box, cannot find it, and wonder what to do next.
First, here are several ways of doing negative filtering that either don't work or are clumsy:
1. Albums and project membership
Although you can "mark" images that have been processed in some way as part of your workflow by their location or by album or project membership, this is a clumsy way to work. It involves a lot of moving things around and you cannot filter on membership.
2. Version names
Not recommended. Again, clumsy. But you can filter on version names, so it's not all bad. Naming systems break easily though.
3. Rating bands
By dividing ratings into two sets, say greater than three and three and under it is possible to use the Rating is less than or equal to and Rating is greater than or equal to selections to create negative filtering. But that only gives you one thing you can filter on, chops up your ratings, and is prone to error.
So here is the meat: three ways that do work. The first uses IPTC keywords, the second an existing metadata field and the third a custom metadata field. You didn't know you could have those did you?
The IPTC Keywords field is kept up to date with the keywords that are added to the image, so you can use all the features of the IPTC string matching. Select IPTC from the + menu top right and select IPTC. Select Keywords from the pop-up and you can do this:

For simple negative filtering this works, but it has some disadvantages too. This stems from the fact that the IPTC keyword field is simply a list of keywords strung together with commas. Let's say your images contain two people called Bob and Bobby. If you try to filter on IPTC Keywords contains Bobby and IPCT Keywords does not contain Bob (because nobody likes Bob any more), you will find that he stubbornly sticks around. That's because simple lexical matching is used and so Bob matches Bob and Bobby. Worse, you find that is and is not are case-sensitive while contains and does not contain are not. And worse still is the odd fact that while Cow will match Cow if is is used, it will not if another keyword is added. Give me a list of checkboxes, please!
The keyword list does not exhibit this behavior. Nor does using separate IPTC fields to achieve the negative filtering.
An inconvenience is that there is a lot of clicking and typing involved: click on the +, select IPTC, click on the pop-up, scroll down to Keywords, select the logic, and finally type in the keyword. If you typo it, then you won't get what you expect.
A possibly more serious problem is that searching IPTC fields is very slow for many images because Aperture does not index that in its database. Try selecting your whole library and setting up a search for contains "e" and does not contain "zzzzzzzzzzz". It will take a while. Try the opposite too.
A future problem is that when Apple implements proper hierarchy filtering (filtering on keyword Animal where Animal is above Cow without resorting to a plain text search), this trick with IPTC metadata will not work with Animal just as it does not now. That's because the higher-level keywords are not in the IPTC metadata field unless you specifically put them there and if they are not there, you can't filter on them at all.
Let's say you want to be able to filter on one attribute, Retouch, or Not Retouch. To do this select all the images you want to be able to distinguish (either positively or negatively), and then open the metadata inspector (control D). Select IPTC at the bottom, and then All IPTC from the pop-up title bar. Now pick one of the fields to commandeer. In the example below I have chosen Action Advised, because I will never use it for its intended purpose.
Now bring up the Batch Change window with command shift B and type retouch into the Action Advised field:

Press Enter on the numeric keypad or click OK and that metadata will be added to all the selected images. The metadata pane that you previously opened will show that the images now have that metadata added:

So now all the images you want to retouch are tagged and all the ones you don't want to retouch are untagged.
Let's filter on that. Bring up a filter and select IPTC from the + menu top right:

From the IPCT pop-up, select Action Advised, and then one of the matching verbs:

Use contains or is for positive filtering and is empty for negative filtering. You would think that is not would match on an empty field, but it does not.
Voila! Negative filtering.
This method has the advantage that it can also be used to add metadata on import. You can tag everything with a certain value (like retouch) and then adjust the metadata when workflow actions have been performed or a decision is made that they do not need to be performed.
Another way to achieve the same goal without abusing the IPTC fields is to add custom metadata. This takes a few more steps because the Batch Change window cannot be used to do this. But custom metadata can be added on import if it is included in one of the metadata sets.
Select just one image you want to tag (either positively or negatively). Go back to the metadata pane bottom right of the Aperture window and select the General view. Click on Other at the bottom, and where it says New Custom Metadata in gray add the word Retouch. On the right where it says Metadata Value in gray, add the word Yes:

Now click on the circle + on the right and it will be added as a metadata value to the single image you selected. There it is:

Click on the checkbox on the left if you want to add this field to the General metadata set. You probably want to add it to some set just so it is visible (the Tooltip set would be a good choice to).
So far so good, but that is only one image, and there could be hundreds.
Press the O button on the keyboard (letter Oh) to bring up the Lift and Stamp window and click on the image you just added the metadata to. That will show the copied data. Open the Custom line by clicking the disclosure triangle:

Now edit this by deleting the unwanted lines by selecting and hitting the delete key to get this:

The remaining task is to stamp this onto all the images that need it. Clicking on the thumbnails will do it since the cursor is now the down-arrow Stamp tool. Press A when you are done.
To filter images that have been tagged in this way, you will need a slightly different filter than used before with IPTC. Bring up a filter and select Other from the + pop-up top right. Select Retouch from the pop-up:

And use contains, is, is empty, etc. to perform positive and negative filtering as needed. There is also no reason not to use several different values for the Retouch field if that does what you want.
Voila again! Negative filtering.
An advantage of this method over the IPTC trick is that there is no limit to the number of custom metadata fields you can add to an image.
But neither of these solutions are really any good since you are looking at thumbnails while you do it. How do you know which ones to retouch? More than likely you are in full-screen mode and you want to decide whether to retouch or not as you go along, as part of an overall workflow. That can be achieved too.
With the Lift and Stamp window the way you want it (like above), work as follows. Close the Lift and Stamp window with the X top left. Click on the first image in your set and hit F to go to full-screen. Scroll through the images working on them as usual (but not lifting and stamping anything) until you find one you want to retouch. Press O to bring up the Lift tool (up arrow) and the Lift and Stamp window. But don't click on anything!
Hold down the option key and the cursor changes into the Stamp tool. Click on the full screen image to add the custom metadata to it. There is no feedback to tell you that this has worked, but it has. Close the Lift and Stamp window and continue working on images. Repeat as needed and close the Lift and Stamp window at the end.
I will stop writing French now.
First, here are several ways of doing negative filtering that either don't work or are clumsy:
1. Albums and project membership
Although you can "mark" images that have been processed in some way as part of your workflow by their location or by album or project membership, this is a clumsy way to work. It involves a lot of moving things around and you cannot filter on membership.
2. Version names
Not recommended. Again, clumsy. But you can filter on version names, so it's not all bad. Naming systems break easily though.
3. Rating bands
By dividing ratings into two sets, say greater than three and three and under it is possible to use the Rating is less than or equal to and Rating is greater than or equal to selections to create negative filtering. But that only gives you one thing you can filter on, chops up your ratings, and is prone to error.
So here is the meat: three ways that do work. The first uses IPTC keywords, the second an existing metadata field and the third a custom metadata field. You didn't know you could have those did you?
Negative Filtering With IPTC Keywords
The IPTC Keywords field is kept up to date with the keywords that are added to the image, so you can use all the features of the IPTC string matching. Select IPTC from the + menu top right and select IPTC. Select Keywords from the pop-up and you can do this:

For simple negative filtering this works, but it has some disadvantages too. This stems from the fact that the IPTC keyword field is simply a list of keywords strung together with commas. Let's say your images contain two people called Bob and Bobby. If you try to filter on IPTC Keywords contains Bobby and IPCT Keywords does not contain Bob (because nobody likes Bob any more), you will find that he stubbornly sticks around. That's because simple lexical matching is used and so Bob matches Bob and Bobby. Worse, you find that is and is not are case-sensitive while contains and does not contain are not. And worse still is the odd fact that while Cow will match Cow if is is used, it will not if another keyword is added. Give me a list of checkboxes, please!
The keyword list does not exhibit this behavior. Nor does using separate IPTC fields to achieve the negative filtering.
An inconvenience is that there is a lot of clicking and typing involved: click on the +, select IPTC, click on the pop-up, scroll down to Keywords, select the logic, and finally type in the keyword. If you typo it, then you won't get what you expect.
A possibly more serious problem is that searching IPTC fields is very slow for many images because Aperture does not index that in its database. Try selecting your whole library and setting up a search for contains "e" and does not contain "zzzzzzzzzzz". It will take a while. Try the opposite too.
A future problem is that when Apple implements proper hierarchy filtering (filtering on keyword Animal where Animal is above Cow without resorting to a plain text search), this trick with IPTC metadata will not work with Animal just as it does not now. That's because the higher-level keywords are not in the IPTC metadata field unless you specifically put them there and if they are not there, you can't filter on them at all.
Negative Filtering With IPTC Metadata
Let's say you want to be able to filter on one attribute, Retouch, or Not Retouch. To do this select all the images you want to be able to distinguish (either positively or negatively), and then open the metadata inspector (control D). Select IPTC at the bottom, and then All IPTC from the pop-up title bar. Now pick one of the fields to commandeer. In the example below I have chosen Action Advised, because I will never use it for its intended purpose.
Now bring up the Batch Change window with command shift B and type retouch into the Action Advised field:

Press Enter on the numeric keypad or click OK and that metadata will be added to all the selected images. The metadata pane that you previously opened will show that the images now have that metadata added:

So now all the images you want to retouch are tagged and all the ones you don't want to retouch are untagged.
Let's filter on that. Bring up a filter and select IPTC from the + menu top right:

From the IPCT pop-up, select Action Advised, and then one of the matching verbs:

Use contains or is for positive filtering and is empty for negative filtering. You would think that is not would match on an empty field, but it does not.
Voila! Negative filtering.
This method has the advantage that it can also be used to add metadata on import. You can tag everything with a certain value (like retouch) and then adjust the metadata when workflow actions have been performed or a decision is made that they do not need to be performed.
Negative Filtering With Custom Metadata
Another way to achieve the same goal without abusing the IPTC fields is to add custom metadata. This takes a few more steps because the Batch Change window cannot be used to do this. But custom metadata can be added on import if it is included in one of the metadata sets.
Select just one image you want to tag (either positively or negatively). Go back to the metadata pane bottom right of the Aperture window and select the General view. Click on Other at the bottom, and where it says New Custom Metadata in gray add the word Retouch. On the right where it says Metadata Value in gray, add the word Yes:

Now click on the circle + on the right and it will be added as a metadata value to the single image you selected. There it is:

Click on the checkbox on the left if you want to add this field to the General metadata set. You probably want to add it to some set just so it is visible (the Tooltip set would be a good choice to).
So far so good, but that is only one image, and there could be hundreds.
Press the O button on the keyboard (letter Oh) to bring up the Lift and Stamp window and click on the image you just added the metadata to. That will show the copied data. Open the Custom line by clicking the disclosure triangle:

Now edit this by deleting the unwanted lines by selecting and hitting the delete key to get this:

The remaining task is to stamp this onto all the images that need it. Clicking on the thumbnails will do it since the cursor is now the down-arrow Stamp tool. Press A when you are done.
To filter images that have been tagged in this way, you will need a slightly different filter than used before with IPTC. Bring up a filter and select Other from the + pop-up top right. Select Retouch from the pop-up:

And use contains, is, is empty, etc. to perform positive and negative filtering as needed. There is also no reason not to use several different values for the Retouch field if that does what you want.
Voila again! Negative filtering.
An advantage of this method over the IPTC trick is that there is no limit to the number of custom metadata fields you can add to an image.
Workflow Enhancement
But neither of these solutions are really any good since you are looking at thumbnails while you do it. How do you know which ones to retouch? More than likely you are in full-screen mode and you want to decide whether to retouch or not as you go along, as part of an overall workflow. That can be achieved too.
With the Lift and Stamp window the way you want it (like above), work as follows. Close the Lift and Stamp window with the X top left. Click on the first image in your set and hit F to go to full-screen. Scroll through the images working on them as usual (but not lifting and stamping anything) until you find one you want to retouch. Press O to bring up the Lift tool (up arrow) and the Lift and Stamp window. But don't click on anything!
Hold down the option key and the cursor changes into the Stamp tool. Click on the full screen image to add the custom metadata to it. There is no feedback to tell you that this has worked, but it has. Close the Lift and Stamp window and continue working on images. Repeat as needed and close the Lift and Stamp window at the end.
I will stop writing French now.
The Bagelturf site welcomes Donations of any size
