Projects
A bit more details about some of the projects I worked on.
Automatization
Classification of TDR-signals
POSITION: IT student, University of Applied Science in Wuerzburg, GermanyKEYWORDS: C, Ethernet, Time Domain Reflectrometry, Neural Networks
Design and implementation of a software system to detect and localize taps, bridges, short-cuts and breaks in Ethernet network cables utilizing Time Domain Reflectrometry (TDR). TDR measures impedance discontinuities in electrical and optical transmission media by observing the reflected waveforms of test impulses. Artificial neural networks were applied to recognize the typical signal signatures of the aforementioned cable conditions within the reflected wave.
Robot simulation
POSITION: Software developer, Research & Development, Siemens AG, Erlangen, GermanyKEYWORDS: C, Robot, Simulation, Modeling, Windows
Mathematical modeling of the kinematics and dynamics of multi-axle robots. Design and implementation of a robot simulator and an interpreter for a robot control language. Integration of an adaptive torque controller model based on a neural network within the simulation of a Manutec robot to improve trajectorial accuracy at high velocities. Within this framework also a small C-library for numerical linear algebra was implemented.
Evaluation of training algorithms for neural networks
POSITION: Software developer, Research & Development, Siemens AG, Erlangen, GermanyKEYWORDS: C, Nonlinear Optimization, Neural Networks, Windows
Implementation and evaluation of numerous nonlinear optimization algorithms as training algorithms for artificial neural networks with the purpose to model and improve the dynamic behavior of tooling machines. This work included the development of a novel training algorithm that combines the advantages of Hooke-Jeeves and RPROP.
Friction compensation
POSITION: Software developer, Research & Development, Siemens AG, Erlangen, GermanyKEYWORDS: C, Simulation, Optimization, CMAC, Tooling Machines
Development and implementation of a simulator for a tooling machine with an adaptive controller (CMAC) to compensate for path inaccuracies occurring at axes reversal. Varying friction conditions, as well as slackness and torsional effects are compensated using a pre-control approach.
Welding spot diagnosis
POSITION: Software developer, Research & Development, Siemens AG, Nuermberg, GermanyKEYWORDS: C++, Image Processing, Signal Processing, Machine Learning, Windows
Design and implementation of a quality control system for welding spot diagnosis in car manufacturing lines. Application of machine learning algorithms and evaluation of gray-scale images and welding parameters such as current and pressure to detected faulty welding spots.
Diagnosis of tiles and motors
POSITION: Software developer, Research & Development, Siemens AG, Erlangen, GermanyKEYWORDS: C++, MFC, Image Processing, Signal Processing, Machine Learning, Windows
Development of the software for an adaptive, general purpose diagnosis system applied to the quality control of tiles and motors based on sound, vibration and surface images. This included the design of a hardware device to measure sound and vibration of tiles within a sound chamber utilizing directional microphones and laser interferometers.
Speaker, language and topic identification
POSITION: Software developer, MEDAV, Uttenreuth, GermanyKEYWORDS: C, Java, HMMs, Windows/Unix
Implementation of a software system for speaker, language and topic identification on audio signals utilizing Hidden Markov models.
Bioinformatics
Promoter site recognition
POSITION: Research assistant, Queensland University of Technology, Brisbane, AustraliaKEYWORDS: Java, Fortran, XML, Windows/Unix
Development of a phylogenetic footprinting software for promoter site recognition in bacteria. This included the implementation of a library for the analysis of nucleotide and peptide sequences.
Genome browser and pattern description language
POSITION: Research assistant, Queensland University of Technology, Brisbane, AustraliaKEYWORDS: Java, Swing, XML, Windows
Design and implementation of a fast browser for genomic sequences (Diana-B). Evaluation of various description languages for biological patterns and development of a novel, XML-based description language (BioPatML). Implementation of a parser for BioPatML and integration into the genome browser to localize occurrences of interesting biological patterns.
Topology and localization prediction
POSITION: PhD Student Computer Science, University of Queensland, Brisbane, AustraliaKEYWORDS: Java, JSP, HMMs, SVMs, CRFs, Windows
Study of different approaches to model the topology of transmembrane proteins using Hidden Markov Models, Conditional Random Fields and Support Vector Machines. Implementation and evaluation of a predictor for the sub-cellular localization of transmembrane proteins, utilizing the aforementioned models. This work also included a predictor for cleavage site prediction in signal peptides. A web interface to the predictor, using Java Server Pages (JSP), was implemented.
Binding site and protein function prediction
POSITION: Research Officer, Institute for Molecular Bioscience, Brisbane, AustraliaKEYWORDS: Python, Java, iGraph, PyGraph, Windows
Study and evaluation of graph-theoretical centrality measures as predictive indicators for functional sites in protein-RNA interfaces and their correlation with protein function. Graphs were derived from the contacts of amino acids within the tertiary protein structure. Implementation of a web application to predict binding residues in protein-RNA complexes.
Visual framework for sequence analysis
POSITION: Research Officer, Institute for Molecular Bioscience, Brisbane, AustraliaKEYWORDS: Python, Matplotlib, NumPy, Windows
Development of an alignment-free and visual approach to analyze sequence relationships utilizing n-grams to measure sequence similarity and spectral rearrangement to detect clusters of related sequences. Implementation of a software to visualize similarities of sequence data via affinity matrices and dot plots.
Inference of protein-protein interaction networks
POSITION: Research Officer, Institute for Molecular Bioscience, Brisbane, AustraliaKEYWORDS: Scala, Windows
Prediction of interactions between proteins based on their Gene Ontology annotation using machine learning methods (Random Forests, Support Vector Machines).
Others
Zoomable presentation software
POSITION: spare time projectKEYWORDS: Scala, Piccolo2D, Windows
A zoomable presentation software (similar to Powerpoint) that allows to evaluate code examples in varius languages during the presentation. It also supports formulas in Latex, vector and bitmap graphics, hyperlinks and live-files. A novel type of user interface was implemented. I use this software to teach Python and Scala.
Calendar application for Google Android
POSITION: spare time projectKEYWORDS: Java, Google Android
Design and implementation of a calendar and organizer software for the Google Android mobile phone platform. A novel concept of calendar navigation and representation was realized.
Web application for online assessment of medical students
POSITION: Research Officer, Faculty of Health Science, Medical School, Herston, AustraliaKEYWORDS: Python, Django, MySQL, Windows
Implementation of an online assessment tool for medical students utilizing the Django framework. Students are presented descriptions of clinical cases, select relevant clinical features and provide a diagnosis. The system performs a fuzzy matching of the given, free-text diagnoses to terms stored in the database and automatically assesses the student input.
Statistical analysis of stroke data
POSITION: Research Officer, School for Engineering and Information Technology, Brisbane, AustraliaKEYWORDS: Python, Matplotlib, NumPy, MySQL, Windows
Implementation of a framework in Python to perform numerous statistical analyses of a large stroke data set, maintained within an SQL database. The system utilizes Matplotlib to create various graphs and furthermore outputs tables in LaTeX format.