WSF
WsfBayesClassifier.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 WSFBAYESCLASSIFIER_HPP
13#define WSFBAYESCLASSIFIER_HPP
14
15#include "wsf_mil_export.h"
16
17#include <map>
18
21
29class WSF_MIL_EXPORT WsfBayesClassifier : public WsfTrackClassifier
30{
31public:
33 WsfBayesClassifier(const WsfBayesClassifier& aSrc) = default;
35 ~WsfBayesClassifier() override = default;
36 WsfTrackClassifier* Clone() override;
37 bool ProcessInput(UtInput& aInput) override;
38 virtual bool Initialize(double aSimTime);
39 TrackAccessor* GetTrackAccessor(const WsfTrack& aTrack) override;
40
44 void CreateClassList(const TrackAccessor& aTrack, ClassificationReportList& aClassificationReportList) override;
45
46 void Classify(const TrackAccessor& aTrackAccessor,
47 const ClassificationReportList& aClassificationList,
48 ClassificationReport& aClassificationReport) override;
49
50protected:
51 bool ReadCsv(const std::string& aFileName);
52 void AddDataRow(const std::string& aEntityType,
53 const std::vector<ColumnPair>& aAttributeNamePairs,
54 const std::vector<AttributePair>& aAttributeValuePairs);
55
56 void Test() override;
57
58private:
60 std::map<WsfStringId, WsfEntityPrototype*> mEntType2Proto;
61};
62
63#endif
std::vector< ClassificationReport > ClassificationReportList
Definition WsfClassificationProcessor.hpp:68
A parse-once re-use object super-class, to get to the track attributes.
Definition WsfClassificationProcessor.hpp:29
friend class WsfBayesClassification
Definition WsfBayesClassifier.hpp:59
bool ReadCsv(const std::string &aFileName)
Definition WsfBayesClassifier.cpp:190
void AddDataRow(const std::string &aEntityType, const std::vector< ColumnPair > &aAttributeNamePairs, const std::vector< AttributePair > &aAttributeValuePairs)
Definition WsfBayesClassifier.cpp:334
WsfBayesClassifier(const WsfBayesClassifier &aSrc)=default
WsfBayesClassifier()
Definition WsfBayesClassifier.cpp:39
~WsfBayesClassifier() override=default
WsfBayesClassifier & operator=(const WsfBayesClassifier &)=delete
virtual bool Initialize(double aSimTime)
Definition WsfBayesClassifier.cpp:97
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
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
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfClassificationProcessor.hpp:50
Copyrights Multiple, All Rights Reserved