NVIDIA DeepStream SDK API Reference

8.0 Release
service-maker/includes/metadata.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
21 #ifndef NVIDIA_DEEPSTREAM_METADATA
22 #define NVIDIA_DEEPSTREAM_METADATA
23 
24 #include <functional>
25 #include <memory>
26 #include <string>
27 
28 #include "nvll_osd_struct.h"
29 #include "nvds_tracker_meta.h"
30 
31 namespace deepstream {
32 
33 #define USER_METADATA_START = (4096 + 4096 + 1)
34 
42 class Metadata {
43  public:
45  Metadata(void* data);
46 
48  virtual ~Metadata();
49 
51  virtual operator bool() { return data_ != nullptr; }
52 
53  protected:
54  void* data_; //> opaque data pointer
55 };
56 
64 template <typename T>
66  public:
68  AbstractIterator(const T& data) : data_(data) {}
69 
71  virtual ~AbstractIterator() {}
72 
74  T& operator*() { return data_; }
75 
77  T* operator->() { return &data_; }
78 
80  T& get() { return data_; }
81 
83  virtual AbstractIterator<T>& next() = 0;
84 
86  virtual bool done() = 0;
87 
89  virtual bool operator==(const AbstractIterator<T>& other) const = 0;
90 
92  bool operator!=(const AbstractIterator<T>& other) const {
93  return !(*this == other);
94  }
95 
96  protected:
97  T data_;
98 };
99 
101 class UserMetadata : public Metadata {
102  public:
103  typedef std::unique_ptr<AbstractIterator<UserMetadata>> Iterator;
104 
111  UserMetadata(void*);
113  virtual ~UserMetadata();
114 
116  virtual operator bool() override { return data_ != nullptr; }
117 
119  int metaType() const;
121  void setMetaType(int type);
122 
124  void* userData() const;
132  void setUserData(void* data, void*(*copy)(void*, void*), void(*release)(void*, void*));
133 
134  friend class BatchMetadata;
135  friend class FrameMetadata;
136  friend class ObjectMetadata;
137 
138  protected:
139  void get_(void*&);
140 };
141 
143 class ClassifierMetadata : public Metadata {
144 public:
145  typedef std::unique_ptr<AbstractIterator<ClassifierMetadata>> Iterator;
146 
153  ClassifierMetadata(void* data = nullptr);
155  virtual ~ClassifierMetadata();
156 
158  unsigned int nLabels() const;
160  unsigned int uniqueComponentId() const;
162  std::string getLabel(unsigned int nth) const;
163 
164 };
165 
172 class ObjectMetadata : public Metadata {
173  public:
174  typedef std::unique_ptr<AbstractIterator<ObjectMetadata>> Iterator;
175 
182  ObjectMetadata(void* data = nullptr);
184  virtual ~ObjectMetadata();
185 
187  unsigned int uniqueComponentId() const;
188  void setUniqueComponentId(unsigned int);
190  unsigned int classId() const;
191  void setClassId(unsigned int);
193  unsigned long int objectId() const;
194  void setObjectId(unsigned long);
196  float confidence() const;
197  void setConfidence(float);
199  float trackerConfidence() const;
200  void setTrackerConfidence(float);
202  NvOSD_RectParams& rectParams() const;
203  void setRectParams(const NvOSD_RectParams&);
205  NvOSD_MaskParams& maskParams() const;
206  void setMaskParams(const NvOSD_MaskParams&);
208  NvOSD_TextParams& textParams() const;
209  void setTextParams(const NvOSD_TextParams&);
211  std::string label() const;
212  void setLabel(std::string);
214  NvBbox_Coords& nvBboxInfo() const;
215  void setNvBboxInfo(const NvBbox_Coords&);
216 
218  unsigned int iterate(const std::function<void(const ClassifierMetadata&)>& func) const;
221 
223  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
225  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
226 
228  void append(const UserMetadata&);
229 
230  friend class FrameMetadata;
231 };
232 
233 
234 class FrameMetadata;
243  public:
244  EventMessageUserMetadata(void* data=nullptr);
245  virtual ~EventMessageUserMetadata();
246 
248  void generate(
249  const ObjectMetadata&,
250  const FrameMetadata&,
251  const std::string sensor="N/A",
252  const std::string uri="N/A",
253  const std::vector<std::string>labels=std::vector<std::string>());
254 };
255 
262 class RoiMetadata : public Metadata {
263  public:
264  RoiMetadata(void* data=nullptr);
265  virtual ~RoiMetadata();
266 
268  NvOSD_RectParams& rectParams() const;
269 
272 
275 
277  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
279  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
280 
282  unsigned int iterate(const std::function<void(const ClassifierMetadata&)>& func) const;
285 };
286 
287 
293 class Tensor;
295  public:
296  TensorOutputUserMetadata(void* data=nullptr);
298  virtual ~TensorOutputUserMetadata();
299 
301  unsigned int uniqueId() const;
303  std::unordered_map<std::string, Tensor*> getLayers();
304 };
305 
315 public:
321  SegmentationUserMetadata(void* data=nullptr);
322 
325 
327  virtual ~SegmentationUserMetadata();
328 
330  unsigned int uniqueId() const;
331 
333  unsigned int getClasses() const;
334 
336  unsigned int getWidth() const;
337 
339  unsigned int getHeight() const;
340 
342  const int* getClassMap() const;
343 
345  const float* getClassProbabilitiesMap() const;
346 };
347 
354 template <class C, int N>
356  public:
357  UserMetadataTemplate(void* data=nullptr) : UserMetadata(data) {}
360 
361 
362  C& get() {
363  void* p = nullptr;
364  this->get_(p);
365  return *((C*)p);
366  }
367 
368  static void* copy(void* data, void* user_data) {
369  void* p = nullptr;
371  C*& src = (C*&) p;
372  C* dst = new C(*src);
373  return dst;
374  }
375 
376  static void free(void* data, void* user_data) {
377  void* p = nullptr;
379  C*& src = (C*&) p;
380  delete src;
381  p = nullptr;
382  }
383 };
384 
392 class DisplayMetadata : public Metadata {
393  public:
394  typedef std::unique_ptr<AbstractIterator<DisplayMetadata>> Iterator;
395 
402  DisplayMetadata(void* data = nullptr);
404  virtual ~DisplayMetadata();
405 
407  unsigned int nRects() const;
409  unsigned int nLabels() const;
411  unsigned int nLines() const;
413  unsigned int nArrows() const;
415  unsigned int nCircles() const;
416 
418  bool add(NvOSD_TextParams&);
420  bool add(NvOSD_RectParams&);
422  bool add(NvOSD_LineParams&);
424  bool add(NvOSD_ArrowParams&);
426  bool add(NvOSD_CircleParams&);
427 
428  friend class FrameMetadata;
429 };
430 
437 class FrameMetadata : public Metadata {
438  public:
439  typedef std::unique_ptr<AbstractIterator<FrameMetadata>> Iterator;
440 
447  FrameMetadata(void* data=nullptr);
449  virtual ~FrameMetadata();
450 
452  unsigned int iterate(const std::function<void(const ObjectMetadata&)>& func) const;
455 
457  unsigned int iterate(const std::function<void(const DisplayMetadata&)>& func) const;
460 
462  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
464  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
465 
467  unsigned int padIndex() const;
469  unsigned int batchId() const;
471  int frameNum() const;
473  unsigned int sourceId() const;
475  unsigned int sourceWidth() const;
477  unsigned int sourceHeight() const;
478 
480  unsigned int pipelineWidth() const;
482  unsigned int pipelineHeight() const;
483 
485  uint64_t bufferPTS() const;
487  uint64_t ntpTimestamp() const;
488 
490  void append(const DisplayMetadata&);
492  void append(const UserMetadata&);
494  void append(const ObjectMetadata&);
495 
496  friend class BatchMetadata;
497 };
498 
505  public:
506  PreprocessTensorMetadata(void* data=nullptr);
507  virtual ~PreprocessTensorMetadata();
508 
510  std::string getName() const;
511 
513  unsigned int getMetaId() const;
514 
516  Tensor* getTensor() const;
517 
518  operator bool() const {
519  return data_ != nullptr;
520  }
521 
522  protected:
523  void * data_;
524 };
525 
526 
533  public:
534  PreprocessBatchUserMetadata(void* data=nullptr);
537 
539  std::vector<unsigned int> getTargetUniqueIds() const;
540 
542  std::vector<RoiMetadata> getRois() const;
543 
546 
548  bool initPreprocessTensorMetadata(const std::string& name, unsigned int meta_id, unsigned int unique_id, Tensor* tensor);
549 };
550 
552  public:
553  ObjectVisibilityUserMetadata(void* data=nullptr);
554  ObjectVisibilityUserMetadata(const UserMetadata& user_meta);
556 
558  float getVisibility() const;
559 };
560 
562  public:
563  ObjectImageFootLocationUserMetadata(void* data=nullptr);
566 
568  std::pair<float, float> getImageFootLocation() const;
569 };
570 
572  public:
573  Object3DBBoxUserMetadata(void* data=nullptr);
574  Object3DBBoxUserMetadata(const UserMetadata& user_meta);
575  virtual ~Object3DBBoxUserMetadata();
576  NvDsObj3DBbox* get3DBbox() const;
577 };
578 
580  public:
581  TrackerPastFrameUserMetadata(void* data=nullptr);
582  TrackerPastFrameUserMetadata(const UserMetadata& user_meta);
585 };
586 
588 public:
589  StructureUserMetadata(void* data=nullptr);
590  StructureUserMetadata(const UserMetadata& user_meta);
591  virtual ~StructureUserMetadata();
592  void* getStructureUserMetadata() const;
593  int getStructureUserMetatype() const;
594 };
595 
603  public:
604  ObjectReidUserMetadata(void* data=nullptr);
605  ObjectReidUserMetadata(const UserMetadata& user_meta);
608  virtual ~ObjectReidUserMetadata();
609 
611  unsigned int featureSize() const;
612 
614  const float* featureVector() const;
615 
625  void setFeatureVector(const float* features, unsigned int size);
626 };
627 
629 public:
635  AnalyticsObjInfo(void* data=nullptr);
636 
638  AnalyticsObjInfo(const UserMetadata& user_meta);
639 
641  virtual ~AnalyticsObjInfo();
642 
644  std::vector<std::string> getRoiStatus() const;
645 
647  std::vector<std::string> getOcStatus() const;
648 
650  std::vector<std::string> getLcStatus() const;
651 
653  std::string getDirStatus() const;
654 
656  unsigned int getUniqueId() const;
657 
659  std::string getObjStatus() const;
660 };
661 
663 public:
669  AnalyticsFrameMeta(void* data=nullptr);
670 
672  AnalyticsFrameMeta(const UserMetadata& user_meta);
673  virtual ~AnalyticsFrameMeta();
674 
678  std::unordered_map<std::string, bool> getOcStatus() const;
679 
683  std::unordered_map<std::string, uint32_t> getObjInROIcnt() const;
684 
688  std::unordered_map<std::string, uint64_t> getObjLCCurrCnt() const;
689 
693  std::unordered_map<std::string, uint64_t> getObjLCCumCnt() const;
694 
696  unsigned int getUniqueId() const;
697 
701  std::unordered_map<int, uint32_t> getObjCnt() const;
702 };
703 
713 class BatchMetadata : public Metadata {
714  public:
721  BatchMetadata(void *data = nullptr);
722 
724  virtual ~BatchMetadata();
725 
727  unsigned int iterate(const std::function<void(const FrameMetadata&)>& func) const;
730 
732  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
734  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
735 
737  bool acquire(DisplayMetadata&);
739  bool acquire(FrameMetadata&);
741  bool acquire(ObjectMetadata&);
747  bool acquire(UserMetadata&);
751  template<class C, int N>
753  user_meta = acquireUserMetadata_(
755  );
756  return user_meta ? true : false;
757  }
758 
760  void append(const FrameMetadata&);
762  void append(const UserMetadata&);
763 
765  unsigned int nFrames() const;
766 
767  protected:
769  void* data, unsigned int type, void*(*copy)(void*, void*), void(*free)(void*, void*)
770  );
771 };
772 
773 
774 }
775 
776 #endif
deepstream::AbstractIterator::done
virtual bool done()=0
check if the end is reached
_NvOSD_LineParams
Holds the box parameters of a line to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:183
deepstream::StructureUserMetadata::StructureUserMetadata
StructureUserMetadata(void *data=nullptr)
deepstream::EventMessageUserMetadata::EventMessageUserMetadata
EventMessageUserMetadata(void *data=nullptr)
deepstream::ObjectReidUserMetadata::setFeatureVector
void setFeatureVector(const float *features, unsigned int size)
Set the ReID feature vector.
deepstream::AbstractIterator::operator==
virtual bool operator==(const AbstractIterator< T > &other) const =0
check if two iterator point to the same position
deepstream::PreprocessBatchUserMetadata::getTargetUniqueIds
std::vector< unsigned int > getTargetUniqueIds() const
@Brief Get the target unique ids
deepstream::ClassifierMetadata
Meta generated from a classifier.
Definition: service-maker/includes/metadata.hpp:143
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:140
deepstream::ObjectMetadata::iterate
unsigned int iterate(const std::function< void(const ClassifierMetadata &)> &func) const
Iterate the classifier metadata within it.
deepstream::AnalyticsFrameMeta::getObjLCCumCnt
std::unordered_map< std::string, uint64_t > getObjLCCumCnt() const
Map of total cumulative count of Line crossing for configured lines, which can be accessed using key,...
_NvOSD_MaskParams
Holds the mask parameters of the segment to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:172
deepstream::ObjectImageFootLocationUserMetadata::~ObjectImageFootLocationUserMetadata
virtual ~ObjectImageFootLocationUserMetadata()
deepstream::AnalyticsObjInfo::~AnalyticsObjInfo
virtual ~AnalyticsObjInfo()
Destructor for AnalyticsObjInfo.
deepstream::ObjectMetadata::Iterator
std::unique_ptr< AbstractIterator< ObjectMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:174
deepstream::ObjectVisibilityUserMetadata::getVisibility
float getVisibility() const
Get the visibility of the object.
deepstream::RoiMetadata::frameMetadata
FrameMetadata frameMetadata() const
Get the frame metadata.
deepstream::AnalyticsFrameMeta::getObjCnt
std::unordered_map< int, uint32_t > getObjCnt() const
Map of total count of objects for each class ID, which can be accessed using key, value pair; where k...
deepstream::AbstractIterator
metadata iterator template
Definition: service-maker/includes/metadata.hpp:65
deepstream::ObjectMetadata::objectId
unsigned long int objectId() const
Number to identify the object which is tracked in the scene.
deepstream::BatchMetadata::acquire
bool acquire(UserMetadataTemplate< C, N > &user_meta)
Initialize an empty user metadata through template.
Definition: service-maker/includes/metadata.hpp:752
deepstream::SegmentationUserMetadata::~SegmentationUserMetadata
virtual ~SegmentationUserMetadata()
Destructor for SegmentationUserMetadata.
deepstream::UserMetadata::metaType
int metaType() const
Get the meta type.
deepstream::UserMetadataTemplate::UserMetadataTemplate
UserMetadataTemplate(void *data=nullptr)
Definition: service-maker/includes/metadata.hpp:357
deepstream::ObjectReidUserMetadata::~ObjectReidUserMetadata
virtual ~ObjectReidUserMetadata()
deepstream::AbstractIterator::data_
T data_
Definition: service-maker/includes/metadata.hpp:97
deepstream::ObjectMetadata::append
void append(const UserMetadata &)
Append user metadata to the object.
deepstream::UserMetadata::setUserData
void setUserData(void *data, void *(*copy)(void *, void *), void(*release)(void *, void *))
Set user data with copy and release functions.
deepstream::AnalyticsFrameMeta::AnalyticsFrameMeta
AnalyticsFrameMeta(void *data=nullptr)
Constructor for AnalyticsFrameMeta.
deepstream::AnalyticsFrameMeta::~AnalyticsFrameMeta
virtual ~AnalyticsFrameMeta()
deepstream::UserMetadata::UserMetadata
UserMetadata(void *)
Constructor through opaque data pointer.
deepstream::ObjectReidUserMetadata::ObjectReidUserMetadata
ObjectReidUserMetadata(void *data=nullptr)
deepstream::AnalyticsObjInfo::getRoiStatus
std::vector< std::string > getRoiStatus() const
Get the ROI status.
deepstream::DisplayMetadata::nRects
unsigned int nRects() const
Number of the rectangles.
deepstream::AbstractIterator::operator->
T * operator->()
Dereference the associated metadata as a pointer.
Definition: service-maker/includes/metadata.hpp:77
_NvOSD_CircleParams
Holds circle parameters to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:226
deepstream::PreprocessTensorMetadata
Metadata for preprocessed tensor.
Definition: service-maker/includes/metadata.hpp:504
deepstream::TrackerPastFrameUserMetadata::TrackerPastFrameUserMetadata
TrackerPastFrameUserMetadata(void *data=nullptr)
deepstream::FrameMetadata::pipelineWidth
unsigned int pipelineWidth() const
Picture width of the pipeline.
deepstream::ObjectMetadata::setLabel
void setLabel(std::string)
deepstream::ObjectMetadata::setObjectId
void setObjectId(unsigned long)
deepstream::ObjectMetadata::maskParams
NvOSD_MaskParams & maskParams() const
Holds mask parameters for the object.
deepstream::RoiMetadata::initiateIterator
void initiateIterator(UserMetadata::Iterator &, int meta_type) const
Get the iterator for user metadata within it.
deepstream::DisplayMetadata::~DisplayMetadata
virtual ~DisplayMetadata()
Destructor.
deepstream::PreprocessBatchUserMetadata
User metadata for preprocess batch.
Definition: service-maker/includes/metadata.hpp:532
deepstream::ObjectMetadata::classId
unsigned int classId() const
Number to identify the class of the object.
deepstream::UserMetadataTemplate::get
C & get()
Definition: service-maker/includes/metadata.hpp:362
deepstream::ObjectMetadata::textParams
NvOSD_TextParams & textParams() const
Formated text description of the object, controlling osd display.
deepstream::FrameMetadata::sourceId
unsigned int sourceId() const
Identify the source of the frame, e.g.
deepstream::UserMetadata::~UserMetadata
virtual ~UserMetadata()
Destructor.
deepstream::TensorOutputUserMetadata::~TensorOutputUserMetadata
virtual ~TensorOutputUserMetadata()
deepstream::DisplayMetadata::nLabels
unsigned int nLabels() const
Number of the labels.
deepstream::TensorOutputUserMetadata::TensorOutputUserMetadata
TensorOutputUserMetadata(void *data=nullptr)
deepstream::DisplayMetadata::nCircles
unsigned int nCircles() const
Number of the circles.
deepstream::BatchMetadata::acquireUserMetadata_
UserMetadata acquireUserMetadata_(void *data, unsigned int type, void *(*copy)(void *, void *), void(*free)(void *, void *))
deepstream::ObjectMetadata::~ObjectMetadata
virtual ~ObjectMetadata()
Destructor.
deepstream::ObjectMetadata::uniqueComponentId
unsigned int uniqueComponentId() const
Number to identify the unique component that generates the metadata.
deepstream::AnalyticsObjInfo
Definition: service-maker/includes/metadata.hpp:628
deepstream::AnalyticsObjInfo::AnalyticsObjInfo
AnalyticsObjInfo(void *data=nullptr)
Constructor for AnalyticsObjInfo.
deepstream::TrackerPastFrameUserMetadata::~TrackerPastFrameUserMetadata
virtual ~TrackerPastFrameUserMetadata()
deepstream::EventMessageUserMetadata::~EventMessageUserMetadata
virtual ~EventMessageUserMetadata()
deepstream::AnalyticsFrameMeta::getObjLCCurrCnt
std::unordered_map< std::string, uint64_t > getObjLCCurrCnt() const
Map of total count of Line crossing in current frame for configured lines, which can be accessed usin...
deepstream::PreprocessTensorMetadata::PreprocessTensorMetadata
PreprocessTensorMetadata(void *data=nullptr)
deepstream::ObjectReidUserMetadata::featureVector
const float * featureVector() const
Get the ReID feature vector (CPU pointer)
deepstream::AbstractIterator::operator!=
bool operator!=(const AbstractIterator< T > &other) const
check if two iterator point to different position
Definition: service-maker/includes/metadata.hpp:92
deepstream::BatchMetadata::iterate
unsigned int iterate(const std::function< void(const FrameMetadata &)> &func) const
Iterate the frame metadata within it.
deepstream::ObjectMetadata::nvBboxInfo
NvBbox_Coords & nvBboxInfo() const
Bounding box of the object.
deepstream::StructureUserMetadata::~StructureUserMetadata
virtual ~StructureUserMetadata()
deepstream::ObjectMetadata::initiateIterator
void initiateIterator(ClassifierMetadata::Iterator &) const
Get the iterator for object metadata within it.
deepstream::ObjectImageFootLocationUserMetadata::ObjectImageFootLocationUserMetadata
ObjectImageFootLocationUserMetadata(void *data=nullptr)
deepstream::FrameMetadata::initiateIterator
void initiateIterator(ObjectMetadata::Iterator &) const
Get the iterator for object metadata within it.
_NvOSD_ArrowParams
Holds arrow parameters to be overlaid.
Definition: sources/includes/nvll_osd_struct.h:202
deepstream::DisplayMetadata::Iterator
std::unique_ptr< AbstractIterator< DisplayMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:394
deepstream::ObjectImageFootLocationUserMetadata
Definition: service-maker/includes/metadata.hpp:561
deepstream::FrameMetadata::sourceWidth
unsigned int sourceWidth() const
Picture width of the source.
deepstream::PreprocessTensorMetadata::getTensor
Tensor * getTensor() const
Get the tensor.
deepstream::DisplayMetadata::nArrows
unsigned int nArrows() const
Number of the arrows.
deepstream::EventMessageUserMetadata
User metadata for event message.
Definition: service-maker/includes/metadata.hpp:242
deepstream::ObjectReidUserMetadata::featureSize
unsigned int featureSize() const
Get the ReID feature vector size.
deepstream::Metadata
Metadata base class.
Definition: service-maker/includes/metadata.hpp:42
deepstream::AnalyticsObjInfo::getObjStatus
std::string getObjStatus() const
Get the object status.
deepstream::PreprocessBatchUserMetadata::getPreprocessTensorMetadata
PreprocessTensorMetadata getPreprocessTensorMetadata() const
Get the preprocess tensor metadata.
deepstream::PreprocessBatchUserMetadata::initPreprocessTensorMetadata
bool initPreprocessTensorMetadata(const std::string &name, unsigned int meta_id, unsigned int unique_id, Tensor *tensor)
Initialize a preprocess tensor metadata.
deepstream::UserMetadataTemplate
Template for customized user metadata.
Definition: service-maker/includes/metadata.hpp:355
deepstream::ObjectMetadata::setRectParams
void setRectParams(const NvOSD_RectParams &)
deepstream::FrameMetadata::FrameMetadata
FrameMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::FrameMetadata::append
void append(const DisplayMetadata &)
Append display metadata to the frame.
deepstream::AbstractIterator::~AbstractIterator
virtual ~AbstractIterator()
Destructor.
Definition: service-maker/includes/metadata.hpp:71
deepstream::UserMetadata::setMetaType
void setMetaType(int type)
Set the meta type.
deepstream::ObjectMetadata
Object metadata.
Definition: service-maker/includes/metadata.hpp:172
deepstream::TensorOutputUserMetadata::getLayers
std::unordered_map< std::string, Tensor * > getLayers()
get tensor output layers
deepstream::AnalyticsFrameMeta::getObjInROIcnt
std::unordered_map< std::string, uint32_t > getObjInROIcnt() const
Map of total count of valid objects in ROI for configured ROIs, which can be accessed using key,...
deepstream::ClassifierMetadata::~ClassifierMetadata
virtual ~ClassifierMetadata()
Destructor.
deepstream::RoiMetadata::objectMetadata
ObjectMetadata objectMetadata() const
Get the object metadata.
deepstream::RoiMetadata::iterate
unsigned int iterate(const std::function< void(const UserMetadata &)> &func, int meta_type) const
Iterate the user metadata within it.
deepstream::SegmentationUserMetadata::getClassProbabilitiesMap
const float * getClassProbabilitiesMap() const
Get the class probabilities map for the segmentation.
deepstream::UserMetadata::userData
void * userData() const
Get the user data pointer.
deepstream::TensorOutputUserMetadata
Definition: service-maker/includes/metadata.hpp:294
deepstream
Definition: service-maker/includes/buffer.hpp:33
deepstream::StructureUserMetadata::getStructureUserMetadata
void * getStructureUserMetadata() const
deepstream::PreprocessBatchUserMetadata::~PreprocessBatchUserMetadata
virtual ~PreprocessBatchUserMetadata()
deepstream::ClassifierMetadata::nLabels
unsigned int nLabels() const
Number of the lables generated by the classifier.
deepstream::PreprocessBatchUserMetadata::PreprocessBatchUserMetadata
PreprocessBatchUserMetadata(void *data=nullptr)
deepstream::Metadata::~Metadata
virtual ~Metadata()
Destructor.
deepstream::TrackerPastFrameUserMetadata
Definition: service-maker/includes/metadata.hpp:579
deepstream::ObjectMetadata::setUniqueComponentId
void setUniqueComponentId(unsigned int)
deepstream::BatchMetadata::initiateIterator
void initiateIterator(FrameMetadata::Iterator &) const
Get the iterator for frame metadata within it.
deepstream::FrameMetadata::padIndex
unsigned int padIndex() const
Index of the pad from which the frame is generated.
deepstream::SegmentationUserMetadata::getClassMap
const int * getClassMap() const
Get the class map for the segmentation.
deepstream::AnalyticsFrameMeta
Definition: service-maker/includes/metadata.hpp:662
deepstream::DisplayMetadata::DisplayMetadata
DisplayMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::BatchMetadata
Holds information about a formed batch containingframes from different sources.
Definition: service-maker/includes/metadata.hpp:713
deepstream::FrameMetadata::~FrameMetadata
virtual ~FrameMetadata()
Destructor.
deepstream::Metadata::Metadata
Metadata(void *data)
Constructor through an opqaue pinter.
deepstream::ObjectReidUserMetadata::operator=
ObjectReidUserMetadata & operator=(const ObjectReidUserMetadata &)
Copy assignment operator.
deepstream::AbstractIterator::operator*
T & operator*()
Dereference the associated metadata.
Definition: service-maker/includes/metadata.hpp:74
deepstream::PreprocessTensorMetadata::getName
std::string getName() const
Get the name of the tensor.
deepstream::ObjectVisibilityUserMetadata::ObjectVisibilityUserMetadata
ObjectVisibilityUserMetadata(void *data=nullptr)
deepstream::BatchMetadata::~BatchMetadata
virtual ~BatchMetadata()
Destructor.
deepstream::ObjectMetadata::ObjectMetadata
ObjectMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::AnalyticsObjInfo::getUniqueId
unsigned int getUniqueId() const
Get the unique identifier for this metadata.
deepstream::FrameMetadata::Iterator
std::unique_ptr< AbstractIterator< FrameMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:439
deepstream::SegmentationUserMetadata
A class to handle user metadata for segmentation.
Definition: service-maker/includes/metadata.hpp:314
deepstream::AnalyticsObjInfo::getDirStatus
std::string getDirStatus() const
Get the direction status.
deepstream::UserMetadata
Base class of user defined metadata.
Definition: service-maker/includes/metadata.hpp:101
deepstream::FrameMetadata::batchId
unsigned int batchId() const
Location the frame in the batch.
deepstream::BatchMetadata::append
void append(const FrameMetadata &)
Append a frame metadata to the batch.
deepstream::UserMetadataTemplate::copy
static void * copy(void *data, void *user_data)
Definition: service-maker/includes/metadata.hpp:368
deepstream::AbstractIterator::AbstractIterator
AbstractIterator(const T &data)
Construct an iterator for an iterable metadata.
Definition: service-maker/includes/metadata.hpp:68
deepstream::DisplayMetadata
Metadata for overlay display on a frame.
Definition: service-maker/includes/metadata.hpp:392
deepstream::UserMetadataTemplate::~UserMetadataTemplate
virtual ~UserMetadataTemplate()
Definition: service-maker/includes/metadata.hpp:359
deepstream::RoiMetadata::RoiMetadata
RoiMetadata(void *data=nullptr)
deepstream::Metadata::data_
void * data_
Definition: service-maker/includes/metadata.hpp:54
deepstream::ObjectVisibilityUserMetadata::~ObjectVisibilityUserMetadata
virtual ~ObjectVisibilityUserMetadata()
deepstream::FrameMetadata::ntpTimestamp
uint64_t ntpTimestamp() const
Holds the ntp timestamp.
deepstream::ObjectMetadata::setTextParams
void setTextParams(const NvOSD_TextParams &)
deepstream::SegmentationUserMetadata::SegmentationUserMetadata
SegmentationUserMetadata(void *data=nullptr)
Constructor for SegmentationUserMetadata.
deepstream::ObjectMetadata::label
std::string label() const
A string to describe the object class.
deepstream::ClassifierMetadata::uniqueComponentId
unsigned int uniqueComponentId() const
Identifying the unique component that generates the metadata.
deepstream::UserMetadataTemplate::UserMetadataTemplate
UserMetadataTemplate(const UserMetadata &other)
Definition: service-maker/includes/metadata.hpp:358
deepstream::ObjectMetadata::setNvBboxInfo
void setNvBboxInfo(const NvBbox_Coords &)
deepstream::PreprocessTensorMetadata::getMetaId
unsigned int getMetaId() const
Get the meta id of the tensor.
deepstream::ObjectImageFootLocationUserMetadata::getImageFootLocation
std::pair< float, float > getImageFootLocation() const
Get the image foot location of the object.
deepstream::SegmentationUserMetadata::getClasses
unsigned int getClasses() const
Get the number of classes in the segmentation.
deepstream::PreprocessTensorMetadata::data_
void * data_
Definition: service-maker/includes/metadata.hpp:523
_NvOSD_TextParams
Holds parameters of text to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:115
deepstream::FrameMetadata::frameNum
int frameNum() const
Frame number.
deepstream::ObjectReidUserMetadata
User metadata for object ReID (Re-Identification) features.
Definition: service-maker/includes/metadata.hpp:602
deepstream::StructureUserMetadata::getStructureUserMetatype
int getStructureUserMetatype() const
deepstream::FrameMetadata::bufferPTS
uint64_t bufferPTS() const
Holds the presentation timestamp (PTS) of the frame.
deepstream::BatchMetadata::nFrames
unsigned int nFrames() const
Number of frames in the batch.
deepstream::Tensor
Definition: service-maker/includes/tensor.hpp:49
deepstream::AnalyticsObjInfo::getLcStatus
std::vector< std::string > getLcStatus() const
Get the line crossing status.
deepstream::RoiMetadata::~RoiMetadata
virtual ~RoiMetadata()
deepstream::AnalyticsFrameMeta::getUniqueId
unsigned int getUniqueId() const
Get the unique identifier for this metadata.
deepstream::SegmentationUserMetadata::uniqueId
unsigned int uniqueId() const
Get the unique identifier for this metadata.
deepstream::AnalyticsFrameMeta::getOcStatus
std::unordered_map< std::string, bool > getOcStatus() const
Map of boolean status of overcrowding for configured ROIs, which can be accessed using key,...
deepstream::ObjectVisibilityUserMetadata
Definition: service-maker/includes/metadata.hpp:551
_NvDsTargetMiscDataBatch
Batch of all streams of a given target misc output.
Definition: sources/includes/nvds_tracker_meta.h:107
deepstream::TrackerPastFrameUserMetadata::getTrackerMiscDataBatch
NvDsTargetMiscDataBatch * getTrackerMiscDataBatch() const
deepstream::Object3DBBoxUserMetadata::get3DBbox
NvDsObj3DBbox * get3DBbox() const
deepstream::ClassifierMetadata::Iterator
std::unique_ptr< AbstractIterator< ClassifierMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:145
deepstream::EventMessageUserMetadata::generate
void generate(const ObjectMetadata &, const FrameMetadata &, const std::string sensor="N/A", const std::string uri="N/A", const std::vector< std::string >labels=std::vector< std::string >())
generate an event by attaching an object
_NvDsObj3DBbox
Holds 3D bbox information for an object.
Definition: sources/includes/nvds_tracker_meta.h:171
deepstream::UserMetadata::get_
void get_(void *&)
deepstream::PreprocessBatchUserMetadata::getRois
std::vector< RoiMetadata > getRois() const
Get the roi list.
deepstream::RoiMetadata::rectParams
NvOSD_RectParams & rectParams() const
Get the region of interest.
deepstream::PreprocessTensorMetadata::~PreprocessTensorMetadata
virtual ~PreprocessTensorMetadata()
deepstream::Object3DBBoxUserMetadata::~Object3DBBoxUserMetadata
virtual ~Object3DBBoxUserMetadata()
deepstream::ObjectMetadata::setClassId
void setClassId(unsigned int)
deepstream::ClassifierMetadata::getLabel
std::string getLabel(unsigned int nth) const
Get the nth label.
deepstream::UserMetadataTemplate::free
static void free(void *data, void *user_data)
Definition: service-maker/includes/metadata.hpp:376
deepstream::ClassifierMetadata::ClassifierMetadata
ClassifierMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::AbstractIterator::get
T & get()
Directly access the associated metadata.
Definition: service-maker/includes/metadata.hpp:80
deepstream::FrameMetadata::pipelineHeight
unsigned int pipelineHeight() const
Picture height of the pipeline.
deepstream::StructureUserMetadata
Definition: service-maker/includes/metadata.hpp:587
deepstream::ObjectMetadata::trackerConfidence
float trackerConfidence() const
Confidence level from tracker.
deepstream::FrameMetadata::iterate
unsigned int iterate(const std::function< void(const ObjectMetadata &)> &func) const
Iterate the object metadata within it.
deepstream::DisplayMetadata::nLines
unsigned int nLines() const
Number of the lines.
deepstream::SegmentationUserMetadata::getWidth
unsigned int getWidth() const
Get the width of the segmentation map.
deepstream::SegmentationUserMetadata::getHeight
unsigned int getHeight() const
Get the height of the segmentation map.
deepstream::Object3DBBoxUserMetadata
Definition: service-maker/includes/metadata.hpp:571
deepstream::BatchMetadata::acquire
bool acquire(DisplayMetadata &)
Initialize an empty display metadata.
deepstream::TensorOutputUserMetadata::uniqueId
unsigned int uniqueId() const
id for inference instance
deepstream::Object3DBBoxUserMetadata::Object3DBBoxUserMetadata
Object3DBBoxUserMetadata(void *data=nullptr)
deepstream::ObjectMetadata::confidence
float confidence() const
Confidence level.
deepstream::ObjectMetadata::rectParams
NvOSD_RectParams & rectParams() const
Bounding box of the object.
_NvBbox_Coords
Holds unclipped bounding box coordinates of the object.
Definition: sources/includes/nvll_osd_struct.h:66
deepstream::ObjectMetadata::setConfidence
void setConfidence(float)
deepstream::RoiMetadata
ROI metadata.
Definition: service-maker/includes/metadata.hpp:262
deepstream::AbstractIterator::next
virtual AbstractIterator< T > & next()=0
advances the iterator to access the next data
deepstream::AnalyticsObjInfo::getOcStatus
std::vector< std::string > getOcStatus() const
Get the overcrowding status.
deepstream::ObjectMetadata::setTrackerConfidence
void setTrackerConfidence(float)
deepstream::FrameMetadata
Holds information for a single frame.
Definition: service-maker/includes/metadata.hpp:437
deepstream::FrameMetadata::sourceHeight
unsigned int sourceHeight() const
Picture height of the source.
deepstream::UserMetadata::Iterator
std::unique_ptr< AbstractIterator< UserMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:103
deepstream::ObjectMetadata::setMaskParams
void setMaskParams(const NvOSD_MaskParams &)
deepstream::BatchMetadata::BatchMetadata
BatchMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::DisplayMetadata::add
bool add(NvOSD_TextParams &)
Add a text label.