Corneal Topography: Constructing Curvature Topography from Placido Rings Image
Matlab
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
README.md
calibration.m
ellipse_mask.m
esa.m
fit_ellipse.m
intersection_points.m
is_contour_on_dot.m
is_pixel_on_image.m
license.txt
main.m
points2r.m
polarplot3d.m
psa.m

README.md

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 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.

  • Polar Scanning Algorithm (link) by Surya Penmetsa
  • Ellipse fit (link) from Ohad Gal
  • 3D Polar Plot (link) from Ken Garrard
  • All the images in data folder have been generated by Ashish Jain