About
Hi, I’m a computer scientist with a background in robotics, compiler construction, and software engineering. I’m particularly interested in computer vision, simulation, and programming language design and implementation. Outside of computing, I also play the harmonica.
Projects
- sfsim — a spaceflight simulator under development.
- Anymeal — recipe management software for working with a large collection of Mealmaster recipes.
- arduino-sainsmart — software for working with a SainSmart 6-dof robotic arm and an Arduino board.
- AIscm — a numerical computing library developed for GNU/Guile.
- HornetsEye — a machine vision framework developed for Ruby, focused on expressive array programming and efficient implementation of image processing algorithms.
Skills
- operating systems: Debian (LPI101 certification), Microsoft Windows (MinGW)
- computer vision: HornetsEye (deprecated, main developer), OpenCV, PyTorch, AIscm (main developer)
- Coursera Deep Learning Certificate
- image files: ImageMagick, OpenEXR
- audio/video files: FFmpeg
- sensors/actuators: V4L2, libdc1394, libfreenect, ALSA, WiiMote, Robobuilder
- image processing: element-wise operations, histograms, warps, Otsu thresholding, correlation, connected components, edge detection, corner detection, feature descriptors, Hough transform, depth from focus, Fourier transform
- object recognition: normalised cross-correlation, PCA (Camspace algorithm), geometric hashing, RANSAC, planar marker recognition, Zhengyou Zhang camera calibration
- object tracking: Camshift tracking, Bounded Hough Transform, Lucas-Kanade tracker, SVD matching
- compiler construction: Bison, Flex, LALR for Scheme, Clojure Instaparse, LLVM JIT API
- programming languages: Guile, Ruby, Python, Clojure, C/C++, x86-64 assembly and machine code
- software development: SOLID, TDD, Continuous Integration with GitHub/GitLab/Docker
- graphical user interfaces: Qt6, PySide6, OpenGL, X video extension
- build tools: rake, autoconf, automake, make
- version control systems: Git
- documentation systems: Yardoc, Doxygen
- testing: RSpec, Cucumber, pytest, GitHub Actions, GitLab CI
- editors: Vim
- publishing: LaTeX, Zotero, TexPower/Powersem, Inkscape, GIMP, Jekyll
- teamwork: Agile/SCRUM, pair programming, code reviews
Publications
Selected publications
- J. Wedekind, J. Penders, M. Howarth, A. J. Lockwood, K. Sasada: Using Generic Image Processing Operations to Detect a Calibration Grid (BibTex, mirror), May 2013, technical report
- A. J. Lockwood, J. Wedekind, R. S. Gay, M. S. Bobji, B. Amavasai, M. Howarth, G. Möbus, B. J. Inkson: Advanced transmission electron microscope triboprobe with automated closed-loop nanopositioning, Measurement Science and Technology, Volume 21 Number 7, 2010 (BibTex)
- J. Wedekind, H. Abdul Rahman, M. Howarth, K. Dutton: Implementing Arrays and Tensors with Ruby and libJIT (BibTex, mirror), September 2009, technical report
- J. Wedekind, M. Howarth, J. Travis, K. Dutton, B. Amavasai: Real-Time Computer Vision with Ruby and libJIT, poster presentation, 2008 AVA Meeting, December 2008, Bristol
- J. Wedekind, B.P. Amavasai, K. Dutton, M. Boissenin: A machine vision extension for the Ruby programming language, 2008 IEEE International Conference on Information and Automation (ICIA 2008), pp. 991-996, June 2008, Zhangjiajie, China (also see foils, BibTex)
- J. Wedekind, B.P. Amavasai, K. Dutton: Steerable filters generated with the hypercomplex dual-tree wavelet transform, 2007 IEEE International Conference on Signal Processing and Communications (ICSPC 2007), pp. 1291-1294, November 2007, Dubai, United Arab Emirates (also see foils, BibTex)
- J. Wedekind, M. Boissenin, B.P. Amavasai, F. Caparrelli, J. Travis: Object Recognition and Real-Time Tracking in Microscope Imaging, Proceedings of the 2006 Irish Machine Vision and Image Processing Conference (IMVIP 2006), Dublin, Ireland (also see IMVIP 2006 proceedings and foils, BibTex)
- J. Wedekind: Focus set based reconstruction of micro-objects, International IEEE Conference on Mechatronics & Robotics (MechRob’04), Aachen, Germany, 13-15 September 2004 (also see foils, BibTex)
Presentations
- Macroexpand 2025 presentation about Computer Graphics with Clojure, LWJGL, and Fastmath
- YouTube presentation about the connascence software metric (video)
- YouTube presentation SOLID software design principles illustrated with Clojure code examples (video)
- Roke catchup meeting presentation SOLID software design principles illustrated with Python code examples
- Roke catchup meeting presentation A Short Introduction to OpenGL (video)
- Digital Science Cambridge 2014 retreat presentation Fundamentals of Computing
- ECOOP 2011 demonstration Implementing Machine Vision Systems with a Dynamically Typed Language
- 15th ShRUG meeting presentation Play squash with Ruby, OpenGL and a Wiimote (abstract)
- 7th ShRUG meeting presentation Machine Vision made easy with Ruby (abstract)
- Rubyconf 2009 presentation Computer Vision using Ruby and libJIT (abstract)
- Engineering lecture: Ruby and Machine Vision
- Talk at Sheffield Astronomical Society: Digital Imaging with Free Software
- OSCON 2008 presentation Real-time Computer Vision with Ruby (mirror, abstract)
- MRC seminar Machine vision and device integration with the Ruby programming language
- MERI seminar The MiCRoN Project
- MERI seminar Computer Vision for Microscopes
- Seminar Verteilte Simulation-Konservative Synchronisation und Time Warp
Theses
- PhD thesis: Efficient Implementations of Machine Vision Algorithms using a Dynamically Typed Programming Language (BibTex, signature)
- Diploma thesis:* Fokusserien-basierte Rekonstruktion von Mikroobjekten (first presentation (English), second presentation (German), BibTex)
- First thesis: Modellierung und Erkennung von Mikroobjekten