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.
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.
The method to rasterize a circle is similar to line rasterization. We could also use mid-point method to do circle rasterization.
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.
A very nice tutorial about depth of field in depth.
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 @