15#ifndef WSFBAYESCLASSIFICATION_HPP
16#define WSFBAYESCLASSIFICATION_HPP
18#include "wsf_mil_export.h"
144 virtual void SetTrack(
const WsfTrack& aTrack, std::vector<WsfBayesAttribute>& aAttributeValueList);
181 void AddAttributeProtoRange(
const std::string& aAttName,
const AttributePair& aAttributeValuePair);
183 void AddAttributeProtoSigma(
const std::string& aAttName,
const AttributePair& aAttributeValuePair);
185 virtual size_t GetCorrelationCount(
const TrackAccessor& aTrackAccessor);
186 virtual double GetEllipticalGate95Percent(
const TrackAccessor& aTrackAccessor);
187 virtual double GetEllipticalGate(
const TrackAccessor& aTrackAccessor,
double aChiSqPointMult = 1.0);
189 virtual double GetProbabilityDistribution(
const TrackAccessor& aTrackAccessor);
229 const char*
GetName()
const override {
return "speed"; }
243 const char*
GetName()
const override {
return "alt"; }
257 const char*
GetName()
const override {
return "iff"; }
258 bool HasAttribute(
const WsfTrack* aTrack)
override;
271 const char*
GetName()
const override {
return "pri"; }
286 const char*
GetName()
const override {
return "freq"; }
304 const char*
GetName()
const override {
return "pw"; }
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfTrackListT< WsfLocalTrack > WsfLocalTrackList
Definition WsfTrackList.hpp:89
A parse-once re-use object super-class, to get to the track attributes.
Definition WsfClassificationProcessor.hpp:29
WsfAccessorAltitude()=default
bool HasAttribute(const WsfTrack *aTrack) override
Definition WsfBayesClassification.hpp:244
const char * GetName() const override
Definition WsfBayesClassification.hpp:243
~WsfAccessorAltitude() override=default
WsfAccessorFreq()=default
const char * GetName() const override
Definition WsfBayesClassification.hpp:286
~WsfAccessorFreq() override=default
bool HasAttribute(const WsfTrack::Signal &aSignal) override
Definition WsfBayesClassification.hpp:287
~WsfAccessorIFF() override=default
const char * GetName() const override
Definition WsfBayesClassification.hpp:257
bool HasAttribute(const WsfTrack::Signal &aSignal) override
Definition WsfBayesClassification.hpp:272
~WsfAccessorPRI() override=default
const char * GetName() const override
Definition WsfBayesClassification.hpp:271
bool HasAttribute(const WsfTrack::Signal &aSignal) override
Definition WsfBayesClassification.hpp:305
const char * GetName() const override
Definition WsfBayesClassification.hpp:304
~WsfAccessorPW() override=default
~WsfAccessorSpeed() override=default
const char * GetName() const override
Definition WsfBayesClassification.hpp:229
bool HasAttribute(const WsfTrack *aTrack) override
Definition WsfBayesClassification.hpp:230
WsfAccessorSpeed()=default
WsfAttributeAccessor()=default
virtual const char * GetName() const =0
virtual ~WsfAttributeAccessor()=default
virtual bool HasAttribute(const WsfTrack *aTrack)=0
virtual bool GetAttribute(const WsfTrack *aTrack, WsfBayesAttribute &aAttribute)=0
Definition WsfBayesClassification.hpp:56
virtual ~WsfAttributeMeasure()=default
virtual double GetEllipticalGate(double aValue, double aChiSqPointMult)
Elliptical distance.
Definition WsfBayesClassification.cpp:98
friend class WsfBayesClassifier
Definition WsfBayesClassification.hpp:82
void SetRange(const AttributePair &aAttributeValuePair)
Data range from CSV, data inputs.
Definition WsfBayesClassification.cpp:142
virtual void AssertValid()
Definition WsfBayesClassification.cpp:170
virtual double GetProbabilityDistribution(double aValue)
Returns the standard BC statistical distance or probability density function (PDF) value,...
Definition WsfBayesClassification.cpp:129
WsfAttributeMeasure()
Definition WsfBayesClassification.hpp:58
void SetSigma(const AttributePair &aAttributeValuePair)
Definition WsfBayesClassification.cpp:160
double mAverage
Definition WsfBayesClassification.hpp:83
double mVariance
Definition WsfBayesClassification.hpp:84
Definition WsfBayesClassification.hpp:214
static WsfTrackClassifier * CreateClassifier()
There can be multiple classifiers.
Definition WsfBayesClassification.cpp:549
WsfCompoundAttributeMeasure()
Definition WsfBayesClassification.cpp:178
friend class WsfBayesClassifier
Definition WsfBayesClassification.hpp:105
double GetEllipticalGate(double aValue, double aChiSqPointMult) override
Elliptical distance.
Definition WsfBayesClassification.cpp:199
double GetProbabilityDistribution(double aValue) override
Returns the standard BC statistical distance or probability density function (PDF) value,...
Definition WsfBayesClassification.cpp:222
std::vector< WsfAttributeMeasure * > mMultiModes
Definition WsfBayesClassification.hpp:106
WsfAttributeMeasure * AddMode()
Definition WsfBayesClassification.cpp:240
std::string mTypeName
Definition WsfBayesClassification.hpp:192
WsfEntityPrototype()
Definition WsfBayesClassification.cpp:361
bool mDebug
Definition WsfBayesClassification.hpp:195
WsfStringId mTypeNameID
Definition WsfBayesClassification.hpp:193
virtual ~WsfEntityPrototype()=default
std::string GetTypeName()
Definition WsfBayesClassification.hpp:180
std::map< std::string, WsfCompoundAttributeMeasure * > mName2Attribase
Definition WsfBayesClassification.hpp:194
Like the Tracker and used by a Tracker, it parses out all valid signal attributes.
Definition WsfBayesClassification.hpp:140
virtual void SetTrack(const WsfTrack &aTrack, std::vector< WsfBayesAttribute > &aAttributeValueList)
Definition WsfBayesClassification.cpp:265
std::vector< WsfSignalAttributeAccessor * > mSignalAccessorsMaster
Definition WsfBayesClassification.hpp:147
WsfSignalAccessor()
Definition WsfBayesClassification.cpp:250
virtual ~WsfSignalAccessor()=default
virtual bool HasAttribute(const WsfTrack::Signal &aSignal)=0
virtual ~WsfSignalAttributeAccessor()=default
WsfSignalAttributeAccessor()=default
virtual bool GetAttribute(const WsfTrack::Signal &aSignal, WsfBayesAttribute &aAttribute)=0
virtual const char * GetName() const =0
std::vector< WsfAttributeAccessor * > mAttributeAccessorMaster
Definition WsfBayesClassification.hpp:167
size_t GetAttributeCount() const
Definition WsfBayesClassification.hpp:160
WsfTrackAccessorDeep()
Definition WsfBayesClassification.cpp:303
void GetAttribute(size_t i, WsfBayesAttribute &aAttribute) const
Polled by "each" entity proto.
Definition WsfBayesClassification.hpp:163
WsfSignalAccessor mSignalAccessor
Definition WsfBayesClassification.hpp:166
virtual void SetTrack(const WsfTrack &aTrack)
Definition WsfBayesClassification.cpp:332
std::vector< WsfBayesAttribute > mAttributeValueList
Definition WsfBayesClassification.hpp:168
size_t GetAttributeCount()
Definition WsfBayesClassification.hpp:159
Definition WsfTrackClassifier.hpp:26
double mPulseRepetitionInterval
Definition WsfTrack.hpp:61
double mLowerFrequency
Definition WsfTrack.hpp:59
double mPulseWidth
Definition WsfTrack.hpp:62
double mUpperFrequency
Definition WsfTrack.hpp:60
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
WsfTrack_Signal Signal
Definition WsfTrack.hpp:122
Definition WsfBayesClassification.hpp:38
double mFirst
Definition WsfBayesClassification.hpp:39
double mSecond
Definition WsfBayesClassification.hpp:40
These structures are used for parsing learning data, and the subsequent insertion into the prototype.
Definition WsfBayesClassification.hpp:32
std::string mFirst
Definition WsfBayesClassification.hpp:33
std::string mSecond
Definition WsfBayesClassification.hpp:34
Definition WsfBayesClassification.hpp:44
double mSigma
Definition WsfBayesClassification.hpp:49
double mValue
Definition WsfBayesClassification.hpp:47
const char * mName
Definition WsfBayesClassification.hpp:46