Corneal Topography: Constructing Curvature Topography from Placido Rings Image
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
sffrom the above step
data folder consists of 12 calibration images namely
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.
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.