Behavioral OMS Model v1.4

Z.I. Wang, Ph.D.1,3 and L.F. Dell’Osso, Ph.D.1-3

From the Daroff-Dell’Osso Ocular Motility Laboratory1, Louis Stokes Cleveland DVA Medical Center and Depts. of Neurology2 and Biomedical Engineering3, Case Western Reserve University, Cleveland OH, USA



OMLAB Report #070108

Written: 1/2/08; Placed on Web Page: 7/1/08; Last Modified: 7/1/08

Downloaded from: OMLAB.ORG

Send questions, comments, and suggestions to:


This work was supported in part by the Office of Research and Development, Medical Research Service, Department of Veterans Affairs.


This document is based on and updated from the OMS_Model_Notes text file from the previous release of the OMS model (v1.0), available from



The behavioral Ocular Motor System (OMS) model contains Saccadic, Smooth Pursuit (SP), and Fixation subsystems controlled by an Internal Monitor (IM). It is capable of simulating normal ocular motor responses to commonly applied target stimuli  (pulses, steps, ramps, and step-ramps) as well as behaviors to these same stimuli by subjects with various ocular motor system disorders. Among the latter are infantile nystagmus syndrome (INS, aka CN), fusion maldevelopment nystagmus syndrome (FMNS, aka LMLN), gaze-evoked nystagmus (GEN), myasthenia gravis (MG), and various types of saccadic intrusions and oscillations (1-3).


The underlying hypothesis of the OMS model is that the brain reconstructs target position and velocity from retinal signals and efference copy of motor output signals and it is those reconstructed signals that are used to make decisions controlling ocular motor responses, not simply retinal error. This internal reconstruction provides signals that may be thought of as "perceived" target position and velocity and that are responsible for oscillopsia or its absence.


Realization of the actual functional block to accomplish each required motor or decision signal is only one of a very large set of solutions. "Non-physiological" blocks can (and will) be replaced by more physiological designs without changing the overall behavior of the model. As an example of that, we have already updated the ocular motor neuron pathways in this new release of the model (version 1_4) to conform to recent physiological findings (4) (details will be discussed below). The strength of the model lies in its organization and interconnecting feedback pathways; these reflect current knowledge of the ocular motor system's organization and our interpretations of the mathematical and decision-making functions required to simulate the wide range of ocular motor behaviors recorded from both normals and those with the specific disorders incorporated into the model.



Here we summarize the major changes made in the model since its first release, v1.0 (see APPENDIX):

1. A Re-distributed OMS Efferent Delay

The human OMS has ~200-250 ms latency to position error and ~100-150 ms latency to velocity error. In our model, the delays responsible for these latencies were distributed in different sub-systems. A major limitation of the distribution of the delays in the previous model was a lumped 30 ms efferent delay placed immediately before the plant, i.e., the latency from OMN firing to the induced eye movements. That lumped delay had no adverse effect for the overall performance to the input stimuli we employed, and the model produced accurate behavioral outputs (2). However, the physiological value for that delay, as reported by Robinson et al. in an electrical stimulation study, is approximately 4-5 ms (5). Also, the VOR response, which will be integrated to this model in the future, has a short latency of ~15 ms; the lumped efferent delay of 30 ms would have made this short latency impossible to realize. Therefore, one major improvement of this current model is the re-distribution of the 30 ms efferent delay throughout the functional blocks of the internal monitor, i.e., the “brains” of the model.


We divided the 30 ms delay into 5 ms (the physiological value), placed between the OMN and the plant, and the remaining 25 ms, re-distributed back into the upstream functional blocks. The re-distribution work was non-trivial, because of the multiple internal calculations using feedback signals for efference copy of eye position and velocity. Furthermore, the timings for making comparisons in the functional blocks of the internal monitor also had to be reset by Ī25 ms, depending on where in each block the 25 ms delay was placed. These timing changes will be described below for the specific blocks.


2. A Built-in Gaze-angle Variation Mechanism

INS patients exhibit gaze-angle variations with a similar morphology as those seen in Vestibular Nystagmus (VN) and FMNS. To simulate the gaze-angle variations in INS, we used the same Alexander’s law functional block in the Internal Monitor of the OMS model (just as in the FMNS simulations (6)). That block utilized a reconstructed eye-position signal that excluded the nystagmus signal, i.e., an indication of “where the eye should be.” The output of the Alexander’s law block was used to modulate the INS baseline sine-wave oscillation (7). The modulation was enabled by a variable gain in the PMC+ block. The “null” position and broadness can now be specified via the Alexander’s law block and simulations of the INS variation with gaze angle of specific individuals easily made. Thus, by using the same mechanism of Alexander’s law regulation as in VN and FMNS, INS gaze-angle variation was successfully simulated without the need for additional functional blocks. The resulting new version of the OMS model is more flexible and can accurately simulate the large range of “null” positions and broadness observed in INS patients.  


3. A Separate Pathway for “Fast” and “Slow” OMNs and a “Tenotomy” Plant

We have shown in a study of post-tenotomy saccades that saccadic eye movements were not affected while slow-phase velocities were reduced after the tenotomy procedure (8). The study implied that the plant gain might be a nonlinear function of steady-state tension that was turned down by a proprioceptive feedback loop post-tenotomy. Recently, the separation of slow and fast eye-movement signals were demonstrated in a retrograde injection study from Büttner-Ennever’s group (4). The retrograde transneuronal transfer of rabies virus from the “en grappe” endplates (innervating “slow” muscle fibers) and “en plaque” endplates (innervating “fast” fibers) showed separate connections to “fast” and “slow” OMNs. Those “slow” OMNs are involved in only slow eye movements, (i.e., vergence and smooth pursuit), muscle length stabilization, and fixation, whereas the “fast” OMNs participate in all eye movements. Therefore, the “fast” muscle fibers may be involved in all eye movements and the “slow” fibers in an on-line proprioceptive tension control loop. If tenotomy only reduces the firing rate of the “slow” OMNs, lowering INS slow-phase velocity, it is reasonable that the saccades remained unchanged.


To incorporate the dual OMN paradigm in our model, we created functional blocks for both the fast and the slow OMNs, and connected saccadic pulse generator output to only the “fast” OMNs, while providing all other outputs to both OMNs. The ratio of these split signals is currently set to be 50% each, although this number could vary due to the percentage of non-twitch fibers and their contribution to the final muscle force generation (presently unknown, “a subject for the gods”—J. Büttner-Ennever, personal communication). Instead of just one OMN output to the plant, we now have a “fast” OMN output and a “slow” OMN output, both going to the plant.


With the dual-OMN model design, a “tenotomy” plant is more easily realized. Since the tenotomy exclusively reduces the slow-phase signals, we placed a reduction coefficient in the plant for small-signal inputs. This coefficient is idiosyncratic and could depend on the pre-surgical waveform quality and/or afferent deficits (9,10). We do realize, and indeed have hypothesized, that a more complicated proprioceptive feedback control probably exists to reduce the nystagmus slow-phase components; more neuroanatomical and neurophysiological research is needed to accurately simulate the gains and time constants of that control system.



The model uses a 2-pole plant and the pulse generator (PG) height and width functions are tuned for that plant. Since both the PG’s resettable neural integrator (NI) and the plant (with a tenotomy coefficient) are now different than in v1.0, the pulse-height table and the pulse-width block are tuned slightly differently.


The “fast” OMN block only passes the NI signals in the absence of any PG signals. Because the “slow” OMNs do not receive PG signals, they function as relays of the NI signals.


The NI only integrates the PG signal until the "nihold" signal from the IM stops it. That happens when the NI output equals the desired eye position. Eye-velocity signals from the IM are integrated by the NI and also passed through a gain "k" (0.25) to the OMN.


The SP system is modified from David A. Robinson to function in a position-based OMS (11). It contains the internal feedback loop "PMC+" (plus noise). Finally, both retinal error and retinal error velocity signals are sent from the retina to the IM.


The model is modular and allows for substitution of different ocular motor plants, NIs, PGs, Fixation, and SP subsystems. The current NI is a leaky (25 sec) NI with a positive feedback loop to compensate for the leak. The PG contains both a height and width nonlinearity, with the width (PW) controlled by a local resettable NI (12). The PG signal has both phasic and tonic adjustable gains to allow for simulation of saccadic plasticity.



The original model (v1.0) was developed in Simulink 2.2 (part of the MATLAB 5.2 release). We have updated the model in Simulink 7.0 (part of Matlab 7.5) and found no significant differences in the model output. During the upgrading, we grounded all the unconnected ports (as required) and changed some incompatible parts (e.g., the integrator in the resettable neural integrator in PG) to their compatible equivalents.


Before using the OMS model, it is advisable to make a backup copy so that an unchanged copy of each version is available. Common ocular motor input stimuli (pulses, steps, ramps, step-ramps) can be provided to the OMS model from the sources provided. The model requires that the simulation "Solver options" be "Fixed-step" (Fixed step size of 0.001) and "ode-4 (Runge-Kutta)".


There are also a number of externally settable OMS-model parameters that allow simulation of different waveforms of INS and FMNS as well as normal behaviors. These are incorporated into profiles accessed using "setmdlp", a program with a graphical interface that allows the user to easily inspect and modify these parameters. Place the program "setmdlp" in a directory that is on the MATLAB path. The parameter folder “modelparams/v1_4” contains all the parameters for the new release; this should be the folder that "setmdlp" loads from. The names of the files in that folder indicate the waveform type of the output and whether it’s pre-tenotomy or post-tenotomy. If they are post, the percentage of amplitude reduction is also indicated. These files contain the necessary changes for various parameters in the model to enable behavioral simulations of different states of the OMS.


The program, "setmdlp" requires, and will try to create if necessary, a directory called "omPrefs" in the same directory where MATLAB exists (to find, type the command "matlabroot" from the MATLAB command line). The program, "setmdlp" will try to read the file "mdlParams.mat", which contains the last set of model parameters used.  If this file does not exist, "setmdlp" will prompt the user to load an existing parameter set or create a new set.


If the user wishes to change any parameter, they simply type the new value in the appropriate field and click the "Apply" button so the model will recognize the update.


Modified parameter sets can be stored anywhere desired, using the "Save as..." button, and loaded using the "Load" button. We have included a set of parameters covering normal function of the OMS model as well as several deficits and forms of nystagmus.


We included the Libraries of all functional blocks in “OMS Model Lib” and various sub libraries in some functional blocks, allowing the user to swap between the different implementations. If during your testing you left test points or extra model blocks unconnected, Simulink will complain about any block that has unconnected inputs or outputs. The warnings that are issued at run time do not affect the operation of the model, but can be distracting when they clutter up the command window. Simply type "warning off" at the command line to disable this behavior.




A S/H circuit passes the saccadic motor command to both the PH and PW functions. The output of the PH function is passed through a switch to the output of the PG. The switch is controlled by the output of the PW circuitry. PG is also fed back through a refractory latch to the S/H, placing it in the H mode until 50 ms after the end of the PG signal. The refractory latch initiates a low output from the onset of the PG signal. The trailing edge of PG then starts the refractory timing circuit that outputs a high signal to the S/H after 50 ms (user-definable by setting “Refract Latch” value), allowing the next pulse to be generated.



The SP system operates on reconstructed target velocity from the IM and outputs a desired eye velocity signal. The forward path contains a LP filter, gain, velocity saturation and a premotor circuit (PMC+). The PMC+ circuit has an acceleration saturation and an integrator in a negative feedback loop. Provision is also made for velocity noise. The PMC+ circuit controls the oscillatory behavior of the SP system. We used a modulation factor for the PMC+ gain to simulate the gaze-angle effect of INS. That factor came from the Alexander’s law functional block in the IM (delayed by 25ms because of the re-distribution of delays). The “Velocity Deadzone” block in the PMC+ circuit eliminates the artificial ripples at the beginning of the simulation only for normal ocular motor simulations. Those ripples are characteristics of the circuit and are essential in generating sinusoidal oscillations of nystagmus.



This is the heart of the model, as it is responsible for separating true target position and motion from retinal image position and motion. It does this using efference copy of both eye position and velocity commands and a target-change, decision-making circuit. Other inputs to the IM are a light/dark (L/D) signal and a tonic imbalance (TI) signal; the latter might be driven by any of a number of mechanisms hypothesized to cause FMNS. The IM consists of several major functional blocks: Target Change Detection, Sampled Target & Error Reconstruction (utilizing a Model OMN and Plant), Target & Slip Velocity Reconstruction (utilizing Model Velocity circuitry and Plant), Saccade and Drift Blanking, Braking/Foveating Saccadic Logic, NI control, Alexander's Law variation, and Saccade Enabling. This overall structure of the model (i.e., the functional blocks) remains the same as the first release (v1.0). However, several functional blocks were combined in an earlier, unreleased version (v1.1, see APPENDIX) for simplicity and non-redundant use of the same input signals. Thus, “Sampled Target Reconstruction” and “Sampled Error Reconstruction” were combined into “Sampled Target & Error Reconstruction” and  “Slip Velocity Reconstruction” and “Target Velocity Reconstruction” were combined into “Target & Slip Velocity Reconstruction.” Since the delay immediately before the plant was reduced from 30 ms to 5 ms and the remaining 25 ms was redistributed in the internal monitor, the amount of delay in each of the sub functional blocks might differ from the first release.


Target Change Detection:  If retinal error velocity (“RetErrVel” = “edot50”) is greater than 950 deg/sec, "tchng" goes high (value = 1), indicating that the target has jumped. This signal is used in combination with "tvelchng", which goes high (value = 1) if the derivative of reconstructed target velocity, “tvpr”, is greater than 950 deg/s2.


Sampled Target & Error Reconstruction: Retinal error position (“err50”) is summed with the efference copy of eye position (“eposspf” and “epossps”) after the latter is passed through a model of the OMN (OMN2) and 2-pole plant yielding "ecpy80". Appropriate delays are in place. The resulting signal is reconstructed target position (T'). T' is sampled to yield T'* (“tpstar”) when either a target change (“tchng”) is detected or a retinal feedback sample (“rfbspl”) is called for by the Saccade Enable circuitry.


Target & Slip Velocity Reconstruction: Retinal error velocity (“edot50”) is delayed, limited and summed with “imvel” (output of the 1-zero, 2-pole "Model Plant+"); the sum is then passed through a Sample and Hold (based on the "sbsp" signal from the “Saccade and Drift Blanking” block), a low-pass filter and a dead zone to yield reconstructed target velocity (“Tvel'*”), which is the input motor command signal "SPmc" = "tvpr" to the SP circuitry. "tvpr" is summed with the efference copy of eye velocity (“evelpr”) and then summed with tonic imbalance (TI). Appropriate delays are in place.


Saccade Enable: This block contains the sub-blocks “Enable Control,” “Retinal Feedback (RetFB) Enable & Sample,” and “Defoveating Fast-Phase Generation (DFFPh Gen).” The Enable Control circuitry sends output signals to both RetFB Enable & Sample circuits and its sub-block ECPY Timing. The first output from RetFB Enable & Sample circuits directly enables a saccade to be initiated (“RetFB Enable” prolonged = “sacenab”). The second output from the Saccade Enabling (from RetFB Enable & Sample) is a retinal feedback sample (“RFB Spl” = “rfbspl”) signal that allows sampling of a new reconstructed target signal; Target Change Detection also allows such sampling. The second output from Saccade Enabling (third output from Defoveating Fast-Phase Generation) is a fast-phase amplitude signal (“FPh Size” = “fphsz”) that is added to a sampled, reconstructed retinal error signal to determine saccade size via the sampled saccadic motor command (“Saccmc” = “smcspr”) that is sent to the PG (this is done in the “Saccade Motor Command” block).


The Enable Control circuitry uses sampled, reconstructed retinal error (after a 0.3 deg dead zone) (“e'*DZ” = “ecdstrdz”), PG (“pgout”), and Target Change Detection (“Tgt ch Det” = “tchng”) to determine if an ECPY (i.e., "corrective") saccade or a RetFB (i.e., "fixation") saccade should be enabled. If "e'*DZ" is non-zero and it has been less than 150 ms since the last detected change in target position, PG is passed to the output, "ECPY Tmng" (“ecpyenab”). If, on the other hand, at least 150 ms has passed since the last detected target change, the "RetFB En&Spl" = "rfbspl" output will go high (value = 1). The "RetFB En&Spl" = "rfbenctl" passes to the Ret FB Enab & Sample circuitry.


The ECPY Timing circuitry acts on the "ECPY EnCntr" = "ecenctrl" input signal. It outputs an "ECPY Enable" = "ecpyenab" signal that is 10 ms long (set in "enable duration") and starts 130 ms after PG concludes (set in "post-pulse delay time"). The "ECPY Enable" signal passes to the RetFB Enable & Sample circuitry.


The RetFB Enable & Sample circuitry uses 5 inputs: retinal error position (err50), "RetFB En&Spl" = "rfbenctrl" from the Enable Control circuitry, "eedot" and "TIDZ" from the DFFPh Gen circuitry, and "ecpyenab" from the ECPY Timing circuitry. Its outputs are "RetFb Spl" = "rfbspl" and "RetFB Enable" ("sacenab"). The "rfbspl" signal allows sampling of reconstructed target position (T') to produce (T'*). Each "ecpyenab" input causes "rfbspl" to go to 0, where it remains until the RFB latency of 200 ms expires (if no other "ecpyenab" signals occur) and sets "rfbspl" to 1. "RetFb Spl" also goes to 1 with high outputs (value = 1) of either of the two 4-input AND gates. Before a "RetFB Enab" signal is created, 1 of 5 criteria must be satisfied, several of which depend on specific combinations of the 5 inputs to the RetFB Enable and Sample circuitry. Two criteria that directly trigger a "RetFB Enable" output are a "RetFB En&Spl" signal ("rfbenctrl") form the Enable Control circuitry and an "rfbspl" signal from within this block. Each of 2 other criteria result from the outputs of the two 4-input AND gates. The first AND gate requires that 4 conditions be met: 200 ms has elapsed since the last "sacenab" signal, "TIDZ" must be 0, "err50" must have a magnitude >0.5, and "eedot" must be high (value = 1). The second AND gate also requires that 4 conditions be met: 200 ms has elapsed since the last "sacenab" signal, "err50" has to be non-zero, "eedot" must be high (value = 1), and "TIDZ" must be non-zero. The final criterion that triggers "RetFB Enable" is the output of the 2-input AND gate when "ecpyenab" and its second input are high (value = 1). That is, when the magnitude of the retinal error is higher than the 0.5 threshold. This triggers a "corrective" saccade.


The Defoveating Fast Phase Generation circuitry uses 7 inputs: "tial", "err50", "RetFB Enable" from the RetFB Enable & Sample circuitry (“rfbenab”), "edot50", "ECPY Enable" from the ECPY Enable circuitry (“ecpyenab”), "sbsac", and TCD (“tchng”). Its outputs are: "FPh size" = "fphsz", "eedot", and TIDZ. The "FPh size" output sums with "e'*DZ" to determine the magnitude of "saccmc" = "smcspr". The "eedot" and "TIDZ" outputs are used by the RetFB Enable & Sample circuitry. The "FPh size" output is "TIDZ" multiplied by -0.8 if either "rfbenab" or “ecpyenab” are high (value = 1) and at least 200 ms has elapsed since the last "tchng" signal; if both are low, "FPh size" is 0. The "eedot" output is high if either "err50" and "edot50" sampled are greater than 0 or both are less than 0. As the name implies, the "TIDZ" output is created by passing the "tial" input through a dead zone of 4 deg/sec.


Saccade and Drift Blanking: The Saccade and Drift Blanking circuitry prevents other logic from evaluating steady-state target, eye, or retinal variables during, or immediately after saccades. It creates a blanking signal (“sbsac”) that lasts for PW + 70 ms, using a delayed PG signal (“pgout” delayed by 80 ms). The "sbsac" signal is also used to prevent the effects of post-saccadic drift from adversely affecting calculation of reconstructed target velocity. The "sbsac" signal causes the "SP S/H" = "sbsp" signal to be 0 (after "sbsac" goes to 1 after 80+PW+70 ms) until the velocity error signal (“velerr”) begins to increase, at which time "sbsp" goes to 1.


Neural Integrator Control: When TI is non-zero, the Neural Integrator Control circuitry allows the NI to integrate the output of PG until its output (desired eye position) is equal to the reconstructed target position. The output signal (“Hold” = “nihold”) is used to remove the PG input from the NI via a control switch. “Hold” is set to 0 when both PG and the reconstructed error signal (“tpstar” – “epospr”) are non-zero. During PG, “Hold” remains low (value = 0) until the reconstructed error signal crosses zero, whereupon “Hold” is set high (value = 1). “Hold” is also set to 1 if PG terminates. In the absence of a tonic imbalance (TI=0), the NI integrates all PG signals. Other conditions (e.g., for GEN, SP, etc.) need to be added to activate this circuitry that allows the NI to hold its value when it has arrived at the correct eye position.


Alexander's Law: The original circuitry (v1.0) used efference copy of eye position (epospr) to modulate the TI input and produce "TIAL" = "tial". In the present model (v1.4), a more stable version of the efference copy of eye position (“tpstar” – “ecdstrdz”, without nystagmus) was used to simulate the gaze-angle effect of INS via “NullMod”. The eye position signal is multiplied by the Alexander's law slope and filtered before summing with TI. Depending on the sign of TI, this sum is kept greater than or less than 0 and passed onto the lower final switch that only passes an output if TI is nonzero. In this version of the model (v1.4), when there is a TI input (e.g., VN or FMNS), this gaze-angle modulation is turned off via the upper penultimate switch.


Braking/Foveating Saccade Logic: This circuitry (for INS) uses sampled, reconstructed retinal position error (“ecd1str”), sampled, reconstructed retinal slip velocity (“svpr” = “slipvel2”), and desired eye velocity (“Evel'”) to determine if the conditions for generating a BS are met. Braking saccades will always occur in the direction opposite to eye motion if the eye is moving away from the target. First, "ecd1str" is used by the BS or FS circuit to determine if retinal error is increasing (calling for a BS) or decreasing (no BS). If this criterion for a BS is met, its magnitude is determined within limits. Second, "svpr" is compared to a threshold; if it exceeds it, the second criterion for a BS is met. Third, the direction of "Evel'" is determined and used to assign the direction of the BS. The product of these logic signals is used with "Evel'" by the BS Enable circuit. If the derivative of "Evel'" (desired eye acceleration) falls below threshold, a BS is enabled for a period of time determined by the BS Timing circuit. In this version (v1.4) we added reconstructed target velocity (“tvpr”) as an input to allow more accurate foveating saccades during smooth pursuit. This is done by either adding or subtracting from the prior calculation depending on the relative directions of the pursuit and the foveating saccade.


Saccade Motor Command: This block generates the ultimate position motor command (“posmc”) that PG sees and executes. “posmc” is generated by using a voluntary saccade switch (Vol Sacc Sw) to sample the sum of “fphsz” and “ecdstrdz”. In v1.4, “ecdstrdz” is multiplied by the output of “Corrective Sacc Inhibition”, which inhibits the unwanted voluntary saccades during foveation periods of nystagmus while leaving the wanted voluntary saccades unchanged. The switch output is an indication of the saccadic amplitude. It is held for 150 ms if target position change is detected.


Model Plant+: This block uses the slow and fast components of the efference copy to reconstruct the plant output. In the previous release, the slow and fast components were not distinguished. The structure of Model Plant+ is identical to the modified double motor neuron plant. “ecpy80” is a delayed version of  the plant output (eye position reconstructed); “imvel” is the differentiated reconstructed eye position, i.e., the reconstructed eye velocity. These two signals are used in multiple places (mentioned above) for various logical operations in IM.




The underlying hypothesis for INS is that it represents a failure to calibrate the normal damping in the SP system, resulting in a continuous, sinusoidal velocity oscillation (a high-gain instability). All subsequent known INS waveforms are the result of the interactions as the normal saccadic subsystem attempting to brake the oscillation, and the fixation system's attempts to foveate the target.



The underlying hypothesis for FMNS is not restricted to any specific hypothesis for its genesis. The driving force for FMNS is considered to be a tonic imbalance that results from either of the three current hypotheses for FMNS. It emanates from the visuovestibular system (not included in this version) and is a tonic imbalance (TI) that drives the eyes off target with constant velocity slow phases. The decelerating slow phases also observed in FMNS are produced by a switch in saccadic function from foveation of the target to defoveation when the TI becomes too large (more than 4 deg/sec) for good acuity. That allows the fixation system to slow the drift for better acuity.



We continue to expand the current OMS model (v1.4) and will release future versions after they are tested. Currently the pursuit-response simulations are for ramp or step-ramp target inputs. The pursuit system will be updated for the post-tenotomy responses for greater accuracy. This update requires further study of post-tenotomy pursuit data and the plasticity of the OMS after extraocular muscle surgeries. Also, pursuit and gaze-angle variation will be coordinated to work synergistically. The characteristic of a moving “null,” when the eyes are moving in response to a moving target or head movement, makes this revision of the model more challenging. Additionally, more human data should be observed to determine if the model should also be tweaked so that responses to high-velocity targets are more accurate.


If users find any bugs, they are encouraged to bring them to our attention so that, after testing them, we may incorporate them into future versions (with citation of the source). In this way we hope to expand the behaviors of the model as well as the ocular motor deficits it can simulate. Changes made by users without consultation and testing by the Daroff-Dell’Osso Ocular Motility Lab should be identified as such in any publication.


We will also incorporate different versions of key functional blocks as neurophysiological evidence is provided in the literature. We hope this model will become a platform for testing putative models of subfunctions that come out of research into brain-site specific, single-cell recordings. The model has already demonstrated its predictive value for static and dynamic behavioral effects of tenotomy surgery in INS (13,14). It had also proven useful in teaching normal and abnormal ocular motility as its outcomes can be made into QuickTime movies and incorporated into programs designed for computer projection of figures and movies.



1.             Dell'Osso LF. Nystagmus basics. Normal models that simulate dysfunction. In: Hung GK, Ciuffreda KJ, eds. Models of the Visual System. New York: Kluwer Academic / Plenum Publishers, 2002; 711-39.


2.             Jacobs JB, Dell'Osso LF. Congenital nystagmus: hypothesis for its genesis and complex waveforms within a behavioral ocular motor system model. JOV 2004; 4(7):604-25.


3.             Rucker JC, Dell'Osso LF, Jacobs JB, Serra A. "Staircase" saccadic intrusions plus transient yoking and neural integrator failure associated with cerebellar hypoplasia: a model simulation. Sem Ophthalmol 2006; 21:229-43.


4.             Eberhorn AC, Horn AKE, Fischer P, Büttner-Ennever JA. Proprioception and pallisade endinge in extraocular eye muscles. In: Ramat S, Straumann D, eds. Clinical and Basic Oculomotor Research. In Honor of David S. Zee—Ann NY Acad Sci 1039. New York: NYAS, 2005; 1-8.


5.             Robinson DA. A note on the oculomotor pathway. Exp Neurol 1968; 22:130-2.


6.             Dell'Osso LF, Jacobs JB. A normal ocular motor system model that simulates the dual-mode fast phases of latent/manifest latent nystagmus. Biological Cybernetics 2001; 85:459-71.


7.             Wang ZI, Dell'Osso LF, Jacobs JB. Expanding the original behavioral infantile nystagmus syndrome model to jerk waveforms and gaze-angle variations. In: Leigh RJ, Devereaux MW, eds. Advances in Understanding Mechanisms and Treatment of Congenital Forms of Nystagmus. New York: Oxford University Press, 2008; 139-42.


8.             Wang Z, Dell'Osso LF, Zhang Z, Leigh RJ, Jacobs JB. Tenotomy does not affect saccadic velocities: Support for the "small-signal" gain hypothesis. Vision Res 2006; 46:2259-67.


9.             Wang Z, Dell'Osso LF, Jacobs JB, Burnstine RA, Tomsak RL. Effects of tenotomy on patients with infantile nystagmus syndrome: foveation improvement over a broadened visual field. JAAPOS 2006; 10:552-60.


10.          Wang ZI, Dell'Osso LF, Tomsak RL, Jacobs JB. Combining recessions (nystagmus and strabismus) with tenotomy improved visual function and decreased oscillopsia and diplopia in acquired downbeat nystagmus and in horizontal infantile nystagmus syndrome. JAAPOS 2007; 11:135-41.


11.          Robinson DA, Gordon JL, Gordon SE. A model of smooth pursuit eye movements. Biol Cyber 1986; 55:43-57.


12.          Abel LA, Dell'Osso LF, Daroff RB. Analog model for gaze-evoked nystagmus. IEEE Trans Biomed Engng 1978; BME(25):71-5.


13.          Wang ZI, Dell'Osso LF. Being "slow to see" is a dynamic visual function consequence of infantile nystagmus syndrome: Model predictions and patient data identify stimulus timing as its cause. Vision Res 2007; 47(11):1550-60.


14.          Wang ZI, Dell'Osso LF. Tenotomy procedure alleviates the "slow to see" phenomenon in infantile nystagmus syndrome: model prediction and patient data. Vision Res 2008; 48:1409-19.






Although the information contained in this paper and its downloading are free, please acknowledge its source by citing the paper as follows:


Wang, Z.I. and Dell’Osso, L.F.: Behavioral OMS Model v1.4. OMLAB Report #070108, 1-16, 2008.




OMS Model Versions


OMSv1.mdl: Original model as presented in JOV paper

[Released on web site 7/30/04]

OMSv1_1.mdl: OMSv1.0 model with combined IM components

[Changes: IM]

OMSv1_1_SSI.mdl: OMSv1.1 model with staircase saccadic intrusions

[Changes: Test bed, Sampled Target & Error Reconstruction]

OMSv1_2.mdl: OMSv1.1 model with OMS Model Lib available

[Changes: Model Lib]

OMSv1_2_1.mdl: OMSv1.1 model with OMS Model Lib available

[Changes: PG (New rNI), Model Lib]

OMSv1_3.mdl: OMSv1.2 model with:

1) Improved SP accuracy of INS foveating saccades

[Changes: IM, BS/FS Logic]

                                    2) AL-controlled INS nulls

                                                      [Changes: IM, AL, PMC+]

OMSv1_3_1.mdl: OMSv1.2.1 model with:

1) Improved SP accuracy of INS foveating saccades

[Changes: IM, BS/FS Logic]

                                    2) AL-controlled INS nulls

                                                      [Changes: IM, AL, PMC+]

OMSv1_4.mdl: OMSv1.3 model with dual-signal OMNs and Plant

1) OMNs for SEM + saccades and SEM only

[Changes: OMN, Model, Plant, Model Plant]

                                    2) Plant pathways for SEM + saccades and SEM only

                                                      [Changes: Plant, Model Plant]

                                    3) Distributed final 30 ms delay

                                                      [Changes: pre-Plant, Model+ pre-Plant, Model, Sacc Enab,

Trgt Chng Det, Trgt Recon, BS/FS Logic, Slip Vel Recon]

                                    4) New PG with new rNI to avoid error messages of original rNI

[Changes: PG (New rNI, altered gains and non-linearity in

PW, altered PH table), Model Lib (New PG lib)]

                                    5) Plant with SEM gain adjustment (EOM surgery)

                                                      [Changes: Plant, Model Plant]

                                    6) Inhibit corrective saccades if fs

                                                      [Changes: Sacc Mot Cmd, Corr Sacc Inhib]

                                    7) Modified Fixation system to prevent accumulated error

                                                      [Changes: Fixation, Fix Lib]

                                    8) Provided a cleaner signal of eye position for AL modulation

                                                      [Changes: Alexander’s Law]

                                    9) Ensured no fsmc30 for 250 ms after Target change

                                                      [Changes: BSFS Logic]


[Released on web site 7/1/08]