Fingerprint Verification

Fingerprint recognition is an active research area nowadays. An important component in fingerprint recognition systems is the fingerprint matching algorithm. According to the problem domain, fingerprint matching algorithms are classified in two categories: fingerprint verification algorithms and fingerprint identification algorithms. The aim of fingerprint verification algorithms is to determine whether two fingerprints come from the same finger or not. On the other hand, the fingerprint identification algorithms search a query fingerprint in a database looking for the fingerprints coming from the same finger.

This Demo demonstrates both fingerprint recognition and identification.

Denavit-Hartenberg Kinematics

Denavit-Hartenberg forward kinematics sample application.

Demonstrates how to use Denavit-Hartenberg parameters and equations to model kinematic chains.


Levenberg-Marquardt algorithm for Approximation, Time Series, and the XOR problems.

Demonstrating usage of Neuro applications to work with Levenberg-Marquardt instead of Backpropagation. Includes solutions for approximation, time-series prediction and the exclusive-or (XOR) problem using neural networks trained by Levenberg-Marquardt.

Smart Bio

Smart Bio is an application of common bioinformatics functions, intended to simplify the creation of life science applications.

The core application implements a range of file parsers and formatters for common file types, connectors to commonly-used web services such as NCBI BLAST, and standard algorithms for the comparison and assembly of DNA, RNA and protein sequences. Sample tools and code snippets are also included.

Bioinformatics Workflow designer and execution engine.

The Smart Bio allows you to create programs visually by connecting various components together in the designer and then persist them to an XML file which can either be run in the GUI designer, or from a command line tool.

It has two parts to it:

  1. A GUI designer which provides access to a set of pre-defined activities and the core WF activities. You can create, edit and save workflows to XML based files.
  2. A console based runner which can take a persisted WF and execute it providing both input and output capabilities.

You can then drag various activities from the toolbox on the left. Each activity can be selected and have properties changed in the property explorer on the bottom right of the screen.

Quadratic Programming (QP) Solver

Quadratic programming with the Goldfarb-Idnani solver.

Quadratic Programming (QP) problem solving using the dual method of Goldfarb and Idnani.

Glyphs’ recognition

Recognition of glyphs (or optical glyphs as they are called most frequently) is quite an intersection topic, which has applications in a range of different areas. The most popular application of optical glyphs is augmented reality, where computer vision algorithm finds them in a video stream and substitutes with artificially generated objects creating a view which is half real and half virtual – virtual objects in a real world. Another area of optical glyphs’ application is robotics, where glyphs can be used to give commands to a robot or help robot to navigate within some environment, where glyphs can be used to give robot directions. Here is one of the nice demos of optical glyphs’ application:

IPPrototyper tool

Random Sample Consensus (RANSAC)

Robust linear regression estimation with RANSAC.

Demonstrates how to use RANSAC to robustly fit a linear regression, avoiding the negative impact of outliers in the regression data.