Profile

Harald Reingruber

Harald Reingruber

Visual Computing Expert and Software Crafter (Unity3D/C#/C++/JavaScript)

Name:Harald Reingruber
Date of birth:May 29, 1985
Address:Scharnstein, Upper Austria, Austria
Email:harald.reingruber@gmail.com

Areas of Expertise

Professional:
  • Augmented reality
  • Real-time Graphics
  • Information visualization
  • Volume rendering
  • Image processing, medical image processing
University:
  • Computer vision
  • Pattern recognition and machine learning
  • Object/feature detection and tracking

What I like

  • Simple but clever solutions to complicated or complex problems
  • Profiling performance and memory consumption
  • Continuous improvement
  • Clean, readable code
  • The boy scout rule
  • Working as a team
  • Hands-on attitude
  • Fixing root causes instead of symptoms

Professional Experience

09.2016 - 10.2019

three10, Vienna

Software Engineer, Unity3D/C#/C++/TypeScript/JavaScript

The three10 software allows delivering presentations including 2D and 3D media content synchronized across multiple devices. For example, a mobile device can be used for remote-controlling the presentation while a high-end graphics device is visualizing the presentation on a high-resolution video wall.

As one of two principal engineers in a team of 6 developers, I am the main responsible engineer for the secure communication and file transfer between the Unity 3D application and the on-premise backend server. The architecture of the TypeScript/React/Node.js backend software is also one of my responsibilities.

 

Most notable achievements:

  • Implemented a JavaScript library for streaming server-side Unity 3D graphics in real-time from a cloud server to an HTML5 browser using a low-latency video codec.
  • Implemented HTML5 Server-Sent-Events for pushing data updates from the backend server to the Unity 3D client software (C# client implementation, as well as Node.js server implementation).
  • Implemented a Docker deployment pipeline for our on-premise backend software, in order to minimize the impact of running the software on various operating systems and versions.
  • Implemented screen capturing and streaming over the network.
  • Became the go-to guy for Git, Docker, Gitlab, Gitlab CI and Unity Cloud Build.
  • Principal technical contact during the Audi software security certification process.

See the three10 multi-client presentation and collaboration software in action:

04.2015 - 08.2016

ViewAR, Vienna

Software Engineer, C++/Objective-C/Java

The ViewAR application framework combines a native C++ core, with an HTML5 User Interface allowing low-effort User Interface customization and supports multiple platforms (iOS, Android, Windows).

As the principal engineer in the C++ team, I was responsible for extending and improving the ViewAR core module and integrating the latest third-party Augmented and Virtual Reality SDKs.

 

Most notable achievements:

  • An algorithm for computing the volume of scanned objects has been implemented. Therefore, a watertight (hole-free) 3D triangle mesh has to be computed from the original 3D model captured with depth-sensing cameras. See the 3D scanning and volume computation application in action:
  • Cross-compiling the ViewAR C++ core using Emscripten/WebAssembly to JavaScript and WebGL
  • Integrated video decoding in order to support video textures in 3D
10.2013 - 04.2015

Agfa Healthcare, Vienna

3D Volume Rendering Engineer, C++

I have been the main engineer responsible for extending and maintaining Agfa's volume rendering engine, in a team of 8 engineers located in Austria, Belgium, and Canada. The engine supports GPU and CPU rendering, the CPU version heavily uses SIMD instructions for boosting the CPU rendering performance.

 

Most notable achievements:

  • Implemented bi-cubic filtering for improving the resampling quality of low-resolution images using WebGL
  • Implemented a CMake build system, in order to replace the separate build scripts for several platforms

See the volume rendering engine in action:

09.2010 - 10.2013

Agfa Healthcare, Vienna

Software Engineer, 3D Visualization, Java

In a team of 22 people, I was responsible for implementing and maintaining 3D visualization features and the loading of volume image data.

 

Most notable achievements:

  • Implemented progressive loading of volume image data (patent claimed)
  • Visualization of the normal plane in the unfolded blood vessel view
  • Improved visualization of the intersection of 2D annotations with the current view plane (semi-transparent rendering of the part overlapping with the adjacent slice)
10.2009 - 07.2010

Austrian Institute of Technology (AIT), Vienna

Master thesis, Computer Vision, Matlab

An asynchronous Data Interface for Event-based Stereo Vision Systems

 

The aim of my master thesis was to improve 3D reconstruction accuracy of a stereo camera system using special image sensors which only transmits data for the pixels sensing light intensity changes (for example movements).

 

Most notable achievement:

  • Improved image quality/sharpness by adjusting the retention time of pixel events depending on the event density, which is an indicator for the movement velocity
02.2009 - 07.2009

Computer Vision Center, Universitat Autònoma de Barcelona, Spain

Final year project, Feature Detection, Matlab

Intestinal Content Detection in Capsule Endoscopy using Robust Features

 

The aim of this project was to develop a method supporting the automatic analysis of capsule endoscopy studies in order to handle the large amount of image data in the daily clinical routine.

 

Most notable achievement:

  • Implemented a Support Vector Machines (SVM) detector for detecting intestinal content (71 % accuracy)

Competition

Catalysts Coding Contest

Biggest programming contest in the German-speaking countries (Germany, Austria and Switzerland).

  • October 19, 2012, Vienna:
    • 26th place (250 participants)
  • October 21, 2011, Vienna:
    • 26th place (130 participants)

The goal was to be the first finishing all levels of the assignment.

Education

Voluntary work

08.2013 - 08.2016

Green Team, Frequency Festival, St. Pölten

Team leader
I was leading a group of volunteers performing an anti-littering campaign on the camping site at the Frequency Festival (approx. 50,000 daily attendees).
01.2003 - 12.2012

Kulturprojekt Inzersdorfer Freundeskreis (cultural association)

Cultural event management

I was one of the main organizers of open-air festivals (approx. 1,200 attendees), concerts and cultural events. I was responsible for the artist booking, music line-up and the communication bridge between the artists and the audio/light engineers.

09.2004 - 12.2010

Austrian Red Cross, Ebensee

Emergency Medical Responder & Ambulance Driver

Alternative civilian service (full time) for 1 year and volunteer (approx. 1-2 twelve-hour shifts per month) for 5 years.

Robi Hammerle, three10 GmbH

I love Harald's passion to explore new things and to share his skills with others. He always strives for the best practices, instead of the quick, "naive" solution. I worked with him for over 2 years. He definitely made me a better programmer!

Alexander Hörmandinger, Agfa Healthcare GmbH

Harald's eagerness to grow as a developer in order to perfect coding skills, as well as his willingness to share knowledge make him a first-class software craftsman. His strong enthusiasm for software development and collaboration among developers is an inspiration to me.

Ferdinand Pilz, three10 GmbH

Harald is a fun coworker and downright team player who always tries to improve his and the team's performance by encouraging regular code reviews and practicing pair programming. He always strives to find a clean and elegant solution to the problem that integrates well with the existing codebase.

Let's keep in touch