GenerateFeatureVectors
abstract class GenerateFeatureVectors extends Job implements ShouldQueue
Traits
Constants
| DINO_PATCH_SIZE |
Size of a square input patch for generating feature vectors with DINO. |
Methods
Get the bounding box of an annotation
Modify a bounding box so it adheres to the aspect ratio given by width and height.
Adjust the position and size of the box so it is contained in a box with the given dimensions.
Get the bounding box of a point annotation.
Get the bounding box of a circle annotation.
Get the bounding box of an annotation that is no point, circle or whole frame.
Round and cast box values to int.
Get the byte string of the cropped and resized patch for the Python worker.
Send the PNG image crop to the Python worker and return the feature vector array.
Details
at line 29
array
getAnnotationBoundingBox(array $points, Shape $shape, int $pointPadding = self::DINO_PATCH_SIZE / 2, int $boxPadding = 0, int $minSize = 32)
Get the bounding box of an annotation
at line 78
array
ensureBoxAspectRatio(array $box, int $aspectWidth, int $aspectHeight)
Modify a bounding box so it adheres to the aspect ratio given by width and height.
at line 116
makeBoxContained(array $box, int|null $maxWidth, int|null $maxHeight)
Adjust the position and size of the box so it is contained in a box with the given dimensions.
at line 142
protected array
getPointBoundingBox(array $points, int $padding)
Get the bounding box of a point annotation.
at line 155
protected array
getCircleBoundingBox(array $points)
Get the bounding box of a circle annotation.
at line 168
protected array
getPolygonBoundingBox(array $points)
Get the bounding box of an annotation that is no point, circle or whole frame.
at line 188
protected array
makeBoxIntegers(array $box)
Round and cast box values to int.
at line 193
protected array
generateAnnotationBoxes(VolumeFile $file, Collection $annotations)
No description
at line 219
protected string
getCropBufferForPyworker(Image $image, array $box)
Get the byte string of the cropped and resized patch for the Python worker.
at line 230
protected array
sendPyworkerRequest(string $buffer)
Send the PNG image crop to the Python worker and return the feature vector array.