class VideoAnnotation extendsModel

Traits

Properties

protectedarray $fillable The attributes that are mass assignable.
protectedarray $casts The attributes that should be casted to native types.

Methods

validatePoints()

Validate the points and frames of this annotation.

setPointsAttribute(array$points)

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

BelongsTo
video()

The video, this annotation belongs to.

BelongsTo
shape()

The shape of this annotation.

BelongsToMany
labels()

The labels that are attached to this annotation.

array
interpolatePoints(float$time)

Get the interpolated points at a specific point of time.

array
interpolateBetweenFrames(int$index1,int$index2,float$progress)

Get the interpolated points of this annotation between the specified frames.

array
getInterpolationPoints()

Get the points of this annotation prepared for interpolation.

array
interpolateNaive(array$from,array$to,float$progress)

Interpolate between two points arrays.

array
rectangleToInterpolationPoints(array$points)

Convert the points array of a rectangle (frame) to points that can be interpolated.

array
interpolationPointsToRectangle(array$points)

Convert points that can be interpolated back to the points of a rectangle (frame).

Details

at line94
validatePoints()

Validate the points and frames of this annotation.

Exceptions

Exception If the points or frames are invalid.

at line78
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

at line45
BelongsTo video()

The video, this annotation belongs to.

Return Value

BelongsTo

at line55
BelongsTo shape()

The shape of this annotation.

Return Value

BelongsTo

at line65
BelongsToMany labels()

The labels that are attached to this annotation.

Return Value

BelongsToMany

at line113
array interpolatePoints(float$time)

Get the interpolated points at a specific point of time.

This method must be equivalent to the interpolatePoints function of the JavaScript annotation model!

Parameters

float $time

Return Value

array

at line148
protectedarray interpolateBetweenFrames(int$index1,int$index2,float$progress)

Get the interpolated points of this annotation between the specified frames.

Parameters

int $index1 Index of the first frame.
int $index2 Index of the second frame.
float $progress Progress between the two frames.

Return Value

array

at line173
protectedarray getInterpolationPoints()

Get the points of this annotation prepared for interpolation.

Return Value

array

at line196
protectedarray interpolateNaive(array$from,array$to,float$progress)

Interpolate between two points arrays.

Parameters

array $from
array $to
float $progress

Return Value

array

at line211
protectedarray rectangleToInterpolationPoints(array$points)

Convert the points array of a rectangle (frame) to points that can be interpolated.

Parameters

array $points

Return Value

array

at line236
protectedarray interpolationPointsToRectangle(array$points)

Convert points that can be interpolated back to the points of a rectangle (frame).

Parameters

array $points

Return Value

array