November 2 2009
I’ve added proper color-space conversion to Atlas, so you shouldn’t be getting any more over-saturated results.
The one remaining bug I’ve come across is the broken Reinhard ’05 mapping — please let me know if you find anything else broken or behaving unexpected!
Download the newest version of Atlas.
October 29 2009
Well, that was quick! Thanks to user feedback I was able to fix two nasty little bugs in the original release of Atlas right away.
Grab the latest version!
October 28 2009
As previously announced, here’s the first release of my new tone mapping plug-in for After Effects, Atlas.
The release is buggy and probably not fit for production, but it’s open-source so I hope to get some help to bring it up to speed! Atlas is released under the free GPL license.
This release is Windows only for now… however, the full source code is included, which means that anyone with more time on their hands than me can feel free to compile a Mac version. I didn’t try it myself, but there’s no reason why it shouldn’t run on Mac OS X.
To compile the code you will need to download and link with the After Effects SDK. For legal reasons I unfortunately cannot distribute these files with Atlas. The required pfstmo libraries are included with the download, however.
The code is not yet well documented, but the plug-in itself is just about as simple as it gets, so you should find your way around easily if you’re familiar with the SDK.
Hints on usage
If you’re not familiar with the concept of tone mapping, Wikipedia has a good introduction that should give you an idea of the use and functionality of this versatile technique.
Please note that for obvious reasons the effect is most useful in 32-bit color mode with 32-bit source images. It will work in lower modes but the resulting effect might not be what you expect.
Please go ahead and download Atlas and then let me know in the comments if you come across any bugs or have other suggestions!
October 26 2009
Atlas is a port of the pfstmo tone mapping operators to the Adobe After Effects plug-in format. This plug-in is free open source software licensed under the GPL.
Tone Mapping
So what’s tone mapping you ask? According to Wikipedia:
Tone mapping is a technique used in image processing and computer graphics to map a set of colours to another; often to approximate the appearance of high dynamic range images in media with a more limited dynamic range.
The technique is particularly useful if you have high dynamic range images, such as rendered CG-imagery in floating point color-depth (OpenEXR) or HDR photographs, and you want to bring their broad spectrum into a range more suitable for display on a computer monitor or television screen.
There exist numerous tone mapping operators that approach this problem from different angles and achieve varying results.
| Supported tone mapping operators |
| Drago |
| Ashikhmin |
| Reinhard ’02 |
| Reinhard ’05 |
| Mantiuk |
| Durand |
| Pattanaik |
| Fattal |
Lately, the effect has also become something of a fad in photographer’s circles, as a quick Flickr Search will show.
Still tone mapping is a very versatile technique that can be used for photorealistic as well as artistic effects.
Download Atlas 0.3 (Beta)
Download
Sorry, Windows only for now. The included source code may be used to compile a release for Mac OS X by someone with more time on their hands than me.
If you want to play with the code you will also need to install the After Effects SDK, which I cannot include for legal reasons.
Usage Notes
Atlas is designed to work exclusively in 32-bit floating point color-space. Applying Atlas in 8-bit or 16-bit projects will yield unpredictable and/or possibly unbelievably gross and ugly results. Don’t say I didn’t warn you…
Donations
Developing free software costs time and money. If you appreciate my work and use it in production, please donate.
I will be more inclined to release cool stuff in the future if I see that my work is appreciated.
June 22 2009
The Object ID Selector for After Effects that I announced earlier has seen several improvements in the latest update and is nearly ready for production.

The main improvement in this version is that the plug-in is no longer just a dumb keyer that lets you pick objects by their color. Instead you may opt to pick objects by their position!
This makes for a super-efficient workflow: Simply click on an object in your beauty pass and the plug-in will automatically isolate it for you — no need to switch to the Object ID pass, select a color area, switch back to the beauty and pray that you chose the right object.
It really couldn’t be easier!
If all goes well we’ll be using this plug-in in our upcoming projects.
June 20 2009
Adobe After Effects is shipped with a number of extremely capable color keying plug-ins. To interact with my latest 3D shader minObjectID I required a simple chroma keyer that would make it quick and simple to select individual objects by their associated color ID for further processing as an alpha mask.
The ideal candiate should fulfill these basic requirements and not much more:
- Be as simple and efficient as possible
- Output a specific color and not whatever object was keyed
- The result should be invertible
- Be extremely precise with no room for tolerance
- Works in 8-, 16– and 32-bit color space
None of the included keyers met all of my criteria because they either didn’t work in floating-point mode or were simply overkill for my purposes.
I then remembered that I had once started to write a little chroma keying application a few years ago and so I decided to sift through my old backup drives in the hopes of finding this lost piece of code in order to rip out its guts and to form it into the ultimate Object ID selector for After Effects.
Fortunately, I ended up finding the project and here I am to write about my new plug-in, simply named Object ID Selector for now.
This plug-in has very few parameters, making it simple to setup. It’s in no way an all-purpose keying solution, but for selecting IDs of objects I think this stripped down keyer is the ideal choice.
I have not yet considered solutions for the aliasing issues that might arise between overlapping objects but I hope to find a practical answer to at least mitigate the problem.
Once the plug-in has gone through a phase of testing I will probably make the software publicly available so it can be used in combination with minObjectID.