Functions to generate and handle normative values. Check section
Structure of normative values
below for details about how to generate
functioning normative values
nvgenerate(
vf,
method = "pointwise",
probs = c(0, 0.005, 0.01, 0.02, 0.05, 0.95, 0.98, 0.99, 0.995, 1),
name = "",
perimetry = "static automated perimetry",
strategy = "",
size = "",
agem = agelm(vf),
tdfun = tddef(agem),
ghfun = ghdef(0.85),
pdfun = pddef(ghfun)
)agelm(vf)
tddef(agem)
ghdef(perc = 0.85)
pddef(ghfun = ghdef(0.85))
lutdef(vf, probs, type = "quantile", ...)
gdef(agem, sdtd, sdpd)
lutgdef(g, probs, type = "quantile", ...)
nvgenerate
returns a list with normative values
agelm
returns a list with coefficients and a function defining
a linear age model
tddef
returns a function for the computation of TD values
ghdef
returns a function for the computation of the general height
pddef
returns a function for the computation of PD values
lutdef
returns a look up table and a function for the
computation of the probability values for TD and PD
gdef
returns a function to compute global indices
lutgdef
returns a look up table and a function for the
computation of the probability values for global indices
visual field data with sensitivity values
method to generate normative values, pointwise (`pointwise
`)
or smoothed with 2-dimensional quadratic functions (`smooth
`)
numeric vector of probabilities with values in [0,1]
.
The values 0 and 1 must be included
name for the normative values, e.g., "SUNY-IU pointwise NVs". Default is blank
perimetry used to obtain normative data, e.g., "static automated perimetry" (default)
psychophysical strategy used to obtain threshold values, e.g., "SITA standard". Default is blank
stimulus size, if the same size was used for all visual field locations or empty (default)
age model to construct the function to obtain TD values
Function for the calculation of total deviation maps
function used for determination of the GH and PD values
Function for the calculation of pattern deviation maps
the percentile to obtain the ranked TD value as
reference for the general height (GH) of the visual field.
Default is the 85th percentile, thus 0.85
type of estimation for the weighted quantile values. See
wtd.quantile
for details. Default is `quantile
`
arguments to be passed to or from methods
standard deviations obtained for TD values
standard deviations obtained for PD values
a table with global indices
This is one of the most complex structures in visualFields. It is necessary
to be able to run statistical analyses of visual fields obtained from
perimetry and it requires data from healthy eyes for its generation. The
normative values are only as good as the data they are generated from. Two
common ways to generate full normative values from a dataset of healthy eyes,
are provided in the package, depending on the method
selected. The first
one, method="pointwise"
, generates normative values directly from
pointwise statistics. The second one, method="smooth"
, uses a 2D
quadratic functions to smooth out those pointwise statistics. Variations
or improvements can be regenerated by copying the code in those functions and
editing it.
info
information regarding normative values. Info is not necessary
to carry out statistics, but is useful for the generation of reports. The
fields need not be the same as the ones listed here, although these are used
in the reports in vfsfa
for single field analysis and
vfspa
for series progression analysis.
name
name of the normative values
perimetry
perimetry device for which normative values are intended
strategy
psychophysical strategy
size
stimulus size, e.g. Goldmann size III, size V
agem
The normative values' age model. The default methods' generate
age linear models with coefficients for each location in locmap
in
coeff
and the function definining the model in model
sd
standard deviations of the sensitivities, s
, total
deviation (TD) values, td
, and pattern deviation (PD) values, pd
luts
Lookup tables to obtain probability levels for TD and PD values.
probs
probability levels
td
, pd
lookup tables for TD and PD values at each location
in locmaps
global
lookup table for the following global visual field indices
ms
mean sensitivity (MS) calculated as the unweithed average
over locations' values
ss
standard deviation of sensitivity calculated as the
unweithed standard deviation over locations' values
md
mean deviation (MD) calculated as the weithed average
over locations' values. Weights are the inverse of the standard
deviation in sd
for TD at each location.
sd
standard deviation of total deviation calculated as the
weithed standard deviation over locations' values. Weights are the inverse of the standard
deviation in sd
for TD at each location.
pmd
pattern mean deviation calculated as the weithed average
over locations' values. Weights are the inverse of the standard
deviation in sd
for PD at each location.
psd
pattern standard deviation calculated as the weithed
standard deviation over locations' values. Weights are the inverse
of the standard deviation in sd
for PD at each location.
gh
general height. This is defined traditionally for the 24-2
and the 30-2 as the approximatelly the 85th percentile of TD values
vfi
the oddly defined visual field index
tdfun
a function defining how to obtain the TD values. Typically, it
is a function of age and sensitivity values and it is defined as sensitivity
values minus the age-corrected mean normal obtained as defined in agem
.
Thus, TD values are negative is visual field sensitivity values are below
mean normal and positive if they are above mean normal
ghfun
a function defining how to obtain the general height
pdfun
a function defining how to obtain the PD values. Tipically, they
are obtaines as the TD values minus the general height
glfun
a function defining how to obtain different global indices
tdpfun
, pdpfun
, glpfun
mapping functions to get
the probability levels corresponding to TD, PD and global indices values and
based on the lookup tables defined in luts
# generate normative values from SUNY-IU dataset of healthy eyes
# pointwise
sunyiu_24d2_pw <- nvgenerate(vfctrSunyiu24d2, method = "pointwise",
name = "SUNY-IU pointwise NVs",
perimetry = "static automated perimetry",
strategy = "SITA standard",
size = "Size III")
# smooth
sunyiu_24d2 <- nvgenerate(vfctrSunyiu24d2, method = "smooth",
name = "SUNY-IU smoothed NVs",
perimetry = "static automated perimetry",
strategy = "SITA standard",
size = "Size III")
Run the code above in your browser using DataLab