With the release of Flash Player 10, Adobe introduced many innovations the Developer can take advantage from and the final user will enjoy. If you are a RIA fan, you know that big part is done by the graphic engine of the client. You might not know though, that an important part of the work is related to image processing. In facts, many fancy effects, like Apple dock Genie effect or even a simple spring effect, requires the creation, and eventual manipulation, of bitmaps on the fly.
From Flash 8, the developers have already access to some API which were already pretty low level (matrix filters, displacement map). Unfortunately few people took advantage of those, but when that happened, the results were impressive.
With CS4, Adobe introduced in different products (Flash, PhotoShop and AfterEffect) a scripting language for image processing called Pixel Bender. The script is processed at a very low level and despite in PhotoShop and AfterEffects it is processed by the GPU (with incredible performances), in Flash it is still processed by the processor and probably for this reason some functionalities are not available when deploying for the web. Another good aspect of the usage of PixelBender with Flash Player is that you can run scripts asynchronously taking advantages of multi-core architectures. A good example could be audio processing, but I'm sure that soon or later will be used for also other purposes.
As first test, I ported some scripts I use when doing computer vision to erode or dilate white spots in a black and white image. The scripts, as you can see, are quite approximate. This also to optimize peformances, but the speed how Flash processes this relatively big image is quite impressive. Increasing the size of dilation or erosion simply makes the same filter running more times. Right click to view or download the source.
I might look to Alchemy soon. So, stay tuned!