Sr Software Engineer Resume
5.00/5 (Submit Your Rating)
OBJECTIVE:
Engineer/developer in GPU image processing
SUMMARY:
- Over 20 years medical image reconstruction/processing experience as visiting scientist in a German research center, as a research associate in a top Confidential and as a Image Scientist/Engineer in USA companies
- Over 20 years C++ /CUDA/C# /java /J2EE/Tcl/Perl/Ruby so ftware development experience in 4 German , Canadian and USA companies
- Strong background in electromagnetic fields, microwave technology and medical image system
TECHNICAL SKILLS:
- X - ray CT(Computer Tomography), MEG(Magneto-encephalography), US(Ultrasound) medical image systems, PET image, MRI Electromagnetic fields, microwave technology and RF wireless system GPS/GSM wireless
- Convex optimization, General inverse of the matrix
- Singular value decomposition(SVD) methods linear programming
- Projector and back-projector camera matrix and coordinates systems
- Minimization with multiple-goal functions
- 3D Surface grid generation with the Spline functions
- Finite and boundary element method s for electromagnetic fields
- Image reconstruction and processing
- Maximum likelihood estimation method
- Monte Carlo simulation method
- Best route searching
- Lithography simulation for the computer chips
- 3D graphics, OpengGL, shading, texture, rendering image registration and segmentation
- FORTRAN (5 yr) Pascal (4 yr) C/C++C#(10 yr) with Nag-lib and Qt-lib, Java (7 yr), J2EE (2 yr), Tcl/tk (2 yr), openGL(3 yr), GPU Cuda OpenCL (5yr), OpenCV(3yr)Unix: Solaris (5 yr), Linux (8 yr), Aix (3 yr), Ultrix (3 yr), and OSF/1(2 yr), Windows (15 yr) IDL (3 yr), Matlab (10 yr), Maple (3 yr).
PROFESSIONAL EXPERIENCES:
Confidential
Sr Software Engineer
Responsibilities:
- X-ray image processing GPU CUD algorithm development. I have introduced the image edge enhancement algorithm which can combine image filtering, edge encasement, and bed pixel correction together.
- The algorithm has been implemented as GPU CUDA C++ program.
- 8bit,10bit, 12bit and 16bit histogram GPU CUDA C++ program is written which is applied to image histogram equalization.
- ITK image registration with CUD GPU implementation is applied to increase the x-ray dose level for the moving frames of video image.
- Worked at fast Confidential convolution filtering for the image with CUDA/C++.
Confidential
Software Contractor
Responsibilities:
- WPF C# PostgreSQL database software development for radar remote control system.
- The speed of car and animal is measured by the radar, the software display the data with Map information.
- One of important contribution of me is speed up the database data recover speed is increase at lease 3 time.
Confidential, Boston, MA
Software Engineer
Responsibilities:
- Color calibration for microscopy imaging system. Introduce a method which is possible to produce same image for two different microscopy camera.
- A new color format transform is introduced.
- Image registration technology is applied. Particle swarm optimization is applied. QT C++, CUDA is applied.
- Written cmake build for original C++/MFC/CUDA windows software to replace original visual studio native build.
- Wrote cmake build for QT C++/CUDA software to replace original Qmake build.
- Microscopy camera software development on CUDA/QT/GPU/C++/Linuxl/Nvida TX1 embedded device.
Confidential
Design Software Developer
Responsibilities:
- Developed the C++/Linux/GPU CUDA/OpenCL video software.
- A component of the software has been rewritten which cached part of video file to the memory before it can be read. Since there are many different type s of video file, this component had to fit to all different type files.
- This component was very critical to the video software. The original component worked for most types of video file, but crashed for a few types of video file.
- After my rewriting, it worked for all types of video.
- Researched on video encoding/decoding and image signal processing. We known that JPEG image has built by many small images, along the boundary of small image there is discontinuous artifacts, my job was to reduce this kind artifact for video images.
Sr GPU Software Developer
Confidential
Responsibilities:
- Developed GPU CUDA C++, ITK, OpenCV OpenCL, for 3D to 2D image registration software for CT/MRI/ultrasound image, especially for prostate.
- Prostate imaging is different from liver imaging because the initial registration condition is changed and it is more difficult than liver imaging.
- The problems for prostate image registration was successfully solved.
- Developed GPU Cuda for image segmentation using maxflow, distant map, KDE algorithms and convex optimization technology. For KDE 300, milliseconds was reduced to 0.3 millisecond. For distance map, 200 milliseconds was reduced to 3 milliseconds. For maxflow, 50 milliseconds was reduced to 6 milliseconds.
- Developed Image (CT, MRI and ultrasound images) registration, 3D image register to 2D video frame image. C++ GPU CUDA software. Image registration time was reduced to 30 milliseconds from a few seconds. Patent was applied for image motion compensation.
- Applied GPU CUDA C++, ITK, VTK, QT, Dicom standard in medical imaging and the surgeon image guidance system, 2D/3D object tracking.
- Ray-tracing, OpenGL, graphics/rendering display the 3D ultrasound image.
Image Engineer(Team lead)
Confidential, Boston, MA
Responsibilities:
- PET/CT image reconstruction algorithm development and CUDA/OpenCL C++ implementation.
- Sparse Matrix algorithm (for example Matrix-Matrix multiplication) development.
- C++ Development. Introduced Cmake to company's software.
- Improved the build system by adding head file dependency to Makefile in Linux.
- Moved all C++ template classes from head file to C++ file to avoid multiple implementation of the C++ class.
- Found the problem of object which was shared by different projects and added build directory to system to solve the problem.
- Found/solved the memory leak problem in the Matlab Matrix lib.
- C++ Software was tested against Valgrind tool.
Cuda Developer
Confidential, New York Life
Responsibilities:
- Installed and started the C#/C++/GPU/CUDA/OpenCL Program with Visual studio 9 for life insurance actuarial calculation.
- Initialized the GPU CUDA project for life insurance actuarial calculation. Finish the matrix multiplication, addition, subtraction, division, sorting CUDA/C++/C# implementation.
- Built the working environment for CUDA/C++/C# with Visual Studio 9 and 64 bit Windows 7 computer.