Welcome to Ikomia’s documentation

Current version

0.5.0

The aim of this API is to offer a simple interface to add user-defined plugin into the Ikomia platform. A plugin is a Python implementation of an algorithm executed on image based data.

The software gives the possibility to build custom image processing pipelines through the use of a graph-based editor called workflow. A workflow is thus composed of several connected tasks that get inputs, process them and give results through outputs. When you create your own task (i.e. plugin), there are some few essential components to deal with:

  • Task

    algorithm implementation

  • Parameters

    to setup the algorithm

  • Metadata

    information attached to the task (description, icon, authors, articles…)

  • Inputs

    required input data

  • Outputs

    produced output data

  • Widget

    user interaction interface (to adjust parameters for example)

Each of these components is implemented by a specific class. We use inheritance and factory design pattern to build the interface between Ikomia software and plugins. Once implemented, you will be able to handle your plugin like all others internal processes. It means that you will be able to add it to a workflow and visualize your outputs directly.

The API is divided into modules addressing specific features:
  • Utils: module offering various helper tools organized in different submodules
    • pyutils: helper classes which are bindings from C++ libraries

    • pyqtutils: helper functions simplifying widgets creation

    • qtconversion: helper functions providing conversion from Python Qt framework (PyQt or PySide2) to C++ Qt

  • Core: module offering essential base classes to implement input/ouput, task, parameters and widget.
    • pycore: bindings from C++ libraries

  • DataProcess:module offering the main interface structure to plug user-defined task and several class specializations to facilitate common process implementation.
  • DNN: module providing features for Deep Learning tasks. More details here

Getting started

This section will help you understand the API structure and will guide you through the creation of your first plugins.

Tutorials

API Reference

This section provides the auto-generated documentation from the Python code. You will find all the implementation details and the comprehensive list of available functions.

Examples

Here are source codes associated with the tutorials.

Indices and tables