Main Content


Class: lidar.labeler.AutomationAlgorithm
Namespace: lidar.labeler

Set up validation (optional)

Since R2022a


In the Lidar Labeler app, the checkSetup method checks the validity of the setup when you click Run in an automation session. If checkSetup returns true, then the setup is valid and the app proceeds to run the automation algorithm by using the initialize, run, and terminate methods.

Clients of AutomationAlgorithm can optionally implement this method.

isReady = checkSetup(algObj) returns true if you completed set up correctly and the automation algorithm algObj can begin execution. Otherwise, checkSetup returns false.


isReady = checkSetup(algObj,labelsToAutomate) additionally provides a table, labelsToAutomate, that contains labels selected for the automation algorithm to use for labeling. This syntax is available only for time-dependent (temporal) automation algorithms.


expand all

This implementation of the checkSetup method checks the setup for a temporal automation algorithm. This method determines that an automation algorithm is ready to run if at least one ROI label exists.

function isReady = checkSetup(algObj,labelsToAutomate)
    notEmpty = ~isempty(labelsToAutomate);
    hasROILabels = any(labelsToAutomate.Type == labelType.Cuboid ...
               | labelsToAutomate.Type == labelType.Line ...
               | labelsToAutomate.Type == lidarLabelType.Voxel);
    isReady = (notEmpty && hasROILabels)

Input Arguments

expand all

Automation algorithm, specified as a lidar.labeler.AutomationAlgorithm object.

Labels selected for automation, specified as a table with these columns.

Column NameDescription

labelType enumeration that contains the type of label definition. Valid label types are:

  • labelType.Cuboid

  • labelType.Line

  • labelType.Scene

lidarLabelType.Voxel is not supported.

NameCharacter vector that contains the name of the label.
TimeScalar of type double that specifies the time, in seconds, when the label was marked.

Location of the label in the frame. The format of this vector depends on the label type.

Label TypePosition Format
Cuboid — Cuboid ROI labels

M-by-9 numeric vector of the form [xctr, yctr, zctr, xlen, ylen, zlen, xrot, yrot, zrot], where:

  • M is the number of labels in the frame.

  • xctr, yctr, and zctr specify the center of the cuboid.

  • xlen, ylen, and zlen specify the length of the cuboid along the x-axis, y-axis, and z-axis, respectively.

  • xrot, yrot, and zrot specify the rotation angles for the cuboid along the x-axis, y-axis, and z-axis, respectively. These angles are clockwise-positive when looking in the forward direction of their corresponding axes.

This figure shows how these values specify the position of a cuboid.

Line — Polyline ROI labelsM-by-1 vector of cell arrays, where M is the number of labels in the frame. Each cell array contains an N-by-2 numeric matrix of the form [x1 y1; x2 y2; ... ; xN yN] for N points in the polyline.
Scene — Scene labels

Logical value of 1 if the label is present in the frame and 0 otherwise.

Each row of the table corresponds to a label selected for automation. This labelsToAutomate table contains a line label with five points, and a cuboid label.

       Type           Name           Time        Position  
     _________    ____________    _________    ____________
     Line         'LaneMarker'    0.066667     [5x2 double]
     Cuboid       'Truck'         0.099999     [1x9 double] 

Output Arguments

expand all

True or false result of the setup check, returned as a 1 or 0 of data type logical.

Version History

Introduced in R2022a