Split out Octopus 900 functions into OPIOctopus900 package
Contains Tutorial and pdf Manual
Contains FT()
OPI 1.2
contains ZEST()
Fixed a bug in SimHenson opiPresent()
OPI 1.2.1
Contains simDisplay to allow displaying of stims on a plot in
simulation mode.
removed nextStim=NULL bug in opiPresent.opiStaticStimulus
octopus900.r
OPI 1.2.1.1
as for 1.2.1 but with depends rJava removed from Description
OPI 1.2.2
Contains multi-location ZEST
OPI 1.3
Contains Temporal and Kinetic in OPIPresent
OPI 1.4
allows for differring params to all opiXX() functions (in
opiDistributor) but as a result, all params MUST be named in calls
added simYes and simNo
fixed “domain” bug in ZEST.start likelihood parameter
added minStimulus and maxStimulus to ZEST.start and internals of
ZEST.step
added frame to opiPresent return
added param to opiInitialize to turn gaze tracking on/off
added alias opiInitialise
updated docs.
Removed .GlobalEnv and created sub Envs for each Sim
updated docs for opiSetBackground for Octopus 900
deleted opi.procedure.{load|save}
moved chooseOpi() into opi.r
NOTE - must pass junk params in .jinit() and .jpackage wont
work…
OPI 1.5
opiPresent only returns a single frame (array of int)
seen returned from opiPresent is limited to 0 or 1
added !exist to opiDistributor
simHenson uses false pos rate to determine seen if db < 0
changed ZEST.final to return “limit”
fixed verbose=1 bug in zest.r
changed respSeq return type from ZEST
OPI 1.6
added SimHensonRT and related man and data
fixed ZEST bug
added warnings about non-OPI parameters to opi functions
fixed small typos in ZEST man page
added FT.start/step/stop/final/final.details
OPI 1.6.2
branch version that uses Tony’s special size wheel, not
GOLDMANN
OPI 1.7
altered to look for opi.jar for Octopus 900 in EyeSuite dir, not in
.Library or libpaths() Hence changed chooseOpi and opitInialise
added maxStim param to dbTocd and cdTodb
added type=“X” to simH and simH_RT
OPI 2.0
moved to a client-server model for Octopus 900
OPI 2.1
included Kowa AP 7000 perimeter
small bug fix in O900 client
moved to a client-server model for Octopus 900 if stim=NULL for
opiPresent
added fourTwo procedure
OPI 2.2
added more Kowa functionality, fixed underscore problem
fixed stim==NULL bug on O900 client
added bigWheel=TRUE in opiInitialise for octo900
OPI 2.3
added support for F310 Logitech Controller for responses to static
stimuli
added buzzer support for O900
fixed Kowa kinetic return values
OPI 2.4
added purkinje coordinates to return of opiQueryDevice for Kowa
AP7000
OPI 2.5
added imo
added different types of buzzer for Octopus 900
added 4000/10000 as 0 dB choice for Octopus 900
OPI 2.6
added Compass support
fixed sneaky kinetic speed bug
OPI 2.7
Added Kinetic Stimuli to SimHenson
Updated Compass protocl to The Helsinki Draft
Added MOCS
OPI 2.8
Added opiPresent error check into MOCS
Changed return from MOCS to include all opiPresent return
fields.
Changed ZEST state to include all opiPresent return fields.
Fixed two bugs related to gaze feed in O900
Added checkFixationOK check to opiStaticStimulus, ZEST and MOCS
(untested)
Altered mocs to print comma separated lines and location
number.
Added Daydream device to allow Google Daydream perimetry
chooseOpi("Daydream") (unfinished)
Fixed bug where stimulus color was not transmitted to the O900
Updated documentation for opiClose re Compass.
OPI 2.9
Removed all individual environments for each perimeter and made one
OPIEnv (not backwards compatible)
.Octopus900Env\(x has become
.OPIEnv\)O900$x
Added gazeFeed to a folder for Octopus 900
Added Display as an OPI client.
Fixed cdTodb to stop if given <= 0 input
Fixed some color=“white” examples. (Color is machine specific)
OPI 2.10
Major rewrite of the Display OPI option.
Updates to DayDream code.
Added size option to static stimuli for Compass OPI option.
New device PhoneHMD added to support Android phones
OPI 2.11
Changed to Apache 2,0 license.
Fixed minor bug in ZEST related to minStimulus.
Added .OpiEnv$machine_name which is set to chosen OPI machine
2.11.1 Minor bug fix to export .OpiEnv , added QUEST+
2.11.2 Minor bug fix to encode return image for Compass
initialise
2.11.3 Added fixedResponse param to ZEST.step
OPI 3.0.0 (July 2024)
Major rewrite of the OPI 2.11.3 package to include
New support for the OPI-JOVP server hence screen-based
perimeters
Changed from GNU to Apache 2.0 license
R code for all machines automatically generated from
rgen in OPI-JOVP package
Deprecated opiSetBackground, replaced with opiSetup
Deprecated Kinetic simulation: SimHenson etc now only work for
static stimuli.
Other algorithms and simulations stay the same as before
Addition of the imoVifa (aka Tempo)
New unit tests
Gotchas when working across machines
Some of the previous commands were documented to return a list
containing err = NULL on success. For commands where this
was the only expected item in the return list, like
opiInitialise on the Octopus900, this meant they returned
an empty list. That is, is.null(result$err) was trivially
true as is.null(result) was true. But this is not always
the case for opiInitialise on all machines. So code for use
on more than one machine should check opi function return
result success as is.null(result$err), not
is.null(result) as in the past. Algorithms in this package
have been updated to reflect this.
OPI 3.0.1
Eye tracking for ImoVifa/Tempo added.
OPI 3.0.2
Changed eye tracking for ImoVifa/Tempo to return pixels, not degrees
and mm.
OPI 3.0.3
Added MAIA perimeter
OPI 3.0.4
Add stricter check for opiInitialise being called.
Made sure SimHensonRT works and a couple of examples.
JOVP examples
OPI 3.0.5
Fixed bug where initialise was not recorded internally in some
machines
OPI 3.0.6
Fixed bug in test case of SimHensonRT
OPI 3.1.0
Added simple response time function to SimHenson
Added Envision support (Thanks to Ivan)
Fixed bug for setting fixation marker in Compass (thanks to Pete
Jones for spotting)
Minor doco fixes for Compass and MAIA
OPI 3.1.1
opiPresent test failed only in the r-devel-linux-x86_64-fedora-clang
image at an integer comparison. Change it to a float comparison…