There is a numerical problem in Richardson-Lucy deconvolution algorithm. During the iterations, you should make sure all the values of the image should be within [0, 1]. Due to numerical problems, some very small negative floating number may be generated. Consequently, very large negative number could be obtained because of division operation in the algorithm. So you need to add some code to check the pixel value after each iteration.
Color wheel
Using color to display optical flow field is very impressive, as does in middlebury optical flow test library. And a very sophisticated introduction to color can be found @ :
http://members.shaw.ca/quadibloc/other/colint.htm
http://en.wikipedia.org/wiki/Colour_wheel
Grayscale Morphology
Morphology to me is equivalent to binary morphology for a long time since the begin of my graduate study. I never met/thought about grayscale morphology before. Until recently, I read some papers about low depth of field image segmentation, and the grayscale morphological operations together with high order local variance computation is used very often for segmentation. My thought about morphology has been refreshed.
http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Morpholo.html#Heading104
http://www.leptonica.com/grayscale-morphology.html
Circle rasterization
The method to rasterize a circle is similar to line rasterization. We could also use mid-point method to do circle rasterization.
http://escience.anu.edu.au/lecture/cg/Circle/printNotes.en.html
wxWidgets
http://www.wxwidgets.org/
—-
wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform’s own native controls rather than emulating them.
Depth of Field
A very nice tutorial about depth of field in depth.
http://en.wikipedia.org/wiki/Depth_of_field
http://www.largeformatphotography.info/articles/DoFinDepth.pdf
MSER
Maximally Stable Extremal Regions (MSER) is an algorithm of extracting affinely-invariant stable subsets of extremal regions, and can be used to establish correspondences between two images. Two implementations could be found @
http://vision.ucla.edu/~vedaldi/code/mser/mser.html
http://www.robots.ox.ac.uk/~vgg/research/affine/detectors.html#binaries
optical flow
My thoughts about Optical flow has stayed at the late 80s for a long time. For me, optical flow equals to Lukas-Kanade. Until very recent, I found that there are many other good optical flow methods published in top conferences, like CVPR, ICCV. There is also a library – middlebury to test some tough problems within the computer vision area, such as stereo, optical flow. Moreover, the optical flow code written by Prof. Michael Black is very reliable, http://www.cs.brown.edu/~black/.
In camera multiple exposure
It is said Nikon is the only camera vendor that provides in camera multiple exposure SLR cameras.
—-Nikon D200 digital SLR camera
Multiple exposure enables up to 10 separate images to be used to create a single composite to produce imaginative and even surreal results. Image overlay function creates a composite image in-camera from two selected NEF (RAW) images. The original files remain unaltered, opacity can be precisely controlled and the resultant image can be saved in either RAW, JPEG, or TIFF format.
eLynx image processing lib
http://sourceforge.net/projects/elynx/
A good open source image process library, including R-L deconvolution algorithms, etc.