# davisinteractive.robot.interactive_robot

# InteractiveScribblesRobot

```
InteractiveScribblesRobot(self,
kernel_size=0.15,
max_kernel_radius=16,
min_nb_nodes=4,
nb_points=1000)
```

**Attributes**

`kernel_size`

: Float. Fraction of the square root of the area used to compute the dilation and erosion before computing the skeleton of the error masks.`max_kernel_radius`

: Float. Maximum kernel radius when applying dilation and erosion. Default 16 pixels.`min_nb_nodes`

: Integer. Number of nodes necessary to keep a connected graph and convert it into a scribble.`nb_points`

: Integer. Number of points to sample the bezier curve when converting the final paths into curves.

## interact

```
InteractiveScribblesRobot.interact(sequence,
pred_masks,
gt_masks,
nb_objects=None,
frame=None)
```

**Arguments**

**sequence**: String. Name of the sequence to interact with.**pred_masks**: Numpy Array. Array with the prediction masks. It must be an integer array with shape (B x H x W), with B being the number of frames of the sequence.**gt_masks**: Numpy Array. Array with the ground truth of the sequence. It must have the same data type and shape as`pred_masks`

.**nb_objects**: Integer. Number of objects in the ground truth mask. If`None`

the value will be infered from`y_true`

. Setting this value will speed up the computation.**frame**: Integer. Frame to generate the scribble. If not given, the worst frame given by the jaccard will be used.

**Returns**

`dict`

: Return a scribble (default representation).