Defining and launching preconfigured pipelines#

Pipelines defined in configuration file can be pre configured i.e. they include all the configurations prior to runtime including any source, destination, parameters etc

These pipelines can be auto started during EVAM start up by setting auto_start flag to TRUE. Refer to this tutorial and this section.

Here is an example of a pre configured pipeline. The detection results are written in /tmp/results.jsonl file in JSON format.

"pipelines": [
    {
        "name": "pallet_defect_detection",
        "source": "gstreamer",
        "queue_maxsize": 50,
        "pipeline": "multifilesrc loop=TRUE location=/home/pipeline-server/resources/videos/warehouse.avi ! h264parse ! decodebin ! videoconvert ! video/x-raw,format=RGB ! udfloader name=udfloader ! gvametaconvert add-empty-results=true format=json ! gvametapublish method=file file-path=/tmp/results.jsonl ! appsink name=destination",
        "auto_start": true,
        "udfs": {
            "udfloader": [
                {
                    "name": "python.geti_udf.geti_udf",
                    "type": "python",
                    "device": "CPU",
                    "visualize": "true",
                    "deployment": "./resources/models/geti/pallet_defect_detection/deployment",
                    "metadata_converter": "null"
                }
            ]
        }
    }

Alternatively, pre-configured pipelines can also be started via REST request (empty) after setting auto_start flag to FALSE

curl localhost:8080/pipelines/user_defined_pipelines/pallet_defect_detection -X POST -H 'Content-Type: application/json' -d '{}'