ImageAnnotation
class ImageAnnotation extends Annotation
An image annotation is a region of an image that can be labeled by the users.
It consists of one or many points and has a specific shape.
Traits
Properties
| $hidden | The attributes excluded from the model's JSON form. |
from Annotation | |
| protected array<string, string> | $casts | The attributes that should be casted to native types. |
|
| $labelBOTLabels | The additional labels suggested by the LabelBOT. |
from Annotation | |
| int | $id | from Annotation | |
| array | $points | from Annotation | |
| string | $created_at | from Annotation | |
| int | $shape_id | from Annotation |
Methods
Validates a points array for the shape of this annotation.
Round the floats of the points array to 2 decimals before saving.
Counts number of distinct points
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, this annotation got assigned by the users.
Get the file_id attribute
The image, this annotation belongs to.
Details
in
HasPointsAttribute at line 16
validatePoints(array $points)
Validates a points array for the shape of this annotation.
in
HasPointsAttribute at line 68
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
HasPointsAttribute at line 80
private int
countDistinctCoordinates(array $points)
Counts number of distinct points
in
Annotation at line 53
static int
cachedCount()
Get the count of all annotations.
The value is cached for 1 hour.
in
Annotation at line 66
Builder
scopeVisibleFor(Builder $query, User $user)
Scope a query to only include annotations that are visible for a certain user.
in
Annotation at line 99
Builder
scopeWithLabel(Builder $query, Label $label)
Scope a query to only include annotations that have a certain label attached.
in
Annotation at line 119
Builder
scopeAllowedBySession(Builder $query, AnnotationSession $session, User $user)
Scope a query to only include annotations allowed by the session for the user.
at line 35
Annotation>
file()
The file, this annotation belongs to.
at line 53
AnnotationLabel, $this>
labels()
The labels, this annotation got assigned by the users.
at line 45
int
getFileIdAttribute()
Get the file_id attribute
in
Annotation at line 200
Shape, $this>
shape()
The shape of this annotation.
in
Annotation at line 208
array
getPoints()
Get the points array of the annotation.
in
Annotation at line 216
Shape
getShape()
Get the shape of an annotation.
in
Annotation at line 224
VolumeFile
getFile()
Get the image/video, the annotation belongs to.
in
Annotation at line 232
int
getId()
Get the ID of the annotation.
in
Annotation at line 242
array
getLabelBOTLabelsAttribute()
Get the LabelBOT suggested labels.
at line 27
Image, $this>
image()
The image, this annotation belongs to.