NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.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: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef SEGMENTERLIB_DUMMYSEGMENTER_HPP_
19 #define SEGMENTERLIB_DUMMYSEGMENTER_HPP_
20 
21 #include "modules/Segmenter/ISegmenter.hpp"
22 #include "modules/NvMultiObjectTracker/NvTrackerParams.hpp"
23 #include "modules/NvMultiObjectTracker/NvTrackedObject.hpp"
24 
27 {
28 public:
31 
37  DummySegmenterConfigParams(const std::string &configFilePath, const std::string moduleName);
38 
43  DummySegmenterConfigParams(const YAML::Node &fn);
44 
49  void read(const YAML::Node &fn) override;
50 
53 };
54 
56 class DummySegmenter : public ISegmenter
57 {
58 public:
63  DummySegmenter(const std::string &configFilePath);
64 
66  virtual ~DummySegmenter();
67 
74  void initialize(
75  const SourceFrameInfo &frameInfo, const uint maxTargetsPerStream,
76  const std::shared_ptr<NvTrackedObjectManager> &targetManager
77  ) override;
78 
83  void queryParams(NvMOTQuery &paramsQuery) override;
84 
89  void localize(const std::map<NvMOTStreamId, NvMOTFrame *>& inputMeta) override;
90 
95  void update(const std::map<NvMOTStreamId, NvMOTFrame *>& inputMeta) override;
96 
102  void outputMaskObj(const std::shared_ptr<NvTrackedObject> target, NvMOTMask& mask) override;
103 
108  void removeStream(const NvMOTStreamId videoStreamId) override;
109 
111  bool isInitialized() override { return m_isInit; }
112 
115 
116 protected:
117  bool m_isInit;
119 };
120 
121 #endif // SEGMENTERLIB_DUMMYSEGMENTER_HPP_
DummySegmenter::DummySegmenter
DummySegmenter(const std::string &configFilePath)
Construct a DummySegmenter instance from configuration.
DummySegmenter::localize
void localize(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta) override
Localize and segment target in a new frame.
DummySegmenterConfigParams::read
void read(const YAML::Node &fn) override
Load configuration values from a YAML node.
DummySegmenter::initialize
void initialize(const SourceFrameInfo &frameInfo, const uint maxTargetsPerStream, const std::shared_ptr< NvTrackedObjectManager > &targetManager) override
Initialize variables and allocate memories.
SEGMENTER_TYPES
SEGMENTER_TYPES
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/ISegmenter.hpp:26
DummySegmenter::m_isInit
bool m_isInit
Segmenter status if initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:117
DummySegmenter::update
void update(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta) override
Update Segmenter after data association.
DummySegmenter::isInitialized
bool isInitialized() override
Report whether the module is initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:111
uint
unsigned int uint
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:25
DummySegmenterConfigParams::DummySegmenterConfigParams
DummySegmenterConfigParams()
Construct a DummySegmenterConfigParams instance.
NvTrackerParams
Provides common loading helpers for tracker configuration parameters.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackerParams.hpp:35
DummySegmenter::~DummySegmenter
virtual ~DummySegmenter()
Release resources owned by the DummySegmenter instance.
NvMOTStreamId
uint64_t NvMOTStreamId
Definition: includes/nvdstracker.h:53
DummySegmenterConfigParams::m_debugVerboseLevel
int m_debugVerboseLevel
Debug message verbose mode level.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:51
DummySegmenter::removeStream
void removeStream(const NvMOTStreamId videoStreamId) override
Remove a stream's Segmenter features.
DummySegmenter::queryParams
void queryParams(NvMOTQuery &paramsQuery) override
Populate the capabilities reported to the tracker.
DummySegmenter::m_params
DummySegmenterConfigParams m_params
Config params for Segmenter module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:118
_NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
Definition: includes/nvdstracker.h:420
ISegmenter
Defines the interface for target segmentation modules.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/ISegmenter.hpp:35
DummySegmenterConfigParams::m_segmenterType
SEGMENTER_TYPES m_segmenterType
The type of Segmenter.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:52
DummySegmenter::outputMaskObj
void outputMaskObj(const std::shared_ptr< NvTrackedObject > target, NvMOTMask &mask) override
Output segmentation mask of a target.
SourceFrameInfo
Information about the input source frames for the input frame batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:49
DummySegmenter
Provides a no-op target segmenter implementation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:56
_NvMOTMask
Holds the segmentaiton mask of an object.
Definition: includes/nvdstracker.h:225
DummySegmenter::getSegmenterType
const SEGMENTER_TYPES getSegmenterType() override
Get the configured segmenter type.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:114
DummySegmenterConfigParams
Stores configuration for a segmenter implementation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Segmenter/DummySegmenter.hpp:26