Home Downloads SF Page Documentation Examples Bibliography Links License
SourceForge.net Logo


restoreInpaint is a state of the art project about making 8 or 16bit depth images "better":

  • Detection covers the problem of finding target areas
  • Inpainting discovers the problem of filling detected cracks and missing thin parts of images, paintings, frescos.
  • Restoration allows the recovery of an image, removing noise, enhancing brightness, color and details. Usage: paintings, pictures improvements.
  • Realtime and Fast Restorations are used with large images, like in medical imaging and astronomy. Details are restored via distance modulated restorations
  • Semi-Implicit/Implicit Solvers ~40 fast C++ linear solvers:Direct/BB/Conjugate Gradient> used with LOD/AOS/.../ADI + BE/Crank Nicolson.
  • NEW Fixed Point Solvers can be used in restorations like TVn1, TVnm, TVtrace and (WeberTV) edge preserving restorations.
  • New Image Reconstructions Deblurring images allows image reconstruction from low quality data.
  • NEW Large Nonlinear Solver Bench: 22 NonlinearCG: HS+,FR,PRP+,CD,Perry,LS,DL,DY,HS-DY,CD-HS,YT,YS,HZ,Grippo-PRP; Spectral solvers: BB, Birgins-Martinez SPG; Large Scale Quasi-Newton: Shanno-Phua CG, Andrei ScaleCG, Limited-BFGS; 11 Line Search: Secant, Backtraking, Backstepping, Wolf: MoreThuente, CONMIN, Denis, standart, approximated, nonmonotone. Available: MathBidouble 1.2a

What am I speeking about? Better, is to see an image, and develop freely your idea later.

    Original image (50% size) Crack removed & restored image


    A large number of restoration techniques will be used in this framework. They will help people to recover images of different kind. Also it is wise that people will select themselve the suitable restoration method:

    • People interested in general information, will blur the image.
    • People looking for getting clean images, will go for getting smooth images.
    • People looking for getting clean images with clear borders, will smooth the images and maintain borders.
    • People requiring details will enhance details.
    • Deciders an consultants requiring direct on spot examples.Java in a browser presentations
    • OO developer will fly with Tornado1.2, flexible restoration C++ classes completely freely.


    The framework provides seven inpaintings with additional detection capabilities. People will be able to detect/remove thin artifacts, characters printed on pictures....

    • First, the user provides the inpainting area or uses an image crack detector.
    • With the known area, the inpainting will fill the gap using sophisticated techniques including:
      • Transportation used to move pixels from outside to inside cracks, taking account the details of the neigbour pixels.
      • Diffusion propagates your pixels from cracks borders, like something hot(the image) moves into a cold area(the crack area).
      • Multiresolution Looking to smaller images first will ease the inpainting. The results are propagated to larger scales images.

Tornado1: General Purpose Linear Solvers (NEW)

    Fast restoration can be tried in 100 ways, Today. Tornado1 concept is a spt restoration framework using advanced linear solvers: All solvers support tridiagonals and any band matrices.

    Solvers like the Thomas direct solver, advanced Barzilai-Borwein, and number of CG and Krylov solvers are available, making comparision easy. Nearly all can be used with 2D splitted or unsplitted methods.(Thomas use only tridiagonals)
    The solvers may be used in general purpose applications.

The Restoration & Inpainting C++ Class Library (Java style)

    This incremental library uses new technologies. Some of them are very fast(using a large set of Linear Solvers), some are slow but with more restoration qualities(better edges,...). The technology is useful for learning purpose, explory purpose, research boosting, and application like general linear solvers, old painting restoration, image recovery for medical or every day purpose,...
    MinGW with OpenGL/Glut/GLUI. Realtime restoration demo using MinGW with OpenPTC. Getting power of DirectX fast display.

    • COMING Deconvolution: BCCB and BTTB based will be used for image reconstructions.
    • NEW FFT: DFT, recursive Radix2 FFT DIT, Radix2 and 4 FFT DIT/DIF, SplitRadix.
    • NEW NonLinearSolver: Solvers, line seaches, objective function. Barzilai-Borwein(BB), Conjugate Gradients: Fletcher-Reeves CG, Polack-Ribiere CG, Dai-Yuan CG & HybridDY CG, QuasiNewton: LimitedBFGS,Newton-Raphson. Line-search:Armijo, Wolf, Secant, DennisSchnabel, nonmonotone
    • LinearSolver: Steepest-Descent, Thomas, Barzilai-Borwein(BB), CBB, SSOR-BB, GMRES*(l,m)-BB, CG, SSOR-CG, GMRES*(l,m)-CG, CGi, Minres, Symmlq, CGS-LS, CG-NE, CG-NR, BiCG, CGS, Bcgstab, SSOR-Bicgstab, GMRES*(l,m)-Bicgstab, BiCgstab(2), QmrCgStab, QmrCgStab, CR, GCr(m), Gmres(m), MGCR(m), GmresR(l,m), working. Coming: QMR, Dominant Constant Tridiagonal/Toeplitz O(5N) and Pentadiagonal LDLt/LU fast solvers.
    • Time based 2DSchemes: Splitted LOD, AFI, AOS, AMOS and ADI(with tests on Kim's ADI(2000) and unsplitted Backward Euler, Crank Nicolson working with linear solvers on any band matrices.
    • Spatial discretisation: HeatFlow, Anisotropic and Variational restoration, TVInpainting spaces, WeberTV, TVnm, TVtrace,KimKangTV,..., developpers can build larger kernels.
    • Diffusivity features: Support for Variational,Perona and Weickert diffusivity with Kim's gradient norm recalculation(2002)Central, Minslope, Minbiased, MaxSlope, MaxBiased.
    • Fast Restoration: NEW Fixed Point Blomgren TVn1, Tnm, TVtrace combines all new features together = Tornado1 suitable for large time steps handling and supports limit testing at extreme conditions: large contrast and large lambda.
    • NEW Fast Inpainting: combines anisotropic and variational restoration, a fast TV Inpainting supporting large timesteps is experimented and works well with all unsplitted 2D semi-implicit solvers.
    • Image formats: 8bit grey and 24bit color for jpeg, bmp, TIFF. In version 1.1: PGM,PPM,PNM,PAM, including 16bit grey and 48 bit color TIFF and PGM/PPM (read/write)
    • Color Space Enhancement: Gamma, Histogram equalisation. New in 1.1d: Kimmel Variational Grey/RGB/YIQ/HVC Retinex, Homomorphic filter, image to image color transfert. RGB, XYZ, YIQ, Yuv, LHS, HSV, HVC, HSI, LMS, Lab, Luv. Coming: RLab
    • Restoration: more than 35 restorations using partial differential equations(explicit methods), alternative restorations Mean Shift, Barash bilateral filters, scharr coherence enhancement, Gilboa forward/backward diffusion, and complex diffusion.Planned complex shocks.
    • Old Fast Restoration: fast lifting, fast IIR and fast large time steps semi-implicit methods including 3 multiplicative splitting: LOD, Strang, AFI, and 7 additive splitting: AOS Perona variants, Pyramidal AOS, AOS FAB , NEW Barash AOS Enhancer/denoiser (in v1.1).
    • Active documentation: Java Applet(1.15) are portable in most browsers, see explanation and real life results with a simple click , before moving to C++. The project features equivalent coding in JAVA and C++ for your best choice.
    • Distance Fast Restoration: fast modulated time step fast restoration combined to the fast Marching including LOD for Heat Flow and AOS Perona .
    • New Feature Extraction: In final testing(v1.1): KLT-PCA and Windowed PCA
    • IIR: Fast recursive filters: gradient, laplacian, Gabor(in 1.1)
    • Inpainting: more than 7 inpaintings using recent differential equations, including fast methods and multiresolution.
    • Spot and crack detection: Black and white Top Hat Transform. Including fast large SE processing.
    • Morphology: grey level and large morphological operators: erosion, dilatation, opening, closing, contrast, local threshold, top hat.
    • Fast Sweeping: very fast iterative distance map generator, unlike FMM it builds distance maps in O(N), on large images. (more than 300% speed-up)
    • math: Fast Thomas Solver for restoration, General Band Matrices and more, Bench of 40 Linear Solvers including Barzilai-Borwein, large CG family applied on multiplicative/additive splitted and Full2D solvers, NEW Circulant, Toeplitz, BCCB, BTTB matrices.
    • Fast Marching: incremental distance maps, moving from border inside, border measurement analysis, path tracking(Non-linear and central), Bayes FMM.
    • Fast Sweeping: very fast iterative distance map generator, unlike FMM it builds distance maps in O(N), on large images. (more than 300% speed-up)
    • Superresolution: In 1.1, bilinear+bicubic interpolations, coming ENO interpolators.
    • Differential and Accuracy: ENO2, ENO3, WENO3 non oscillating, and limiters like: minmod, superbee, mineno, harmod, hareno, variable superbee.
    • Complex Fast Restoration: fast large time steps semi-implicit methods includes LOD for Heat Flow+ AOS Perona.
    • Blind Source Separation: Coming ICA and FastICA will give perspectives in denoising and demixing images.
    • Multiprocessing: A working thread manager, and OO Image Workers can work together (foreground/background , ...).sqrt, 1/sqrt,1/x SSE speed up

    We show also how to improve and combine techniques together, to boost your imagination.