LTU Engine is composed by two main processes:

  • add an image as reference in the database
  • search references from a query image.

This document will detail these two workflows has well as the global architecture.

1. Global view

2. Definitions

Here some definitions of the elements of the processes described:

  • Application: An application contains image DNA’s (the image database), meta-information and various settings (including the functionality the application was created for – matching or similarity).
  • DNA & Signature: Binary data generated to describe an image
  • Image Database: Each application has its own database storage, in which a DNA is stored
  • Index: File that contains DNA in memory
  • Modify API: Image management API to add and delete images
  • Sqlite: Local backup of the database
  • Query API: Image search API to retrieve images


  • Indexation: The act of processing an image by an algorithm to generate a DNA and storing it in a reference database
  • Image search: Image search is the comparison of one image signature with another, or with millions of other signatures.
  • Retrieval: Finding the clones or similar images of a given query image from the Kima index.


  • Dispatcher: Dispatch incoming requests between Processor(s) and Weki(s) according of their availability and the request type
  • Kima: Create/update index and search in for an application or a part of an application
  • Processor: Manage indexation and optional storage of a new image
  • Weki: Manage the indexation a query image and address the request to the adequate Kima

3. Add Request through the Modify API

4. Search Request throught the Query API