Skip to main content

Class: MaskDilationPlugin

@geenee/bodyrenderers-common.MaskDilationPlugin

Dilation operation plugin for segmentation mask

Performs the dilation operation on a segmentation mask. Dilation is a morphological operations adding pixels to the boundaries of masked objects in an image. The value of the output pixel is maximum value of all pixels in the neighbourhood which radius is a plugin's parameter. Plugin depends on MaskUploadPlugin that must be attached to the renderer to upload mask buffer in texture. One may utilize MaskUpscalePlugin providing higher resolution segmentation mask that significantly increases mask's accuracy. Plugin may be combined with other mask post-processing plugins. Order in which operation on mask are applied is defined by order of plugins' attachment.

Hierarchy

Constructors

constructor

new MaskDilationPlugin(radius?, size?)

Constructor

Parameters

NameTypeDefault valueDescription
radiusnumber1Dilation operation radius
sizeSizeundefinedSize of segmentation mask

Overrides

Plugin.constructor

Properties

loaded

loaded: boolean

Loaded state

Inherited from

Plugin.loaded


ordinal

ordinal: number

Ordinal number

Inherited from

Plugin.ordinal


radius

Protected radius: number = 1

Dilation operation radius


renderer

Protected Optional renderer: Renderer<SegmentationResult>

Renderer loaded the plugin

Inherited from

Plugin.renderer


shader

Protected Optional shader: DilationShader

Dilation shader


size

Protected size: Size

Size of segmentation mask

Methods

dispose

dispose(): void

Dispose video plugin

Returns

void

Inherited from

Plugin.dispose


load

load(renderer): Promise<void>

Initialize plugin

Initializes dilation shader program.

Parameters

NameTypeDescription
rendererRenderer<SegmentationResult>Renderer this plugin is attached to

Returns

Promise<void>

Promise resolving when initialization is finished

Overrides

Plugin.load


setupCamera

setupCamera(ratio, angle): void

Set camera parameters

Could be overridden to adjust plugin's pipeline.

Parameters

NameTypeDescription
rationumberAspect ration of input video
anglenumberVertical field of view in radians

Returns

void

Inherited from

Plugin.setupCamera


setupVideo

setupVideo(size): void

Set video size

Could be overridden to adjust plugin's pipeline.

Parameters

NameTypeDescription
sizeSizeResolution of input video

Returns

void

Inherited from

Plugin.setupVideo


unload

unload(): void

Reset plugin

Releases all resources initialized in load().

Returns

void

Overrides

Plugin.unload


update

update(result, stream): Promise<void>

Update segmentation masks

Updates segmentation mask applying dilation operation. Replaces maskTex of tracks with the updated mask.

Parameters

NameTypeDescription
resultSegmentationResultResults of video processing
streamHTMLCanvasElementCurrent image texture

Returns

Promise<void>

Overrides

Plugin.update