computePlacidoIndices {rPACI}R Documentation

Compute the Placido irregularity indices of a corneal dataset

Description

This function computes a set of indices or metrics from a data.frame which contains points measured from the cornea. The dataset may have been obtained reading from a corneal topography file with readFile or simulated with simulateData. These indices allow to discriminate between normal and irregular corneas. For more information on the indices and their precise mathematical definitions, see vignette("indicesDefinition", package = "rPACI") or the references below.

Usage

computePlacidoIndices(
  datasetRings,
  truncateIndicesAt150 = TRUE,
  useMaxRings = 15
)

Arguments

datasetRings

A dataset containing data points of a corneal topography, as given by readFile or simulateData.

truncateIndicesAt150

A boolean value (by default TRUE) indicating whether the primary indices should be truncated at 150 (so they are in the range 0-150) or not.

useMaxRings

A positive integer value (by default 15) to choose the maximum number of innermost rings to use (as long as there are enough).

Details

The Placido irregularity indices can be computed from a data.frame in the format given by the functions readFile (also with readCSO or readrPACI) or simulateData.

These irregularity indices can be split into two categories: primary and combined indices. The primary indices are: PI_1, PI_2, PI_3, SL, AR_1, AR_2, AR_3, AR_4, AR_5. They all measure certain geometrical properties of the data distribution. Among these, the first 4 indices are especially important for the detection of keratoconus. Based on them, other combined indices are computed: GLPI (a generalized linear model) and NBI (naive Bayes index).

For more information on these indices and their precise mathematical definitions, see vignette("indicesDefinition", package = "rPACI") or the references below.

They were introduced and validated with real datasets in 3 scientific papers (see the references below). In these papers, all indices demonstrated a good sensitivity for detection of keratoconus, a corneal disease. For more details about corneal topography and keratoconus, see vignette("topographersDataFormat", package = "rPACI")

The results include the values of the indices (0 meaning normal, and a large positive value meaning irregular, check the range for each index) plus a diagnose, which is either "Irregular cornea", "Suspect cornea" or "Normal cornea", depending on the value of the combined index GLPI.

Value

A data.frame containing the Placido irregularity indices as well as the diagnose, with columns:

Diagnose A text label indicating the diagnose, according to the value of GLPI
NBI The value of NBI index (in the range 0-100).
GLPI The value of GLPI index (in the range 0-100).
PI_1 The value of PI_1 index (usually in the range 0-150).
PI_2 The value of PI_2 index (usually in the range 0-150).
PI_3 The value of PI_3 index (usually in the range 0-150).
SL The value of SL index (usually in the range 0-150).
AR_1 The value of AR_1 index (usually in the range 0-150).
AR_2 The value of AR_2 index (usually in the range 0-150).
AR_3 The value of AR_3 index (usually in the range 0-150).
AR_4 The value of AR_4 index (usually in the range 0-150).
AR_5 The value of AR_5 index (usually in the range 0-150).

References

Castro-Luna, Gracia M., Andrei Martinez-Finkelshtein, and Dario Ramos-Lopez. 2020. "Robust Keratoconus Detection with Bayesian Network Classifier for Placido Based Corneal Indices." Contact Lens and Anterior Eye 43 (4): 366-72. doi: 10.1016/j.clae.2019.12.006.

Ramos-Lopez, Dario, Andrei Martinez-Finkelshtein, Gracia M. Castro-Luna, Neus Burguera-Gimenez, Alfredo Vega-Estrada, David Pinero, and Jorge L. Alio. 2013. "Screening Subclinical Keratoconus with Placido-Based Corneal Indices." Optometry and Vision Science 90 (4): 335-43. doi: 10.1097/opx.0b013e3182843f2a.

Ramos-Lopez, Dario, Andrei Martinez-Finkelshtein, Gracia M. Castro-Luna, David Pinero, and Jorge L. Alio. 2011. "Placido-Based Indices of Corneal Irregularity." Optometry and Vision Science 88 (10): 1220-31. doi: 10.1097/opx.0b013e3182279ff8.

Examples

# Read the file 'N02.txt' which is a real corneal topography (from a normal eye)
# that was measured with a CSO device:
dataset = readFile(system.file("extdata","N02.txt", package="rPACI"))

# Compute its Placido irregularity indices with this function:
results = computePlacidoIndices(dataset)
results

[Package rPACI version 0.2.2 Index]