Software for Visual Science
There is a certain particularity of software for scientific projects. Unlike the business applications, it is more Math intensive and usually not so huge. That software may be and should be designed following certain academic rather than empirical methodology and style.
Also, typical enough for scientific environment are small problems and projects appearing now and then, for which no formal specifications were thoroughly written in advance. The implementation should be designed on flight, but it must be very robust and functional, allowing further development and changes as necessary. Also, in the modern graphical and multitasking operating environment, the Graphical User Interface (GUI), event-driven logic and sophisticated display of scientific data should meet high standards established in this field. Programming and debugging in such complex environment normally is much more challenging in comparison with the very simplistic sequence driven user interface and display in the "good old days". It would drain a lot of efforts away from programming the essentials of the scientific problems, unless the concept and metaphor of the Rapid Application Development (RAD) was introduced and implemented in a new line of Borland's products, which revolutionized the process of software development.
Continuing its much earlier developed concept, Borland created a powerful uniform integrated environment for the major programming languages Pascal, C++ and Java, which comfortably allowed developers to edit source code, to run and debug it all together. In addition, the most complex, annoying and unforgiving part of designing process – event driven structure of the code and GUI, was completely automated via the library of the high level meaningful Visual Components (VCL), covering entire Windows Application Interface (API). The components of the VCL are integrated into the developer environment so that they allow the so called two-way design: either visually by dragging and dropping the components from the palette (while the system adds the supporting code automatically), or by adding the code manually.
first in the line of such products was Delphi-1 – a modified Pascal
appearing in 1995 and now evolving into Delphi-6-8. Soon after
My work in the Smith-Kettlewell Eye Research Institute began in June 1995, I have developed a large variety of projects in
recent one (since 2005 and still in progress) conducted under
supervision of Dr. M. MacKeben, is
development of sophisticated software for experiments and tests
a Scanning Laser Ophthalmoscope (SLO) built
by Rodenstock (
The goal of the first stage of the project was to record the movies of eye movements, to perform their Off-Line frame tracking using the advance Matrox Image Processing Library (MIL-7), and with the obtained offsets for each frame to develop advanced graphical analysis of the eye movement. This graphical analysis includes procedures and graphs such as saccades analysis, x(t), y(t) curves, real time trajectory animation, and the dwelling time histograms (exportable in MS Excel for isometric 3D graphing).
The challenge of the second stage was to develop an advanced version of the micro-perimetry test with the goal of achieving a gaze-contingent delivery of the stimuli based on real time frame tracking of the eye movements. This goal was reached due to enhancements of the MIL's Pattern Matching routine, and optimizing the data processing at all steps. Having the gaze-contingency achieved, we developed several other tests such as real time measurement of accuracy of fixation, or accuracy of pursuit of a target moving along given trajectories.
The current stage of this project is published in a special issue of JOSA, May 2007.
Other projects developed under supervision of Dr. M. MacKeben were:
Under supervision of Dr. C. Tyler was developed
Some auxiliary projects performed on my own were: