I was recently at a small meeting at UC Berkeley to get together engineers, computer scientists, and biologists around the theme of computational imaging, and more generally to get the various groups at UCB who are working on similar problems talking to each other. Aside from hearing about a lot of interesting research being done, I learned about some work being done to make programming languages specifically for image analysis. The goal here is to decouple knowledge of the algorithms to solve the image analysis problem from the problem to be solved, so that the people who are not experts in computation can write image analysis code that is fast.
I haven’t tried either of these tools yet, but they both look interesting. One is an embedded language for Python called ProxImaL that formulates operations like deblurring and denoising as constrained optimizations. The other is a C++ embedded language called Halide designed to make it easy to write high performance image analysis code that can be compiled to multiple targets (CPU, GPU, etc.) .
Both of these are a little beyond my current programming experience but they sound like tools that should be more widely known.