This is the implementation uses many concepts from the paper, "Open-access operating algorithms for commercial videokeratographer and improvement of corneal sampling" by Julián Espinosa, David Mas, Jorge Pérez, and Ana Belén Roig.
Here are the steps for running the code.
- Run calibration.m: this fits a surface through the data points of your calibration spheres and stores it in a variable
sf
. This step might take more than a minute to run. - Run main.m: this uses the variable
sf
from the above step
The data
folder consists of 12 calibration images namely calib-1.png
, calib-2.png
, ...., calib-12.png
. These are simulated placido ring images for spheres of radius 8mm, 8.5mm, 9mm, ...., 13.5mm. These are used to construct a standard surface that will be used to estimate the curvature of every new image.
The data
folder also consists of test-1.png
which is an elongated ellpise that is used for testing the accuracy of the result. Feel free to debug the code line by line to get a better understanding of what's happening in each of the steps.
For running this code, you will need the following files from MATLAB file exchange. We thanks the following authors for sharing their work openly.