class ImageAnnotation extends Annotation

Traits

Properties

int $shape_id

Shape ID required for point validation.

from  Annotation

Methods

validatePoints(array $points)

Validates a points array for the shape of this annotation.

validateCoordinatesAreNumeric(array $points)

Valies that all coordinates are either int or float

validateNumberOfCoordinates(array $points)

Validates that the number of coordinates matches the required number for the given shape

validateNumberOfPoints(array $points)

Validates that the number of points (sequential coordinate pairs) matches the expected number of points for the given shape

validateShape(array $points)

Validates some edgecases where the given points don't create a valid shape

setPointsAttribute(array $points)

Round the floats of the points array to 2 decimals before saving.

int
countDistinctPoints(array $points)

Counts number of distinct points

__construct(Shape $shape, array $points, array $labels)

No description

array
getInsertData(int $id)

Get the array of metadata that can be used for Model::insert();

void
validate()

Validate the points and labels.

Details

in HasPointsAttribute at line 19
validatePoints(array $points)

Validates a points array for the shape of this annotation.

Parameters

array $points

Points array like [x1, y1, x2, y2, x3, y3, ...]

Exceptions

InvalidShapeException

in HasPointsAttribute at line 31
protected validateCoordinatesAreNumeric(array $points)

Valies that all coordinates are either int or float

Parameters

array $points

Exceptions

InvalidCoordinateTypeException

in HasPointsAttribute at line 44
protected validateNumberOfCoordinates(array $points)

Validates that the number of coordinates matches the required number for the given shape

Parameters

array $points

Exceptions

InvalidNumberOfCoordinatesException

in HasPointsAttribute at line 69
protected validateNumberOfPoints(array $points)

Validates that the number of points (sequential coordinate pairs) matches the expected number of points for the given shape

Parameters

array $points

Exceptions

InvalidNumberOfPointsException

in HasPointsAttribute at line 102
protected validateShape(array $points)

Validates some edgecases where the given points don't create a valid shape

Parameters

array $points

Exceptions

InvalidShapeException

in HasPointsAttribute at line 143
setPointsAttribute(array $points)

Round the floats of the points array to 2 decimals before saving.

This is a more than sufficient precision for annotation point coordinates and saves memory in the DB as well as when processing the annotations in PHP.

Parameters

array $points

in HasPointsAttribute at line 154
protected int countDistinctPoints(array $points)

Counts number of distinct points

Parameters

array $points

Return Value

int

number of distinct points *

in Annotation at line 24
__construct(Shape $shape, array $points, array $labels)

No description

Parameters

Shape $shape
array $points
array $labels

at line 10
array getInsertData(int $id)

Get the array of metadata that can be used for Model::insert();

Parameters

int $id

ID of the image/video database model.

Return Value

array

in Annotation at line 58
void validate()

Validate the points and labels.

Return Value

void

Exceptions

Exception