microsoft / SmartKC-A-Smartphone-based-Corneal-Topographer

This is the official implementation for the SmartKC project. SmartKC is a smartphone based corneal topographer.
Creative Commons Attribution 4.0 International
37 stars 14 forks source link

Arc-step model_file / ring_distribution maths #7

Open jasonmnemonic opened 1 year ago

jasonmnemonic commented 1 year ago

Hi,

In the method get_arc_step_params, it refers to the model_file or the ring_distribution file and does the maths for the ring radius (column 0) and its working distance from the cone's first ring at the base (column 1).

Some excerpt from the file:

4.0 0.0
5.7 10.9
7.0 19.3
8.1 25.9
8.9 31.2
9.6 35.6
10.2 39.4
10.7 42.6
...

How does the maths in:

model.append(
                (   
                    # uncomment and use below in-case of oldest placido head
                    (model_temp[idx][0] + model_temp[idx + 1][0] - 2 + 0.5) / 2.0, 
                    #(model_temp[idx][0] + model_temp[idx + 1][0]) / 2.0,
                    (model_temp[idx][1] + model_temp[idx + 1][1]) / 2.0,
                )
            )

What is the numbers for -2 + 0.5 mean (what they refer to)?

Thanks.

mohja1 commented 1 year ago

Good question.

We did this to adjust for the thickness of each ring (-2 was added as the inner diameter was 2 mm smaller than the outer diameter, with the ring thickness being 1mm). Due to this thickness, we need to adjust for the available space allowing the light to pass out. To compute the adjustment factor, we minimized that parameter for the reconstruction on a set of test images and found it to be 0.5 mm.