Inpainting, the technique of modifying an image in an undetectable form, is as ancient as art itself.

incipit of "Image Inpainting" by M. Bertalmìo, V. Caselles, G. Sapiro and C. Ballester. 2020

The MATLAB App INLUMINA (INpainting of ilLUminated MINiatures App) is the companion software of the monograph “The Art of Inpainting“, written by our MACH team. It is designed to offer a graphic user interface (GUI) for testing several inpainting methods on images.

* tested with OSX 11.1 and MATLAB®  R2020b 
(it requires MATLAB Runtime)

Developed in collaboration with the Fitzwilliam Museum (Cambridge, UK)
for the real scenario of 
virtual restoration of illuminated manuscripts.


Q1: How to install/uninstall INLUMINA?
First, download the INLUMINA App. Save it on the computer where you plan to run the application and run the installer by double-clicking on the icon. Follow the instructions, included the download and the installation of the MATLAB Runtime (note it requires around 2 GB of free space on your local disk, it does not require a valid MATLAB license). Once the installation is completed, on OSX a folder called “MACH/INLUMINA” will be created in the “Applications” folder. The app will be present in the folder “MACH/INLUMINA/application”. To uninstall the app, simply remove the “MACH/INLUMINA” folder from the “Applications” folder.

Q2: Will INLUMINA be available for other platform other than OSX, i.e. Windows and Linux?
Yes, our team is working hardly to provide the largest support possible. We invite you to visit this page in the near future for more information and to stay in contact with us by following our Twitter account.

Q3: What are the differences between LOCAL, NON-LOCAL and OTHER inpainting methods in the software? 
Local methods are designed for the virtual restoration of the geometric content of the image, e.g. by connecting broken lines with the same colour intensity values; these methods are not able to restore the texture part.
Nonlocal methods can recover the texture part, based on the assumption that the best content is available as part of a patch of pixels, somewhere in the intact part. However, they work better with the initialisation of the inpainting domain with a result from the local method.
Other inpainting methods will inpaint the image with unconventional assumptions, e.g. in the featured “achromatic” [GM16] the task is to recover the only best colour that minimise the perceived contrast.

Q4: The app seems frozen. How to unlock it?
We invite you to report the case to our team: you can contact us at this link. Please report a step-by-step guide to reproduce the error. A frequent case may be the usage of very large images (more than 1024px by any side) associated to a large inpainting domain and a slow method, e.g. [ES02,MPRSKV11, NAFGP17]. As first tentative, you can try to inpaint with the same method and a reduced number of iterations (or resize the image).

Q5: My inpainting method is not featured in the app and I would be keen to share the code. Can you add my method to INLUMINA?
We are very happy to expand our app with your method. Please send us a first email by using the contact form at this link, including the details of your inpainting method (the doi of your publication) and a link to a working MATLAB code. We will contact you as soon as possible with the next steps, after reviewing your request.