VideoAnnotation
class VideoAnnotation extends Annotation
Traits
Properties
$hidden | The attributes excluded from the model's JSON form. |
from Annotation | |
protected array | $casts | The attributes that should be casted to native types. |
|
protected array | $fillable | The attributes that are mass assignable. |
Methods
Validate the points and frames of this annotation.
Round the floats of the points array to 2 decimals before saving.
Scope a query to only include annotations that are visible for a certain user.
Scope a query to only include annotations that have a certain label attached.
Scope a query to only include annotations allowed by the session for the user.
The file, this annotation belongs to.
The labels that are attached to this annotation.
Get the file_id attribute
The video, this annotation belongs to.
Get the interpolated points at a specific point of time.
Get the interpolated points of this annotation between the specified frames.
Get the points of this annotation prepared for interpolation.
Interpolate between two points arrays.
Convert the points array of a rectangle (frame) to points that can be interpolated.
Convert points that can be interpolated back to the points of a rectangle (frame).
Details
at line 98
validatePoints(array $points = [])
Validate the points and frames of this annotation.
at line 81
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.
in
Annotation at line 45
Builder
scopeVisibleFor(Builder $query, User $user)
Scope a query to only include annotations that are visible for a certain user.
in
Annotation at line 78
Builder
scopeWithLabel(Builder $query, Label $label)
Scope a query to only include annotations that have a certain label attached.
in
Annotation at line 98
Builder
scopeAllowedBySession(Builder $query, AnnotationSession $session, User $user)
Scope a query to only include annotations allowed by the session for the user.
at line 48
BelongsTo
file()
The file, this annotation belongs to.
at line 68
HasMany
labels()
The labels that are attached to this annotation.
at line 58
int
getFileIdAttribute()
Get the file_id attribute
in
Annotation at line 179
BelongsTo
shape()
The shape of this annotation.
in
Annotation at line 187
array
getPoints()
Get the points array of the annotation.
in
Annotation at line 195
Shape
getShape()
Get the shape of an annotation.
in
Annotation at line 203
VolumeFile
getFile()
Get the image/video, the annotation belongs to.
at line 38
BelongsTo
video()
The video, this annotation belongs to.
at line 125
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!
at line 160
protected array
interpolateBetweenFrames(int $index1, int $index2, float $progress)
Get the interpolated points of this annotation between the specified frames.
at line 187
protected array
getInterpolationPoints()
Get the points of this annotation prepared for interpolation.
at line 210
protected array
interpolateNaive(array $from, array $to, float $progress)
Interpolate between two points arrays.
at line 225
protected array
rectangleToInterpolationPoints(array $points)
Convert the points array of a rectangle (frame) to points that can be interpolated.
at line 250
protected array
interpolationPointsToRectangle(array $points)
Convert points that can be interpolated back to the points of a rectangle (frame).