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, Germany
KEYWORDS: 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, Germany
KEYWORDS: 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, Germany
KEYWORDS: 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, Germany
KEYWORDS: 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, Germany
KEYWORDS: 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, Germany
KEYWORDS: 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, Germany
KEYWORDS: 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, Australia
KEYWORDS: 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, Australia
KEYWORDS: 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, Australia
KEYWORDS: 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, Australia
KEYWORDS: 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, Australia
KEYWORDS: 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, Australia
KEYWORDS: 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 project
KEYWORDS: 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 project
KEYWORDS: 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, Australia
KEYWORDS: 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, Australia
KEYWORDS: 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.