Mats Petter Wallander, Developer in Lund, Sweden
Mats is available for hire
Hire Mats

Mats Petter Wallander

Verified Expert  in Engineering

Algorithms Developer

Location
Lund, Sweden
Toptal Member Since
June 7, 2019

Mats Petter has 15 years industry experience developing efficient algorithms for squeezing information out of image and other sensor data, working in diverse domains such as digital pens, optical multi-touch, eye tracking, and solar energy, both using standard methods and developing new patented domain-specific algorithms.

Portfolio

Flatfrog AB (developer of optics-based multi touch technology)
Mathematical Modeling, Algorithms, Git, OpenCV, Matplotlib, SciPy, NumPy, Python
Google
Mathematical Modeling, Algorithms, Qt, Git, OpenCV, Matplotlib, SciPy, NumPy...
Eyefluence Inc (developer of eye tracking technology...
Mathematical Modeling, Algorithms, Git, OpenCV, Matplotlib, SciPy, NumPy...

Experience

Availability

Part-time

Preferred Environment

Git, MATLAB, Spyder, Eclipse, MacOS

The most amazing...

...project I've worked on was developing the basic positioning method and image analysis algorithms used in digital pens like the Livescribe smartpens.

Work Experience

Software Engineer, Signal Processing

2017 - 2019
Flatfrog AB (developer of optics-based multi touch technology)
  • Prototyped new product concepts, details confidential.
  • Prototyped and evaluated new multi-touch algorithm ideas.
Technologies: Mathematical Modeling, Algorithms, Git, OpenCV, Matplotlib, SciPy, NumPy, Python

Software Developer

2017 - 2018
Google
  • Confidential, partly similar to Eyefluence.
Technologies: Mathematical Modeling, Algorithms, Qt, Git, OpenCV, Matplotlib, SciPy, NumPy, Python, C

Algorithm developer

2015 - 2016
Eyefluence Inc (developer of eye tracking technology, acquired by Google in 2016)
  • Developed efficient algorithms for camera-based eye tracking.
  • Implemented algorithms for camera-based eye tracking in C and Python.
  • Developed a simulator for generating ground-truth input data for verification of eye-tracking algorithms.
  • Developed sensitivity analysis for eye-tracking algorithms.
  • Worked with test engineers on methods for camera-based device calibration.
Technologies: Mathematical Modeling, Algorithms, Git, OpenCV, Matplotlib, SciPy, NumPy, Python, C

Software Engineer, Image Analysis

2014 - 2015
AIS Technology AB
  • Confidential.
Technologies: Algorithms

Software Engineer, Signal Processing

2009 - 2014
Flatfrog Laboratories AB (developer of optics-based multi-touch technology)
  • Developed efficient algorithms for object detection and positioning in an optics-based multi-touch system.
  • Made implementation in C of algorithms for object detection and positioning.
  • Worked with optics and electronics engineers to optimize system design and design our next-generation system.
  • Worked with patent engineers to file applications on system design and positioning methods.
  • Developed simulation tools to aid system design, in C and Python.
  • Participated in projects using scrum-based agile development.
  • Used SWIG interfaces to connect C product implementations of algorithms to prototyping environment written in Python.
Technologies: Mathematical Modeling, Algorithms, Git, Matplotlib, SciPy, NumPy, Python, MATLAB, C

Software Engineer, Video Technology

2008 - 2009
ARM
  • Made embedded implementation of video decoders in C.
  • Developed software for a custom HW solution, interacting with dedicated video-coded HW blocks.
  • Worked together with VHDL designers to design next-generation video coding HW, optimizing the trade-offs in deciding what to implement in HW and what in SW.
  • Developed a memory-efficient scheme for storing and retrieving past-frame data in video decoding.
  • Developed tools for debugging video decoding implementations.
Technologies: JPEG, MPEG, H264, VC-1, C

Software Engineer, Video Technology

2007 - 2008
Logipard AB (developer of ASIC design for video coding, acquired by ARM in 2008)
  • Made embedded implementation of video decoders in C.
  • Developed SW for a custom HW solution, interacting with dedicated video-coded HW blocks.
  • Worked together with VHDL designers to design next-generation video coding HW, optimizing the trade-offs in deciding what to implement in HW and what in SW.
  • Developed a memory-efficient scheme for storing and retrieving past-frame data in video decoding.
  • Developed tools for debugging video decoding implementations.
Technologies: JPEG, MPEG, H264, VC-1, C

Software Engineer, Image Analysis

2000 - 2002
Anoto AB (developer of digital pen technology)
  • Developed efficient image analysis algorithms for pen positioning.
  • Made embedded implementation in C of algorithms for pen positioning.
  • Developed mathematical principles behind printed pattern for unique positioning on paper.
  • Worked with patent engineers to file applications on positioning pattern and methods.
  • Developed test procedures and metrics to define pen positioning performance, and to understand performance as a function of system design parameters.
  • Wrote MEX interfaces to make product implementations of algorithms in C available in our Matlab prototyping and evaluation environment.
Technologies: Algorithms, MATLAB, C

Prototyping of a Pen Positioning System

I did a summer internship at C-Technologies AB together with a friend, where our task was implementing the first prototype of a new product idea. The idea was to print a fine dot position-coding pattern on writing paper and have a pen position itself relative to the paper using a tiny camera in the front, thus creating a digital copy of what was written.

We were handed the patent application for the dot pattern, and their existing product, a camera-based translation pen, with a glued-on ballpoint pen. During the summer, we both improved the properties of the pattern itself and developed algorithms for the pen to position itself. This became a demo that was used by C-Technologies to raise funding for developing the pen technology in the new subsidiary Anoto AB.

Optimizing the Configuration of an Optics-based Multi-touch System

At Flatfrog AB, I implemented code to optimize the component placement in their displays, reducing the number of components needed to achieve required detection accuracy.

The optimizer's results lead to new insights into the component geometry, leading to several new patent applications for the company.

Bright New World

http://www.brightnewworld.com
I am the co-founder of a solar energy company, where I have mostly been active in writing a simulator to test and optimize design ideas. The simulator is written in C++ with SWIG Python bindings.

Nordic Programming Champions

http://cs.lth.se/contest/c11/
Throughout my university years, I have enjoyed participating in the Nordic Collegiate Programming Contest (NCPC), a team-programming contest for students (part of the ACM ICPC). After graduating, I have some years contributed as a problem constructor and judge and some years competing in the open, non-student, class.

In 2011, my team consisting of me and two friends came in first place, out of over 200 teams in the Nordic region, solving all ten problems in less than five hours.

Wordfeud Helper App

https://word-sensei.soft112.com
I wrote a Wordfeud helper app for Android together with a friend. He implemented the Android UI and I implemented the basic search algorithm that is guaranteed to find the available move with the highest score in an efficient manner (something that most other similar apps could not do).

We are no longer supporting the app, but it did receive great reviews in its day and was a nice exercise in building compact word trees and implementing an efficient search algorithm.
2002 - 2009

Ph.D. in Computer Science

Lund University - Lund, Sweden

1994 - 2000

Master's Degree in Computer Science

Lund University - Lund, Sweden

1998 - 1999

Exchange Student in Computer Science

UC Irvine - Irvine, CA

Libraries/APIs

NumPy, SciPy, Matplotlib, OpenCV

Tools

MATLAB, Spyder, ANTLR, Git

Languages

Python, C, Java, C++

Paradigms

Constraint Programming, Scrum, Agile, Functional Programming

Frameworks

Qt, Xtext

Platforms

MacOS, Eclipse

Other

Algorithms, Scientific Computing, Mathematical Modeling, Signal Processing, Image Analysis, Simulations, Optimization, Video Codecs, Eye Tracking, Signal Analysis, Mathematics, Artificial Intelligence (AI), Digital Signal Processing, VC-1, H264, MPEG, JPEG, Clustering, Image Processing

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring