How to use the Ikomia Workflow Creator
– 10 min read –
What is Ikomia Workflow Creator?
Test and evaluate computer vision algorithms quickly and easily: it’s one of the main goals of Ikomia platform. Thus we provide different levels of usage, from no-code with the Workflow Creator module to low-code with the Python API.
The Workflow Creator is a graph-based editor to create your custom image processing pipeline. Add algorithms as process nodes, connect them and you are ready to go.
In this post , we will describe all important features to build your own workflow in few clicks:
- Create a new workflow
- Manage global inputs
- Add a new node (ie algorithm)
- Run the workflow
- Visualize data
- Consult workflow information
Create a new workflow
- By applying a first process on current data
The Workflow Editor processes images or videos already loaded in Ikomia. As a result, applying a first algorithm on the current data will automatically create a new workflow and launch the process. Then, the UI will show you the original and processed data in a split view.
- From scratch
You can start a new workflow even if no data is loaded yet. For such, click on the new button located in the left pane of the module and fill workflow information as shown below:
Once created, you can add process nodes by selecting an algorithm from the Ikomia process library or by clicking on the empty node in the editor. New node is automatically connected to parent node if possible. The way the editor places nodes will be covered in this section. You can always adjust positions and connections manually.
Manage global inputs
Global inputs are persistent data loaded into a project structure. They represent the source data on which the whole workflow is applied. They are slightly different from input data at node level, which can be generated by previous nodes. The Workflow Editor can manage a list of global inputs. By default, you will find only one input slot corresponding to the current data (image, video or camera). This slot is reserved, it can’t be deleted.
You can easily add a new input by clicking on the + button when the mouse pointer enters the editor input area. Next, select the data type you want to process, it can be one of the followings:
- Image(s): selection of image(s) already loaded in Ikomia project.
- Video(s): selection of video(s) already loaded in Ikomia project.
- Dataset(s): selection of dataset(s) already loaded in Ikomia project. Dataset is here a generic internal term to define a structured set of images or videos.
- Folder(s): selection of folder(s) in an Ikomia project. It’s an internal structure of a project and does not match a filesystem entry.
Note: you may have noticed the possibility to set data list or containers as global input. This is what we call the Batch Mode, we will cover it in a future dedicated post.
Add a new node
As previously said, a node is the workflow representation of an algorithm. Thus, we need to add different nodes and connect them to build a functional pipeline.
An empty node with the label “Click here to add new process” indicates the insertion location of the future node. The editor updates automatically this location according to the current node and the graph structure. The current node is easy to identify: it appears highlighted and brighter than all others nodes. You can manually change the current node by clicking on the node you want to select.
Inputs, outputs and connections
Each node comes with one or several inputs and can generate outputs (can be none). In order to obtain your workflow, you need to connect output(s) from parent node(s) to input(s) of child node(s). The Workflow Editor provides an automatic connection system based on data types. It will always consider the current node as the parent node. So you should think checking and updating the current node before adding a new algorithm. For complex scenarios, you may have to create manual connections in the editor by dragging link from source output to target input. Please note that a connection is possible and valid if data types are the same or compatibles. Consequently, the notification center shows a message with additional details if an error occurred.
Within a node, colored circles represent inputs and outputs . They are the begin or end point of node connections. Colors indicate data types, here is the list of possible data types:
Run the workflow
The module provides several modes to run algorithms across the graph-based workflow:
- Run workflow: run all nodes.
- Run workflow from current node: run all nodes of the sub-graph for which the current node is the root node. Parent nodes of the current node are not executed, they must have valid outputs generated from previous run.
- Run workflow to current node: run all nodes of the sub-graph for which the current node is a leaf. Child nodes of the current task are not executed.
Reminder: current node appears highlighted and brighter in the editor. See here for details.
The Workflow Editor uses the advanced display capabilities of Ikomia. When the module is active, the main view is divided in two parts: the left one for inputs and the right one for outputs. At any time, user can maximize input or output view with mouse double-click.
Firstly, the left part dedicated to inputs can show two kinds of information for the current node. Therefore, you will find specific buttons to activate these modes in the top toolbar of the module as shown below:
- original inputs (ie global inputs of the workflow)
- current node inputs
Secondly, the right part adjusts automatically its view according to current algorithm outputs. The layout is designed like this:
- One tab for each data type.
- For a given data type, as many displays as output count.
Note: the Workflow Creator updates views each time a new node is selected and becomes the current one.
Consult workflow information
To complete our module overview, we will focus now on useful information associated with the workflow. You will find it in a multi-tab view located in the right part of the module window.
As you know, the Workflow Creator is a tool dedicated to algorithm testing and evaluation. Hence, tuning parameters is a key feature. To this end, the first tab of the UI element shows parameters associated with the current node. User can adjust them in order to analyze algorithm behavior.
Information page is also accessible from this tab. This page provides algorithm description, author(s), associated scientific paper, version number and various other interesting metadata.
As follows, we provide basics metrics in the second tab:
- Process time execution
- Elapsed time from start to current node
- Total elapsed time of the workflow
Finally, the third tab provides additional information around inputs and outputs. This may help to understand how the algorithm works and brings explanations towards input data types.
In conclusion, this post will help you to start building your own image processing pipelines with Ikomia. We took a quick tour around core feature of the Workflow Creator and you are ready to browse and test all algorithms from the Ikomia platform. Of course, we didn’t describe features exhaustively and we let you discover the module on your own. Among others, you will find additional features like save, export or load workflows.