VOG Analysis program, John P. Kelly, Seattle Children's Hospital version 3.0 -major change is there is only one reject list. Versions 1, 2 had two separate lists. One for raw data and one for velocity data. Now there is just one list for velocity. Bad raw data can therefore be linearly interpolated between missing data points. That way the raw data does does not (greatly) affect the velocity calculation, which uses a convolution filter. version 3.1 (December 2015) -major change in smooth pursuit calculation of OTOAcess 100Hz text files: Since the sampling period is approximately 9.5 ms on average, the program had to estimate target peak velocity. The target velocity estimation was too low for the nominal 100 Hz OTOAcess. The old value was calculated by TargetPeakVel = TargetPeakVel = TargetFrequency/SamplePeriod (for true sinewave Peak Vel = Frequency / SamplePeriod) The new method is TargetPeakVel = (TargetAmp * SIN(TargetPhase + tau) - TargetAmp * SIN(TargetPhase)) / SamplePeriod 'empirical peak velocity The old method would underestimate target peak velocity at a factor of 60/100 version 3.2 (January, 2016) -minor change, added RELATIVE 3D rendering, relative posiition offsets were not related to absolute eye position. That is shifting the eye position trace was just related to the relative plot. There was no change in File Settings version 4.00 (March, 2016) -Major change, changed PosOffset(eye, dir) to absolute position offsets this affects all plotting (traces, 2D plot, 3D rendering). Now shifting the eye position trace will create an absolute position in hover tips as well - Added rotation with translation. This allows correction for SMI camera error This mandates a change in File Settings. -Added CenterTraces -Added save perisaccadic traces to clipboard -Added save interocular data to clipboard version 4.01 (July, 2016) - Minor changes in DB viewer GUI, tidy up loading of new files - set default number of missing values to interpolate to 6 samples (see InterpMissingEdit) used to be 2 - selecting data to reject used to delete prior point for velocity calc, but now only rejects only selected - fixed bug that crashed reading vergence file types - allow removing OtoAcess and SMI database buttons so the program can have public distribution version 4.1 (December, 2016) - Major change to how foveations in gaze holding are calculated. - Added code to calculate the Nystagmus Optimal Fixation Function (NOFF) adapted from code by Matt J Dunn and Joost Felius 2013 - start of calcGazeHolding index >= 1, end is <= VOG_Length -1 - new metrics for standard foveation criteria, better enhancements - added foveation criteria to consider eye vector velocity as well (horizontal and vertical eye movement) - updated gaze holding /spontaneous nystamgus user interface to allow for new enhancements - modified Export Data so this program can read its own exports! - max of plot is now VOG_Length -1 (was VOG_Length -3) - y axis on Eye position trace is now properly placed with respect to 0.0 deg, now uses single digit precision - fixed slight errors in time axis on position and velocity plots - fixed drag and drop bug (type error in DragQueryFile API calling convention) - tested on WINE under Mac OSX, minor errors but rejects ALL within drag-select, no right-mouse click menu, No MS database functions for SMI version 4.2 (May, 2017) - fixed bug that doesn't reset position offset on loading new files - fixed conversion of 32-bit float to ascii STRF / STRF2 with constant float precision, prior code was slow and had memory leak - simplified Save Screen - Added Vergence VOG_Type - fixed 'Kill Zero' algorithm, did not fully extend to max interpolate range - now only shows accepted Horiz & Vert traces when plotting TheOtherEye - added GazeStart form for quick veiwing alignment - now handles command line options for file name or drag & drop - For reading of OTOAcess export files, large interocular differences in sampling time (sometime >0.100 seconds) are corrected by re-aligning the right eye to the left eye time stamp. The time criteria is defined by dtErr. Note, reading of OTOAccess OKN data (OTOA_OKN) does not fix interocular differences in sampling time due to complexities of the export file format - Fixed bug that made mouse-drag user position offsets too crude - Corrected error in help for hot-keys - added 'D' hotkey to plot raw data of active channel, ctrl-up or ctrl-down arrow moves position offset by 0.2 degrees - Corrected 3D renderer error that inverted vertical eye position! - Improved criteria for Kill Zero calculation - Fixed bug that prevented calculation of tracking gain for smooth pursuit, improved brut-force search method if initial iteration was poor - improved estimation of horizontal smooth pursuit velocity from OtoAcess Export - Added 'show histograms' to right mouse button menu. Shows histograms of 1) position and 2) velocity; when CTRL-c is pressed when this form has focus, the velocity histogram plot is copied to the clipboard - Added 'Kill dust particles' to right mouse button menu. This removes isolated data points that can't be used to calculate velocity. - Fixed bug in which correlation coefficient for smooth pursuit did not take rejection into account - Added separate calculations for average velocity and absolute value of velocity. - Added calculation of Bivariate Contour Ellipse Area (BCEA) in degrees^2. Available in the 2D plot for currently selected eye or for gaze-holding files via Calc! button. For a description of BCEA, see Steinman, 1965; or the excellent review by Crossland et al., Vision Res, 2004 version 4.3 (January, 2018) - Saving to the Clipboard now adds in manual user offsets - User can rescale the pupil recording (pupil data is assumed to be in arbitrary units) via the parameters form. - Modified ellipse drawing for BCEA. SVD is used for ellipse fitting, if SVD breaks, then Correlation and s.d. of Horiz & Vert. are used instead. - BCEA calculations include mean & s.d. of horizontal and vertical, angle of major/minor axes, slope, intercept, horizontal to vertical ratio. - Plot in 2D view is now mirror imaged from prior versions to be compatible with Orbit version 1.8 (http://www.eidactics.com/projects/ooi) - Plot in 2D view has many enhancements such as click and drag to accept only / reject region of interest, improved plotting. By holding down the shift key, a click and drag will reject selection, holding down Ctrl (or alt) key will only accept recording in the selection. - Added 'Remove Outliers' button to the 2D view form, which rejects data points outside 1.96 s.d. from the mean for the active eye. - Fixed bugs with artifact rejection when linking both eyes, now the exact rejection from the active eye is copied to the other eye. - The TXT import button now allows to load a saved configuration file. Note configuration files should not be mixed between recordings due to different sample sizes, which in turn will lead to altered artifact rejection. - Free format text imported allows multiple comment lines (preceded by semicolon). If used, the last comment line sets the recording type. - If both eyes are plotted, then storing data using the vertical cursors will also save the average interocular position between eyes (Right eye position - Left eye position) for both horizontal and vertical directions. - Improved the user interface for the 3D screen capture to AVI. The AVI file is now limited to a maximum of 900 frames (approximately 800 MB file).