WSF
WsfTrackClassifier.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFTRACKCLASSIFIER_HPP
13#define WSFTRACKCLASSIFIER_HPP
14
15#include "wsf_mil_export.h"
16
17#include <map>
18
20
21class TrackAccessor;
22class UtInput;
23class WsfTrack;
24
25class WSF_MIL_EXPORT WsfTrackClassifier // Truth
26{
27public:
29 WsfTrackClassifier(const WsfTrackClassifier& aSrc) = default;
31 virtual ~WsfTrackClassifier() = default;
32 virtual WsfTrackClassifier* Clone() = 0;
33 virtual bool ProcessInput(UtInput& aInput);
34
40 virtual TrackAccessor* GetTrackAccessor(const WsfTrack& aTrack);
41
45 virtual void CreateClassList(const TrackAccessor& aTrack, ClassificationReportList& aClassificationReportList);
46
47 virtual void Classify(const TrackAccessor& aTrackAccessor,
48 const ClassificationReportList& aClassificationList,
49 ClassificationReport& aClassificationReport);
50
51protected:
53 virtual void Test() {}
54
55 bool mDebug;
56};
57
61class WSF_MIL_EXPORT WsfClassifierTabulated : public WsfTrackClassifier
62{
63public:
69
75
79 ~WsfClassifierTabulated() override = default;
80 WsfTrackClassifier* Clone() override;
81 bool ProcessInput(UtInput& aInput) override;
82 bool ProcessInputIdTable(UtInput& aInput);
83 void CreateClassList(const TrackAccessor& aTrack, ClassificationReportList& aClassificationReportList) override;
84
85 void Classify(const TrackAccessor& aTrackAccessor,
86 const ClassificationReportList& aClassificationList,
87 // double aPcid,
88 ClassificationReport& aClassificationReport) override;
89
90
91protected:
92 // friend class WsfClassificationProcessor;
93 void Test() override;
94
95private:
96 void AddEntityMID(WsfStringId& aKeyEntityTypeId, double aPcid, std::vector<ClassifierInst>& aMisIdList);
97
98 // We use the same object for the misclassification database and for the output
99 std::map<WsfStringId, EntityMisIdInfo> mMisIdtable;
100};
101
102
103#endif
std::vector< ClassificationReport > ClassificationReportList
Definition WsfClassificationProcessor.hpp:68
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
A parse-once re-use object super-class, to get to the track attributes.
Definition WsfClassificationProcessor.hpp:29
bool ProcessInput(UtInput &aInput) override
Definition WsfTrackClassifier.cpp:103
void Test() override
Definition WsfTrackClassifier.cpp:288
~WsfClassifierTabulated() override=default
void Classify(const TrackAccessor &aTrackAccessor, const ClassificationReportList &aClassificationList, ClassificationReport &aClassificationReport) override
After a list of probabilities is created, it can be passed in select "one" classification for the giv...
Definition WsfTrackClassifier.cpp:351
WsfClassifierTabulated()
Definition WsfTrackClassifier.cpp:91
void CreateClassList(const TrackAccessor &aTrack, ClassificationReportList &aClassificationReportList) override
Create a list of probable classifications for the track.
Definition WsfTrackClassifier.cpp:255
WsfClassifierTabulated(const WsfClassifierTabulated &aSrc)=default
WsfTrackClassifier * Clone() override
Definition WsfTrackClassifier.cpp:98
WsfClassifierTabulated & operator=(const WsfClassifierTabulated &)=delete
bool ProcessInputIdTable(UtInput &aInput)
Definition WsfTrackClassifier.cpp:132
virtual void CreateClassList(const TrackAccessor &aTrack, ClassificationReportList &aClassificationReportList)
Create a list of probable classifications for the track.
Definition WsfTrackClassifier.cpp:52
WsfTrackClassifier()
Definition WsfTrackClassifier.cpp:35
friend class WsfClassificationProcessor
Definition WsfTrackClassifier.hpp:52
virtual ~WsfTrackClassifier()=default
WsfTrackClassifier & operator=(const WsfTrackClassifier &)=delete
bool mDebug
Definition WsfTrackClassifier.hpp:55
virtual TrackAccessor * GetTrackAccessor(const WsfTrack &aTrack)
We need to parse a track once and re-use the data a lot.
Definition WsfTrackClassifier.cpp:66
virtual bool ProcessInput(UtInput &aInput)
Definition WsfTrackClassifier.cpp:41
virtual WsfTrackClassifier * Clone()=0
virtual void Classify(const TrackAccessor &aTrackAccessor, const ClassificationReportList &aClassificationList, ClassificationReport &aClassificationReport)
After a list of probabilities is created, it can be passed in select "one" classification for the giv...
Definition WsfTrackClassifier.cpp:81
virtual void Test()
Definition WsfTrackClassifier.hpp:53
WsfTrackClassifier(const WsfTrackClassifier &aSrc)=default
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfClassificationProcessor.hpp:50
Definition WsfTrackClassifier.hpp:65
WsfStringId mEntityTypeId
Definition WsfTrackClassifier.hpp:66
double mTypeFrequency
Definition WsfTrackClassifier.hpp:67
Definition WsfTrackClassifier.hpp:71
double mPcid
Definition WsfTrackClassifier.hpp:72
ClassificationReportList mMisIdEnityList
Definition WsfTrackClassifier.hpp:73
Copyrights Multiple, All Rights Reserved