Home
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.
The
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
The
recent one (since 2005 and still in progress) conducted under
supervision of Dr. M. MacKeben, is
development of sophisticated software for experiments and tests
performed with
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: