SimHenson
opiInitialize(type="C", A=NA, B=NA, cap=6, display=NULL, maxStim=10000/pi)
If the chosen OPI implementation is SimHenson
, then
type
can be one of:
"N"
, for normal patients; "G"
, for POAG patients;
and "C"
, for a combination. See Table 1 in Henson et al
(2000). If type
is "X"
then A
and B
should be specified and are used in place of one of the three
A/B combinations as in Henson et al (2000).
cap
is the maximum
standard deviation value that the simulator will use for
the slope/spread of the psychometric function.
If display
is a vector of four numbers c(xlow, xhi, ylow, yhi)
, then
a plot area is created of dimension xlim=range(xlow, xhi)
and
ylim=range(ylow, yhi)
and each call to opiPresent
will
display a point on the area.
The color of the plot area can be set with opiSetBackground
, and the
color of the displayed point is determined by the stimulus passed to opiPresent
.
maxStim
is the maximum stimuls value in cd/\(\mbox{m}^2\). This is
used in converting cd/\(\mbox{m}^2\) to dB values, and vice versa.
SimHensonRT
opiInitialize(type="C", A=NA, B=NA, cap=6, display=NULL, maxStim=10000/pi, rtData, rtFP=1:1600)
If the chosen OPI implementation is SimHensonRT
, then
the first six parameters are as in SimHenson
, and
rtData
is a data frame with at least 2 columns:
"Rt"
, reponse time; and
"Dist"
, signifying that distance between assumed threshold and stimulus value in
your units.
This package contains RtSigmaUnits
or RtDbUnits
that can be loaded with the commands
data(RtSigmaUnits)
or data(RtDbUnits)
, and are suitable to pass as values
for rtData
.
rtFp
gives the vector of values in milliseconds from
which a response time for a false positive response is randomly
sampled.
SimGaussian
opiInitialize(sd, display=NULL, maxStim=10000/pi)
If the chosen OPI implementation is SimGaussian
, then sd
is the standard deviation value that the simulator will use for
the slope/spread of the psychometric function.
display
and maxStim
is as for SimHenson.
Octopus900
opiInitialize(serverPort=50001,eyeSuiteSettingsLocation, eye, gazeFeed=NA, bigWheel=FALSE,pres_buzzer=0, resp_buzzer=0, zero_dB_is_10000_asb=TRUE)
If the chosen OPI implementation is Octopus900
, then you must
specify a directory and the eye to be tested.
serverPort
is the TCP/IP port on which the server is listening (on localhost).
eyeSuiteSettingsLocation
is the folder name containing the EyeSuite setting files,
and should include the trailing slash.
eye
must be either "left" or "right".
gazeFeed
is the name of an existing folder into which the video frames of eye tracker are recorded.
Set to NA
for no recording.
bigWheel
is FALSE
for a standard Octopus 900 machine. Some research machines
are fitted with an alternate aperture wheel that has 24 sizes, which are accessed
with bigWheel
is TRUE
.
The mapping from size to 'hole on wheel' is hard coded; see code for
details.
If pres_buzzer
is greater than zero, a buzzer will sound with each stimuli presented.
If resp_buzzer
is greater than zero, a buzzer will sound with each button press (resposne).
The volume can be one of 0 (no buzzer), 1, 2, or 3 (max volume). If both buzzers are more than zero,
the maximum of the two will be used as the volume.
If zero_dB_is_10000_asb
is TRUE
then 0 dB is taken as 10000 apostilbs,
otherwise 0 dB is taken as 4000 apostilbs.
Octopus600
opiInitialize(ipAddress, eye, pupilTracking=FALSE, pulsar=FALSE, eyeControl=0)
If the chosen OPI implementation is Octopus600
, then you must
specify the IP address of the Octopus 600 and the eye to test.
ipAddress
is the IP address of the Octopus 600 as a string.
eye
must be either "left" or "right".
pupilTracking
is TRUE to turn on IR illumination and set pupil black level (which happens
at the first stimulus presentation).
pulsar
is TRUE for pulsar stimulus, FALSE for size III white-on-white.
eyeControl
0 is off
1 is eye blink
2 is eye blink, forehead rest, fixation control
3 is eye blink, forehead rest, fixation control, fast eye movements
KowaAP7000
opiInitialize(ip, port)
If the chosen OPI implementation is KowaAP7000
, then you must
specify the IP address and port of the AP-7000 server.
imo
opiInitialize(ip, port)
If the chosen OPI implementation is imo
, then you must
specify the IP address and port of the imo server.
Compass
opiInitialize(ip, port)
If the chosen OPI implementation is Compass
, then you must
specify the IP address and port of the Compass server.
Warning: this returns a list, not a single error code.
DayDream
opiInitialize(ip="127.0.0.1", port=50008, lut= rep(1000, 256), degrees_to_pixels= function(x,y) return(50*c(x,y)))
If the chosen OPI implementation is Daydream
, then you must
specify the IP address of the Android phone that is in the Daydream,
and the port on which the server running on the phone is listening.
lut
is a vector of 256 luminance values, with lut[i]
being the cd/\(\mbox{m}^2\)
value for grey level i.
degrees_to_pixels
is a function that takes in x
and y
in degrees and returns
a vector of the (x,y) coordinates in pixels for one eye. This assumes the viewing distance (z-coordinate) is 30cm.