Java Active documentation in Portable AppletsThe project features new active documentation of C++ classes in pure Java, running in a browser, with no additional installations.
This permits people wanting a fly overview, like deciders and consultants, to make rapid presentations, avoiding implementation deep analysis. Leaving potential client or coworkers with a first good impression of capabilities, before deciding deeper project investments.
In case o developpers, I write the Java code very near the C++ developped, to reduce study time, and increase understanding. I hope.The new Applets will also benefit of more information, parameter info, reading, ...
Java 1.1x is used to reduce all portable problems related to higher releases, giving most people their chances. We know more can be featured with higher releases, but this is not our aim here.
C++ Restoration & Inpainting Class Library (needs an update)
One of the best crack detector is the top hat transform, which is not sensitive to light variation. We were able to restore old painting of the XVIs, by detecting cracks, inpainting and fast restorations.
Illumination and Color Enhancement
Improving the image brightness without changing color uses simple technology like the histogram equalisation, gamma correction. The result is a greyish image loosing colors. One of the reason is that illumination in the image is non uniform.
The Retinex Theory shows that the image can be separated in two parts the illuminance and the reflectance. Knowing the illuminance allows to do more appropriate gamma correction.
In Homomorphic filters the illuminance is approximated by a luminance blurring. Kimmel's Variational Retinex allows to compute more accurate illuminance, taking into account visual properties and illuminance constraints. The result is a better color rendering during gamma modification. Finally, selecting an appropriate color space, can improve even more the results, avoiding chrominance losses.
Restoration (Need update info)
Accurate restoration which maintains image details is important. We use sophisticated techniques based on the Alvarez-Lions-Morlet restoration model, to recover as much as possible the original image.
Such techniques use, for example, complex differential equations which will reduce noise through diffusion, and enhance images through shocks.
Some of these techniques may require a large amount of time(1 to 6 minutes, PIII/500Mhz). This is do to the difficulty of the restoration problem. We will progressively speedup these techniques when possible. We will also add alternative fast restorations.
Fast AOS restoration reduces the time to 0.4 to 15 seconds(PIII/500Mhz) (divided be 2.5 with SSE1)
Inpainting (need update info)
Inpainting is an advanced interpolation scheme. It can be derived from differential equations and Sethian Level Sets...
In short, the image is an hot area of pixels, and the cracks in the image,or unknown lost parts, are cold pixels. By maintaining the temperature of the pixels of the image, we will warm up the crack image areas on the basis of a border modulated conductivity factor which can locally change on a "material" basis.(e.g.: a metal becomes faster hot than wood,...). In our case the material is the image pixels, edges, curvature,...
One of the simplest and fastest inpainting scheme, comes from Oliveira, it uses simple diffusion masks, well suited for removing thin areas.
Faster techniques may exist, in practical condition, a weighted variant of the fast marching does a good and very fast job on thin objects.
Inpainting on large areas is still a challenging difficult job. Mutiresolution facilitates inpainting. It permits to look images from far, and move to the image. Details are first small, and steadily will grow in size. This will happen to the inpainting areas too.