Projects
Software engineering projects
Various things I was working on. Very incomplete list.
Personal projects
- Czech Amateur keyboard layout - Czech programmer's keyboard in the spirit of Czech Amateur from Win98 time, ported to XP/Linux/macOS
- some merge requests to Keras
- tfr - time-frequency reassignment in Python
- midi2audio - nice Python wrapper over FluidSynth
- dissonant - musical chord dissonance models
- smst - refactoring and packaging of SMS-tools (spectral modeling and synthesis tools) by prof. Xavier Serra
- repository of ideas
- chord recognition using deep convolutional neural networks
- music audio processing toolbox
- MIREX-style chord label parser and tools - Python, Java
- Python Hash Trie
- ToneCircle, GitHub
- HarmonEye - real-time music harmony visualization
- Perfect Tuner
- Pan/Zoom controller for Procesing (P5)
- Music Theory Toolbox
- corale.cz - web site of our high-school choir Corale
- A collaboration tool for our choir
-
Salutr - automatic Czech name declension with a REST API
- Scala, Play
- Pong for Android
- Simple JS Image Slider
- DokuWiki Table Edit Plug-in
-
Czech Amateur Keyboard Layout
- a combination of Czech and English keyboard suitable for programmers
- works on Windows 7+
- journal dates generator
Rossum
- document extraction machine learning research and engineering
- performance tuning
Neuron SoundWare
- sound processing / music generation machine learning research and engineering
- OCR of bar graphs
Freelance ML engineer
- various freelance projects
Jumpshot
- internet-scale web analytics and market insights
- Java, Scala
- machine learning for time-series and anomaly detection
- Keras
FAIROS MEDIA
- e-shop feed converter - python, Heroku
- scripts for converting invoices
- etc.
Wikidi
- machine learning for time-series and natural language processing
- algorithmic trading system
- Python, Theano, GenSim, Java
Etnetera
Unicorn Solutions
- Unicorn Universe - flexible enterprise information system, Java
Charles University in Prague
Faculty of Mathematics and Physics
BokehLab
CESCG 2012 conference paper
On Rendering with Complex Camera Models
- paper (1 MB)
- demonstration site
Master thesis
Interactive Preview Renderer for Complex Camera Models
Abstract: An interactive renderer was implemented that allows users to preview the effects of imaging with lenses, such as depth of field, bokeh (defocus highlights) and tilt-shift lens configurations. It is based on a state-of-the-art method which combines the power of GPU rasterization and ray tracing. Many models and interactive visualizations were created. A non-interactive simulation of a complex geometrical lens model has been made which is able to produce optical aberrations. Also a prototype implementation of recent fast spreading filters is available. A thorough summary of the principles of optical image formation, lens models and depth of field rendering methods used in computer graphics is given along with a comparison of the approaches and new insights. New possibilities of representing the behavior of complex lenses are suggested, which could be employed to accelerate the rendering.
- thesis text (7.2 MB)
- project site
- slides
- GitHub repo
- Supervisor: Alexander Wilkie
- Technologies: C#, GLSL, .NET, OpenTK, OpenGL, Mathematica, LaTeX, Git, VPython, C++, Ogre3D
Halftone Laboratory
Bachelor thesis
Advanced Halftoning Methods
Abstract: The goal of the thesis was to design and implement a modular library for digital halftoning methods. The aim were photorealistic methods utilizing space- filling curves and blue-noise, artistic methods were considered as well. From the point of view of software design, emphasis was on modularity and extensibility, in order to support experimenting, even with new algorithms. The library along with a graphical user interface has been integrated as a plug-in with the framework of a popular image-processing application GIMP.
- thesis text (0.5 MB)
- HalftoneLab
- GitHub repo
- Project page at Sourceforge - download
- Supervisor: Josef Pelikán
- Technologies: C#, .NET, Gtk#, GIMP#, SVN, MS Visual Studio, LaTeX
XRouter
- Software Project (NPRG023)
- XML router - a lightweight alternative to ESB
- C#, .NET, XML, Schematron, Git
- GitHub, Assembla project site
- team of five people
- Supervisor: Martin Nečaský
Volume ray-casting (direct volume rendering)
- Visualization
- C#, GLSL, OpenTK
- videos: 1, 2, 3, 4
Isocontours
- Visualization (NPGR023)
- C#, GLSL, OpenTK
Point in polygon location
- Applied Computational Geometry (NPGR016)
- C#, WinForms, OpenTK
Voronoi mosaic
- Applied Computational Geometry (NPGR016)
- C#, poly2tri-cs, WinForms, OpenTK
- repo
Rotation-minimizing frame
- Geometry for Computer Graphics (NPGR020)
- Visual Python
- repo
RenderMan shaders
- Shading Languages (NPGR027)
- RenderMan Shading Language
Fast screencast video codec
- Advanced 2D Computer Graphics (NPGR007)
- C#
- repo
Image-based lighting
- Computer Graphics III (NPGR010)
- Java, JaGrLib
Path tracing
- Computer Graphics III (NPGR010)
- Java, JaGrLib
Black & white image compression
- Advanced 2D Computer Graphics
- C#
- repo
Point feature warping
- Advanced 2D Computer Graphics
- C#
- repo
Concurrency Patterns
- Design Patterns (NPRG024)
- presentation of design and architecture patterns - PDF, PPT
- Active Object, Monitor Object, Half-Sync/Half-Async, Leader/Followers, Thread-Specific Storage
optparse-net
- Recommended Programming Practices (NPRG043)
- library for command-line argument parsing with usage inspired by Python's optparse
- C#, .NET, NAnt, NUnit, SVN, MS Visual Studio
- repo
- two-people teamwork
Hovercraft
- Hardware for Computer Graphics (NPGR019)
- using spline curves for smooth animation of movements
- C++, OpenGL, SDL, MS Visual Studio
Raytracing of rotational Bezier surfaces
- JaGrLib module
- Java, SVN, Eclipse
Swan Carousel
- Virtual Reality (NPGR012)
- interactive virtual reality model
- GitHub repo
- VRML, Javascript, SVN
- three-people teamwork
JaCoMo - Jabber Contact Monitor
- Java (NPRG013)
- monitoring of statuses of people in a jabber contact list, archiving, visualization
- GitHub repo
- Java, J2SE, Swing, Smack, SVN, NetBeans
Pango
- Programming II (PRG031)
- remake of the old Pango game, a clone of Pengo
- GitHub repo
- C#, .NET, SVN, MS Visual Studio
GeToDo
- Individual software project (NPRG045)
- a TODO list
- C++, Boost, GTK+, gtkmm, SVN, autotools, MS Visual Studio
Metro
- Probability and Statistics (NMAI059)
- R statistical suite
JaGrLib modules
- Guilloché, SFC Dither with adaptive clustering, Mosaic
- modules for a educational computer graphics library
- Computer graphics I (NPGR003)
- Java, NetBeans
Logic Gate Network simulator
- C# Language and .NET Framework (NPRG035)
- GitHub repo
- C#, MS Visual Studio
Infix calculator
- Java (NPRG013)
- Java SE, NetBeans
FFT and spectral analyzer
- Non-procedural programming (PRG005)
- GitHub repo
- Haskell
Frak - fractal rendering
- Programming I (PRG030)
- Mandelbrot and Julia sets
- C, OpenGL, GLUT