Software Development and Other Projects

One of the most recent and exciting projects completed was creating an online discussion board available for the VSRC members to quickly and easily share information. The discussion board can be accessed at the link by all authorized users. The system was developed in collaboration with the Information Management and Communications department using MS SharePoint. The site requires users to log in using blazerID.

One of the actively supported and frequently updated projects is ZStim - the fully-integrated software system that was developed for whole-cell patch-clamp recording experiments performed on rabbit and other mammals retina in vitro

Programming Languages and Programming Environments used and available

System Design Platform LabVIEW   Labview-logo
Numerical Computing Matlab  Matlab_Logo  and Phychtoolbox
Scripting Languages and Web PHP  php-logo , JavaScript  JavaScriptLogo2
Lower Level Languages C/C++, OpenCL opencl logo, Java  Java_Logo
API Development Java 3D, Adobe Flash  adobe-flash
Other Joomla!  Joomla_logo , SQL   


LabVIEW (Laboratory Visual Instrumentation Engineering Workbench) - platform and programming environment developed at National Instruments. LabVIEW was used by the Research Programming and Computational Analysis Core to develop several fully-integrated software systems for whole-cell patch-clamp recording and other experiments on retinal or neural cells in vitro. Few developed systems (ZStim is one of them) are used in Vision Science laboratories for recording from single retinal cells and groups of cells in vitro.
Figure. Top portion of the figure displays user interface of one of the instrument control systems developed at the core. The system controls and interacts with light sources, shutters, aperture and wavelength filters, amplifier, thermometer and other electronic and mechanical instruments used to conduct electrophysiological recordings during experiments on mammal retina in vitro. 
Bottom portion of the figure displays dataflow diagram of the program

LabView Keyser

Matlab is a computing environment developed at MathWorks. Psychtoolbox is a set of Matlab functions developed for creating and displaying images and animations on computer monitor as visual stimuli. Few software systems created by the Research Programming and Computational Analysis Core were developed using LabVIEW and Matlab and used to generate and display visual stimuli to animals of life eye tissue in vitro. Other systems developed in Matlab display visual stimuli and controls eye tracker during psychophysical experiments on human subjects.

SAG calc
Figure. The figure above is a screen shot or a sagittal depth calculator developed at the core for the UAB School of Optometry faculty members to use at research and clinical practice. The calculator reads entered by user optical radii and widths of segments of 2 lenses and calculates and compares sagittal depths of the lenses and displays profile of the lenses for visual comparison


OpenCL is a programming language used for development of most often computational software that runs on heterogeneous systems including GPU's (graphical programming units). The Research Programming and Computational Analysis Core develops image and matrix processing code that can be easily run on multiple GPU processing units in parallel taking advantage of GPU multicore structure what sometimes can increase computation performance and thus decrease computation time by factor of 100 depending on algorithm complexity, computation to memory access ratio, CPU and GPU's installed.

  flops convolution hl
  Figure shows computing performance comparison of an identical algorithm of image convolution implemented and ran on a single core of CPU (top) and and on a GPU that has 2048 cores (bottom). The near 1000 fold computational performance increase achieved after the memory management on GPU has been optimized.

PHP is a server side scripting language for web development. The latest web program developed in PHP was the Advanced Search for Publications that can be found at The system allows search for publications of multiple authors in collaboration with UAB for selected period of time.

The instrumentation schedulers that were configured and are supported by the Computer Module and used by Flow Cytometry Core Facility and VSRC Ocular Phenotyping and Molecular Analysis Module are open source PHP programs that are although rarely, have to be modified to fit the needs of users.

Java3D and Adobe Flash. The only web API developed using Java3D and Flash is the demonstration of rotating cubes for Dr. A. Dobbins and can be viewed at (Adobe Flash Player has to be installed for the web browser). I must say that it was one my favorite projects. The display is fully interactive, and following instructions written under the animation screen, user can change number of cubes, speed of rotation, tilt and rotation axis. You may have to click on the display before using the controls.

Joomla! is a content management framework for WWW and was used to develop the VSRC web site and the very page you are viewing right now.

SQL is used in all PHP programs the Computer Module developed and/or supports