Worked on developing software, using C/C++, for GE aerospace Full Authority Digital Engine Controller (FADEC) Test system on a X86 environment. One part of the program executes under Windows on a workstation and the other executes on a Vxworks chassis. Both parts of the code are under development. However, most of my work was on developing software on the Vxworks chassis. I developed accelerated function engine software models for the GEA designed and developed Aircraft engines to work within dry/wet test rigs.
Senior Software Engineer
Igolgi Inc
Barrington, Chicago, IL
01.2021 - 10.2021
Worked on High Performance Video Encoding/decoding software development project targeted for 40 channels with 4 Nvidia GPUs, using the latest GPUs. The main functionality of this device is that MPEG2 streams are trans-coded to H.264 or H.265 channels at various sizes and bit rates for transmission. Various algorithms including resizing, and de-interlacing were mapped to the GPU using CUDA in addition to C/C++. Five different user select-able quality of service (QoS) levels were introduced for the output video streams. Python scripts were developed to compute the QoS of round trip compression/decompression video streams using PSNR and SSIM. FFMPEG was used as the baseline implementation.
Senior Software Engineer
General Electric (GE) Healthcare, Imaging X-ray systems
Waukesha, WI
02.2017 - 08.2020
As a senior software engineer at GE, I have worked on developing the entire image processing chain on fixed and mobile x-ray machines from developing algorithms in Matlab, algorithm implementation on CPU using C/C++ and accelerating using Nvidia GPUs. In particular, I led the effort to develop, implement and accelerate the Weighted least squares (WLS 2.0) algorithm, an algorithm that eliminates the halo effect in denoised images.
Some of the functional blocks include, Grid line reduction, multi resolution denoising/smoothing, unsharp masking, air and metal map generation, detail preserving noise reduction (DPNR), anatomy dynamic range detection/mapping and final display.
Worked on fusing camera and depth information of patients to get a better understanding of the patient position, motion, orientation, etc.
Worked on developing unit tests, component tests and sub system tests for a network monitor object.
Worked on developing a Metal Artifacts Reduction (MAR) algorithm using a clipped gradient filter and contrast limited adaptive histogram equalization(CLAHE), image processing X-ray images targeting Tomo, which is a low-cost CT scanner used on Fixed Rad X-ray systems. Functional blocks CLEAR, clipped gradient filter and reconstruction weights were developed in Matlab, mapped to a CPU core using C/C++, and accelerated using CUDA on a Nvidia GPU.
Research Engineer
University of Dayton Research Institute
Dayton, OH
01.2009 - 11.2016
As a research Engineer, I worked at the Air Force Research Labs at Wright Patterson Air Force Base, Dayton, Ohio. Some of the projects that I led are listed below.
Developed algorithms to denoise mid-wave infra-red images, detecting and correction of bad pixels, non-uniformity correction, and Doming correction
Worked on computing the separability metrics for large image training data sets. These metrics were used to determine the performance of various image classification algorithms.
Worked on computing the uncertainty of a computed homograph when multiple homographs are present. Kalman filter predictions based computations were also used for this effort. Realistic Models were developed so that they accurately represent the uncertainty.
Accelerated a reconstructed image quality assessment algorithm Mutual Correlation Coefficient (MCC) targeting a GPU. This achieved a speed up of approximately 10x. Worked on a project to reconstruct citywide 3D models from multiple Electro-Optical images taken from UAVs. This is a part of an effort to develop autonomous navigation algorithms, visual GPS, etc. Some of the work involved developing optical flow, motion estimation, establishing correspondence, projection, Euclidean distance estimation, etc. for the US Air Force Research Labs. Developed the tool sets to preprocess large format Infra-red and Electro-Optical images and compress aboard a UAV using JPEG2000 for the US Air Force Research Labs. The system included FPGA based accelerated compression, transmission to a ground station, storing in a database and a viewer client that decompressed the images. Accelerated bad pixel detection, bad pixel replacement, doming correction, dynamic range correction (mapping) algorithms were also implemented.
Accelerated the image registration algorithms Speeded Up Robust Features (SURF) and Efficient Second-order Minimization (ESM) and a three frame differencing algorithm using CUDA and cuFFT and cuSolver libraries, which are parts of the GATER moving object tracking system using optical flow. GATER is a US Air Force developed tool. Used functions of OpenCV for mos t of the developed features.
Developed accelerated OpenCL models for image Projection using Digital Elevation Maps (DEMs) and Vector Quantization based large Image compression. The OpenCL models were hosted on a GPU, many core and multi core processors.
Developed and mapped a neighborhood based frequency domain super resolution algorithm to a Nvidia GPU to speedup computations. This algorithm was mapped for the US Air Force Research Labs. The algorithm is designed for Electro-Optical, as well as, infra-red and SAR radar images.
Senior Researcher
Sohiotech Inc.
Dayton, OH
09.2006 - 01.2009
Developed algorithms for Image processing applications. The algorithms developed were in the areas of image/video stabilization, object tracking, video compression using wavelet transform, optical flow analysis, multi virtual object analysis, and registration.
Until February 2008, worked at the Wright Patterson Air Force Base in the Human Effectiveness Directorate for General Dynamics Inc. The work mostly involved in developing software for DSP algorithms in the audio frequency range and classification of acoustic signatures of various helicopters.
From May 2008 to February 2009 Served as a Patent Reviewer. Basically, the work involved reviewing patent applications that are submitted to the Patent and Trademark Office.
Senior Networking Researcher
Ohio Supercomputer Center (OSC)
06.2004 - 08.2006
Hands-on Projects at OSC:
Developed a Direct Memory Access (DMA) Engine for the Cray XD1 FPGA Environment
As part of this project, I developed a memory interface that facilitates the transfer of data between the host and the FPGA using DMA and multiplexing I/O transfers with computations. This enabled a higher throughput and I/O bandwidth between the host and the FPGA.
Mapping HPC Algorithms to FPGA based Processor Arrays
As part of this project, we focused on mapping graph theory based algorithms to FPGA. One key algorithm that was targeted was the Floyd-Warshall algorithm to find the All-Pair Shortest paths. Using FPGAs we were able to significantly reduce the resources required to compute the all pair shortest paths for a large weighted graph. This work was published in two highly reputed conferences.
(OSC is a part of Ohio State University, Columbus, Ohio)
Project Manager, Research Scientist
Systran/Systran Federal Corporation
Dayton, Ohio
06.1996 - 05.2004
My responsibilities as project manager included writing proposals and winning SBIR contracts, setting goals for the projects and achieving all objectives within budget and on time, supervising other engineers in my group and satisfying all the targets of the customer. In addition I was responsible for technology transfer, commercialization and interactions with potentials customers/users. Some of the projects and my responsibilities are listed below.
Principal Investigator, DARPA SBIR Phase I & II, Voice Communication System
In this effort we developed a phrase based speech recognition engine using Hidden Markov Models (HMM) and Artificial Neural Networks (ANN). These engines were trained using speech signals from subjects and tested against random speech.
Senior Engineer, US Air Force SBIR Phase I, Wavelet Compression for Improved Synthetic Aperture Radar (SAR) Image Quality
Senior Engineer, US Air Force SBIR Phase II, Virtual Objects Based Compression
Instructor, Department of Computer Science & Engineering
Wright State University
Dayton, OH
09.1994 - 06.1996
Lectured courses in Computer science, Digital Networks and Microprocessor Systems.
Graduate Research Assistant and Graduate Teaching Assistant
Wright State University
Dayton, OH
09.1989 - 09.1994
Research Engineer
National Engineering Research and Development Ctr.
Colombo, Sri Lanka
12.1982 - 08.1987
Education
PhD - Computer Science and Engineering
Wright State University
Dayton, OH
08.1997
MSCE - undefined
Wright State University
Dayton, OH
08.1989
B.Sc. (Eng.) - Electronics and Telecommunication
University of Moratuwa
Moratuwa, Sri Lanka
03.1983
Skills
Programming languages: C/C, Matlab, Python
OSes: Ubuntu Linux, Windows 9/10/11, Vxworks 5 and 7 based real-time OS, QnX like embedded Linux
Data Science: Tensorflow, Keras, Scipy/Numpy, Scikit-learn, OpenCV, OpenCL
Development Tools: git, CMake, make, XEmacs, vim, Nsight Compute, Docker CI/CD, SLAM in matlab, Triton compiler