I have a question which I may be making out to be a lot more complex than it actually is.

In my department we have a machine which can image the cornea and give values of various parameters (eg curvature, thickness, elevation etc). In particular I am interested in the thickness.

This machine is able to export these values into a .csv file. The data is of all the points of thickness that the machine has measured.

As the cornea is spherical, the data is arranged such that the rows represent radii starting at 0 (the centre) all the way to 6 mm (the periphery) in increments of 0.2 mm. The columns represent meridians of which there are 256, starting from 12 o'clock.

Now the machine spits out data for say the central corneal thickness, but it does not automatically spit out data for the superior, nasal, temporal or inferior peripheral thickness. As such I need to calculate that from the data I have.

I tried to test simply taking all the values for the central 3 mm (ie up to row 1.2 mm) and then dividing them by n (the number of data points) but as expected this did not give me a similar value to the machine calculate central corneal thickness.

I don't have a background in maths or geometry other than A-levels. I am a doctor by training. On doing some quick google searching it appears I need some spaced interpolation method to calculate this but I'm not sure where to begin.

Is anyone able to help me with this or at least point me in the right direction? Is the solution very complex?



I have attached a diagram with an anterior view, a cross sectional view and an example of how the data is stored in the .csv file

NOTE: the column in the table is meant to represent meridians in degrees, from 0 until 360


  • $\begingroup$ I'd recommend starting by sketching out the problem. That is, draw a cross-section of the cornea with how the measurements are arranged and what they physically measure versus what you want to calculate. $\endgroup$
    – Bryan Krause
    Commented Jul 19, 2023 at 16:56
  • $\begingroup$ Hi thanks. I have drawn out a cross section of the cornea as you say and the method I used initially as described in my question but I am not getting the same answer as what is used by the machine. I suspect this is because I am not taking into account the curvature? I’m not quite sure what other variables I need to take into account to correctly calculate this $\endgroup$ Commented Jul 19, 2023 at 21:31
  • $\begingroup$ Without seeing the drawing or the data or your calculation it's pretty much impossible to figure out where the discrepancy might be. $\endgroup$
    – Bryan Krause
    Commented Jul 19, 2023 at 21:33
  • $\begingroup$ Hi, I have added a diagram above. I hope this clarifies my question. Essentially I took data from radii 0 until 1.5mm for all meridians from 0 degrees to 360 degrees to give me the central 3 mm circle of the cornea. I then summed all of these values together and divided by the number of data points to give me a value for the average thickness. The value I end up with is between 5 - 20 microns off from what the machine gives me. As such I concluded my method is unreliable. $\endgroup$ Commented Jul 19, 2023 at 21:41
  • $\begingroup$ I don't know what the machine is doing exactly (you could ask the manufacturer perhaps), but you could try weighting the measurements by the circumference at each radius, or the sector area of each radius plus half a step minus the radius minus half a step. The points further from the center effectively cover more area if the spacing is by degree. You could also interpolate a uniform sampling of arbitrary uniform density. $\endgroup$
    – Bryan Krause
    Commented Jul 19, 2023 at 22:02


You must log in to answer this question.

Browse other questions tagged .