pythia.utils.ds#

Deepstream interface, utilities and customization.

class pythia.utils.ds.FrameAnalytics(*args, **kwargs)[source]#

Bases: SupportedUserMeta

Per-frame analytics from nvdsanalytics.

_abc_impl = <_abc_data object>#
_is_protocol = False#
condition() bool#
klass#

alias of NvDsAnalyticsFrameMeta

class pythia.utils.ds.ObjectAnalytics(*args, **kwargs)[source]#

Bases: SupportedUserMeta

Per-object analytics from nvdsanalytics.

_abc_impl = <_abc_data object>#
_is_protocol = False#
condition() bool#
klass#

alias of NvDsAnalyticsObjInfo

class pythia.utils.ds.SemanticMasks(*args, **kwargs)[source]#

Bases: SupportedUserMeta

Per-object semantic segmentation masks from nvinfer.

_abc_impl = <_abc_data object>#
_is_protocol = False#
condition() bool#
klass#

alias of NvDsInferSegmentationMeta

class pythia.utils.ds.SupportedUserMeta(*args, **kwargs)[source]#

Bases: Protocol

Minimum API to parse custom user meta.

_abc_impl = <_abc_data object>#
_is_protocol = True#
condition: ClassVar[Callable[[NvDsUserMeta], bool]]#

Discriminator to filteruser meta type.

klass: ClassVar[Type[Union[NvDsAnalyticsFrameMeta, NvDsAnalyticsObjInfo, NvDsInferSegmentationMeta, NvDsUserMeta, NvDsLabelInfo, NvDsFrameMeta, NvDsObjectMeta, NvDsClassifierMeta]]]#

Class to use for casting when filter passes.

pythia.utils.ds._is_analytics_meta(user_meta: NvDsUserMeta) bool[source]#
pythia.utils.ds._is_frameanalytics_meta(user_meta: NvDsUserMeta) bool[source]#
pythia.utils.ds._is_segmentation_meta(user_meta: NvDsUserMeta) bool[source]#
pythia.utils.ds.buf2batchmeta(gst_buffer: Buffer) NvDsBatchMeta[source]#

Get batch metadata from gstreamer buffer.

Parameters:

gst_buffer – gstreamer buffer, as received in a pad buffer probe.

Returns:

The deepstream metadata contained in the buffer.

See also

pyds.gst_buffer_get_nvds_batch_meta()

pythia.utils.ds.info2batchmeta(info: Gst.PadProbeInfo) pyds.NvDsBatchMeta | None[source]#

Get batch metadata from gstreamer buffer probe info.

Parameters:

info – gstreamer probe info, as received in a pad buffer probe.

Returns:

The deepstream metadata contained in the buffer.

See also

pyds.gst_buffer_get_nvds_batch_meta()

pythia.utils.ds.inject_external_classification(batch_meta: pyds.NvDsBatchMeta, obj_meta: pyds.NvDsObjectMeta, **data: dict[str, Any]) None[source]#

Inject classification metadata.

If “label” is present, also injects it into the display meta.

Parameters:
  • batch_meta – deepstream batch metadata.

  • obj_meta – deepstream object metadata to inject classification into.

  • data – parameters for pyds.NvDsLabelInfo.