Software and Hardware Research and Development
Michael P. Zeleznik, Ph.D.
I have successfully designed and developed custom software, hardware, and
systems for over 30 years, in a wide range of environments and technologies.
Since 1996, nearly all has been done remotely from my home office.
Following are some examples (reverse chronological) indicating the Client
(or employer), Where the work was done, Level of development, Tools used, and target
Goals. My vita provides a more
comprehensive view of my background, skills, and accomplishments.
Low level image processing research and development:
Content analysis, understanding, segmentation:
Please see research disclosure (nondisclosure agreement (NDA) prohibits more detail)
[Client Info]
| Client | : | HP Labs, Palo Alto, Technology Initiatives 2007-2010 |
| Where | : | Remotely from home office |
| Level | : | Low level (NDA) |
| Tools | : | (NDA) |
| Goals | : | Research and commercial product development |
Earthquake Early Warning Testing Center : Automated, high-reliability
software suite for import of XML reports from various remote research locations into a
MySQL database, evaluation and analysis of predictions against actual seismic data,
presentation of multivariate results via strategically designed tables and color
maps, and a web site for access to this information, as
discussed in publications
AGU 2008 and
AGU 2007.
[Client Info]
| Client | : | Southern California Earthquake Center (SCEC), University of Southern California, and California
Integrated Seismic Network (CISN) 2007-current |
| Where | : | Remotely from home office |
| Level | : | Low level code to high level web development tools |
| Tools | : | XML, MySQL, PHP, Perl, Joomla, csh, sh |
| Goals | : | Research and product development |
Automated 2D/3D earthquake visualizations : of earthquake
ground motion (see example movies of a California event
(1.0 MByte) and Chile event (4.5 MByte)). Raw signal
data is filtered, sampled, normalized for instrument sensitivity, analyzed to
remove extreme data, mapped to various colormaps and glyphs, with various
display map projections.
[More Info] [Client Info]
| Client | : | Incorporated Research Institutions for Seismology (IRIS), University of
Washington 2007-2008 |
| Where | : | Remotely from home office |
| Level | : | Low level code to higher level seismic tools |
| Tools | : | OpenDX, C, Perl, various seismic tools |
| Goals | : | Research and product development |
High availability server: designed specifically for small
businesses with limited (to no) system support staff, based on a novel "reduced
complexity" architecutre with "manual failover".
[More Info]
| Client | : | RAHD Oncology Products and Saya Systems Inc. 2002-2006 |
| Where | : | Remotely from home office |
| Level | : | Unix/Linux system level
| | Tools | : | Perl, C, csh, sh
| | Goals | : | Research and commercial product development
|
Web site design and development : static and dynamic (database
driven), built both (1) from scratch using various technologies including Perl
CGI, PHP, HTML, XML, CSS, Javascript, MySQL, ASP, Access, and Flash, and (2)
using development platforms such as Dreamweaver, FrontPage, and Joomla.
[More Info]
| Client | : | Various, see [More Info] 2003-current |
| Where | : | Remotely from home office |
| Level | : | Low (HTML, Javascript, cgi...) to high (Joomla, Dreamweaver...) |
| Tools | : | HTML, XML, CSS, Javascript, Perl, PHP, MySQL, ASP, Flash, Dreamweaver, FrontPage, Joomla |
| Goals | : | Commercial products and services |
Image processing / photography for web and print : using
extensive features of Photoshop and other tools for enhancement, extraction,
compositing, gamma correction and color conversion (e.g., sRGB for CRT to CMYK
for 4 color print), etc., coupled with a solid background in optics and
photography.
[More Info]
| Client | : | Various, see [More Info] 2003-current |
| Where | : | Remotely from home office |
| Level | : | High (Photoshop, ImageMagick...) |
| Tools | : | Photoshop, ICC libraries, ImageMagick, digital cameras, scanners |
| Goals | : | Commercial products and services |
Project management system : for geographically distributed,
multi-platform software development environment meeting FDA 820.30 requirements,
integrating a new web-based tool with a version control system and raw file
system, providing high level to low level views of each project's status.
[More Info]
| Client | : | RAHD Oncology Products 2000-2006 |
| Where | : | Remotely from home office |
| Level | : | Low (cvs, csh...) to high (UML use cases) |
| Tools | : | CVS, csh, sh, OnProject, web-based project management tools |
| Goals | : | Commercial product development |
FDA 820.30 Design Control Procedure : integrated with
geographically distributed software development environment, as a cyclic state
machine, with a custom developed database driven web interface and
cycle/revision control via CVS.
[More Info]
| Client | : | RAHD Oncology Products 2000-2006 |
| Where | : | Remotely from home office |
| Level | : | Low (CVS, csh...) to high (FDA documents) |
| Tools | : | CVS, csh, sh, numerous FDA documents |
| Goals | : | Commercial product development |
Seamless integration of multi-vendor, multi-platform products:
to leverage product strengths, augmenting the power of one product with the
services of the other(s).
| Client | : | RAHD Oncology Products 2002-2005 |
| Where | : | Remotely from home office |
| Level | : | Low to medium, network datacom, databases, filesystem |
| Tools | : | Unix tools, C, csh, sh, Perl, FTP, X |
| Goals | : | Commercial product development |
Software runtime environment tools : to validate runtime
environment (e.g., processes, memory, disk space) before launching new programs,
and inform user of problems, successfully stopping common user problems from
compounding.
[More Info]
| Client | : | RAHD Oncology Products 2003-2006 |
| Where | : | Remotely from home office |
| Level | : | Processes, filesystem, databases |
| Tools | : | Unix tools, Perl, csh, sh, awk, sed |
| Goals | : | Commercial product development |
Software multi-level installation and update tools : to
provide a managed, safe environment for any computer to simultaneously run
multiple product versions with multiple patient databases (e.g., clinical
releases, beta test, alpha test, raw development), while simplifying product
support and update operations.
[More Info]
| Client | : | RAHD Oncology Products 1999-2006 |
| Where | : | Remotely from home office |
| Level | : | File system, executables, libraries, databases |
| Tools | : | Unix Make, Perl, csh, sh, awk, sed |
| Goals | : | Commercial product development |
Radiation treatment planning 3D beam design tool : Provides
interactive 3D beam design, both manually and automatically fitting to tumor,
with interactive review of structures, treatment beams, CTs, and digital
radiographs, and real-time update/modification of 3D objects simultaneously in
multiple windows.
[More Info]
| Client | : | RAHD Oncology Products 1996-2006 |
| Where | : | Remotely from Salt Lake City + remote colleague in St. George, UT |
| Level | : | Pixels, voxels, polylines, DX modules, C |
| Tools | : | IBM DX C library, C |
| Goals | : | Research and commercial product development |
Radiation treatment planning 3D dose review : Allows 3D
visualization of plans in powerful ways, creating 3D structures from CT
contours, 3D beams from beam parameters and blocks/MLCs, interactive review of
structures, treatment beams, dose, dose mappings, CTs, and dose volume
histograms.
[More Info]
| Client | : | RAHD Oncology Products 1995-2006 |
| Where | : | 50% remotely from home office, 50% on site |
| Level | : | Pixels, voxels, polylines, DX modules, C |
| Tools | : | IBM DX data flow networks, C |
| Goals | : | Research and commercial product development |
Volume data fusion : A semi-automatic tool to spatially align
two 3D data sets by transforming one coordinate space into the other, providing
transforms with variable degrees of freedom, from rigid body to affine to
deformable warp. Codeveloped with New York University Medical Center.
[More Info]
| Client | : | New York Universitiy Medical Center, Karolinska (Stockholm, Sweden),
RAHD Oncology Products 1999-current |
| Where | : | Remotely from home office + remote colleages in New York, Sweden |
| Level | : | Pixels, voxels, polylines, DX modules, C |
| Tools | : | IBM DX C library, C |
| Goals | : | Research and commercial product development |
Volume data segmentation tool : Semi-automatic generation of
2D contours (that define structures) on CTs. The user first defines the 3D
structure via 3D isosurfaces in the CT volume data and/or interactively editing
that 3D surface. When done, the software then maps this surface back onto the
original CT planes, creating 2D contours on those CTs.
| Client | : | RAHD Oncology Products 1998-2000 |
| Where | : | Remotely from home office |
| Level | : | DX modules, polylines |
| Tools | : | IBM DX data flow networks, C |
| Goals | : | Research and product development |
Extensive visualization software : written with IBM Data
Explorer (DX) data-flow networks, scripts, and custom C modules, having become a
key IBM beta site and working closely with developers at IBM T.J. Watson Labs.
[More Info]
| Client | : | New York University Medical Center, RAHD Oncology Products 1995-2000 |
| Where | : | Remotely from home office + colleagues at IBM Watson Labs |
| Level | : | pixels, voxels, DX modules |
| Tools | : | IBM DX data flow nets and C library functions, C |
| Goals | : | Research and commercial product development |
Custom medical data interfaces : to read images and patient data in
various proprietary vendor formats (e.g., GE, Varian, Picker) from various media
(e.g., 8mm/4mm tapes, MODs); also wrote functions to emulate disk interface for
tapes.
| Client | : | RAHD Oncology Products 1993-1995 |
| Where | : | Remotely from home office |
| Level | : | low level bits, bytes, records, sectors, formats |
| Tools | : | C, Fortran |
| Goals | : | Commercial product development |
Sun server performance monitoring tools : to enable server
monitoring and tuning, and subsequent tuning.
| Client | : | University of Utah, Computer Center 1992-1994 |
| Where | : | On site |
| Level | : | SunOS and Solaris system tools, shell tools |
| Tools | : | csh, sh, command line interface |
| Goals | : | Production system support |
Network design, implementation, management, and support : for
university-wide and departmental networks, also serving on the Campus Network
Advisory Committee, and eventually as Manager of Networks and Unix Systems.
| Client | : | University of Utah, Campus Networking / Computer Center 1989-1995 |
| Where | : | On site |
| Level | : | LANs to WANs, Ethernet, broadband, FDDI, T1/3, TCP/IP, Appletalk... |
| Tools | : | Electronics tools, spectrum analyzer, oscilloscope, protocol analyzers... |
| Goals | : | Production network development |
Network monitoring and analysis tools: to report on traffic,
errors, congestion, bandwidth, utilization, etc., both university-wide and
departmental.
| Client | : | University of Utah, Campus Networking / Computer Center 1989-1995 |
| Where | : | On site |
| Level | : | SNMP, MIBs, Unix tools (e.g., tcpdump, etherfind, awk) |
| Tools | : | Protocol analyzers, SNMP, csh, sh, C |
| Goals | : | Production network support |
Security Design in Distributed Computing Systems : New methodology
for the design, analysis, and maintenance of security architectures.
[More Info]
| For | : | University of Utah, Computer Science 1987-1993 |
| Where | : | On site |
| Level | : | High-level software architecture to low-level hardware |
| Tools | : | OO modeling, information flow analysis, risk analysis |
| Goals | : | Research for practical application |
Object-based discrete simulations : such as a simple
time-sharing scheduler, CSPs, Ethernet, distributed system (message passing,
delays), etc.
| For | : | University of Utah, Computer Science 1987 |
| Where | : | On site |
| Level | : | C++, tasks |
| Tools | : | C++ (C preprocessor plus multi-task engine) |
| Goals | : | Research and studies |
Network protocol stack for network transparent datacom : for
information retrieval system testbed. State machine design, low level socket
I/O, shared memory with locking, fragmentation and reassembly, name service,
dynamic process relocation.
[More Info]
| Client | : | Central Intelligence Agency (CIA), University
of Utah, Computer Science 1984-1986 |
| Where | : | 50% from home office, 50% on site |
| Level | : | C, Apollo Domain and Unix system calls |
| Tools | : | C, Apollo Domain OS, Unix OS |
| Goals | : | Research and product development |
Software for gamma-correction of color video displays : creating
inverse gamma curves from screen measurements, (via power functions or cubic
splines), generating correction tables, considering quantization effects.
[More Info]
| For | : | University of Utah, Computer Science 1983 |
| Where | : | On site |
| Level | : | low level, CRT screen luminance, pixels |
| Tools | : | C, Fortran, luminance measurement equipment |
| Goals | : | Research and studies |
3D/2D graphics software : for both raster and vector displays,
including scan conversion, Gouraud shading, user-object interation (e.g., room
furniture layout).
| For | : | University of Utah, Computer Science 1981-1983 |
| Where | : | On site |
| Level | : | Vertices, normals, pixels, display lists |
| Tools | : | C |
| Goals | : | Research and studies |
Computer vision software : for piecewise approximation of
curves, converting arbitrary curve into a polyline of reduced-complexity based
on allowable error.
| For | : | University of Utah, Computer Science 1982 |
| Where | : | On site |
| Level | : | Points, vertices |
| Tools | : | C |
| Goals | : | Research and studies |
Image and signal processing software : for convolution, DFT from FFT,
windowing and filtering in Fourier space, etc.
| For | : | University of Utah, Computer Science 1981-1982 |
| Where | : | On site |
| Level | : | Pixels, DFT values |
| Tools | : | C, Fortran |
| Goals | : | Research and studies |
Image digitizer software : for diagnostic X-ray films,
including calibration, data collection and high-level image post processing.
| Client | : | University of Utah Medical Center, Digital Imaging Lab 1982 |
| Where | : | On site |
| Level | : | Device driver design, pixels |
| Tools | : | Fortran, Data General RDOS/AOS assembler |
| Goals | : | Research and studies |
Image digitizer hardware : for diagnostic X-ray films, designed and
constructed from from the ground up.
[More Info]
| Client | : | University of Utah Medical Center, Digital Imaging Lab 1982 |
| Where | : | On site |
| Level | : | Mechanical hardware, optics, electronics |
| Tools | : | Metal shop services, digital imaging device |
| Goals | : | Research and studies |
Digital film writer software : to create film images from
digital data, including double buffered device I/O, gamma correction.
| Client | : | University of Utah Medical Center, Digital Imaging Lab 1981 |
| Where | : | On site |
| Level | : | Device driver design, pixels |
| Tools | : | Fortran, Data General RDOS/AOS assembler |
| Goals | : | Research and studies |
Digital film writer hardware : to create film images from
digital data, constructed from the ground up.
| Client | : | University of Utah Medical Center, Digital Imaging Lab 1981 |
| Where | : | On site |
| Level | : | Mechanical hardware, optics, electronics |
| Tools | : | Optical bench, optics, high resolution monitor, scope |
| Goals | : | Research and studies |
Frame buffer image display tools : to format and display text,
images, color scales, etc. on a high resolution frame buffer.
| Client | : | New York University Medical Center, Radiology 1979-1980 |
| Where | : | On site |
| Level | : | Frame buffer library, pixels |
| Tools | : | Fortran, Basic, Data General RDOS assembler |
| Goals | : | Research and studies |
Digital monitoring system : Hardware designed and constructed
from the ground up with 144 TTL ICs and 10 CMOS ICs, comprising 3 physical
units, including PC board layout and etching, with complete circuit diagrams and
theory of operation.
[More Info]
| Client | : | Indiana University of PA, Psychology 1975-1976 |
| Where | : | On site |
| Level | : | Electronic hardware (TTL/CMOS ICs, relays, PC board wiring...) |
| Tools | : | IC breadboard, electronic test equipment (scope, power supplies...)
| | Goals | : | Product for research use |
|
|