MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / CTracker

Method CTracker

src/Tracker/Ctracker.cpp:56–90  ·  view source on GitHub ↗

\brief CTracker::CTracker Manage tracks: create, remove, update. \param settings

Source from the content-addressed store, hash-verified

54/// \param settings
55///
56CTracker::CTracker(const TrackerSettings& settings)
57 : m_settings(settings)
58{
59 m_SPCalculator.reset();
60 SPSettings spSettings = { settings.m_distThres, 12 };
61 switch (m_settings.m_matchType)
62 {
63 case tracking::MatchHungrian:
64 m_SPCalculator = std::make_unique<SPHungrian>(spSettings);
65 break;
66 case tracking::MatchBipart:
67 m_SPCalculator = std::make_unique<SPBipart>(spSettings);
68 break;
69 case tracking::MatchLAPJV:
70 m_SPCalculator = std::make_unique<SPLAPJV>(spSettings);
71 break;
72 }
73 assert(m_SPCalculator);
74
75 for (const auto& embParam : settings.m_embeddings)
76 {
77 std::shared_ptr<EmbeddingsCalculator> embCalc = std::make_shared<EmbeddingsCalculator>();
78 if (!embCalc->Initialize(embParam.m_embeddingCfgName, embParam.m_embeddingWeightsName, embParam.m_inputLayer))
79 {
80 std::cerr << "EmbeddingsCalculator initialization error: " << embParam.m_embeddingCfgName << ", " << embParam.m_embeddingWeightsName << std::endl;
81 }
82 else
83 {
84 for (auto objType : embParam.m_objectTypes)
85 {
86 m_embCalculators.try_emplace((objtype_t)objType, embCalc);
87 }
88 }
89 }
90}
91
92///
93/// \brief CanGrayFrameToTrack

Callers

nothing calls this directly

Calls 2

resetMethod · 0.45
InitializeMethod · 0.45

Tested by

no test coverage detected