Conscience Core
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
conscience_core::ai::CscEntityDetectionState Class Reference

#include <CscEntityDetectionState.h>

Public Member Functions

 operator string () const
 
vector< ptr< TrackedObject > > updateDetectionState (const cv::Mat &pristineImage, cv::Mat &processedImage, ptr< detector_engine::DetectionResult > detectionResult, bool trackingEnabled)
 
ptr< TrackedObjectgetTrackedObject (int uid) const
 
const vector< ptr< TrackedObject > > & getTrackedObjects () const
 
void trackObject (ptr< TrackedObject > object)
 
ptr< TrackedObjectuntrackObject (const int trackedObjectUid)
 
vector< ptr< TrackedObject > > clear ()
 
template<class Rep , class Period >
vector< ptr< TrackedObject > > untrackObjectsAbsentFor (duration< Rep, Period > maxAbsenceDuration)
 
template<class Rep , class Period >
vector< ptr< TrackedObject > > untrackObjectsMissingActualDetectionFor (duration< Rep, Period > maxDuration)
 
ptr< TrackedObjectgetClosestObject (const CscPoint3d *fromReferencePoint, bool requireActualDetection=false) const
 
ptr< TrackedObjectgetCurrentPersonFall ()
 
CscEntityAlertIdentificationStategetAlertIdentificationState ()
 
void resetIdentificationState ()
 

Public Attributes

map< string, double > previousCarePulseValues
 
map< string, double > previousCareRedonValues
 
bool pulseDisconnectedAlertSent = false
 
bool redonDisconnectedAlertSent = false
 
bool hasReceivedCareSureValues = false
 
bool hasReceivedCarePulseValues = false
 
unsigned long long lastRedonSensorTimestamp = 0
 
unsigned long long lastPulseSensorTimestamp = 0
 
system_clock::time_point lastUpdateTime = system_clock::now()
 

Static Public Attributes

static constexpr unsigned long long framesWithPersonRatioPeriodMillis = 60'000
 

Member Function Documentation

◆ clear()

vector< ptr< TrackedObject > > conscience_core::ai::CscEntityDetectionState::clear ( )

◆ getAlertIdentificationState()

CscEntityAlertIdentificationState & conscience_core::ai::CscEntityDetectionState::getAlertIdentificationState ( )

this is a state dedicated to alert detection. It should not be used by another component than alertIdentificationService

◆ getClosestObject()

ptr< TrackedObject > conscience_core::ai::CscEntityDetectionState::getClosestObject ( const CscPoint3d fromReferencePoint,
bool  requireActualDetection = false 
) const

◆ getCurrentPersonFall()

ptr< TrackedObject > conscience_core::ai::CscEntityDetectionState::getCurrentPersonFall ( )

◆ getTrackedObject()

ptr< TrackedObject > conscience_core::ai::CscEntityDetectionState::getTrackedObject ( int  uid) const

◆ getTrackedObjects()

const vector< ptr< TrackedObject > > & conscience_core::ai::CscEntityDetectionState::getTrackedObjects ( ) const

◆ operator string()

conscience_core::ai::CscEntityDetectionState::operator string ( ) const

◆ resetIdentificationState()

void conscience_core::ai::CscEntityDetectionState::resetIdentificationState ( )

◆ trackObject()

void conscience_core::ai::CscEntityDetectionState::trackObject ( ptr< TrackedObject object)

◆ untrackObject()

ptr< TrackedObject > conscience_core::ai::CscEntityDetectionState::untrackObject ( const int  trackedObjectUid)

returns null if object not found in track list

◆ untrackObjectsAbsentFor()

template<class Rep , class Period >
vector<ptr<TrackedObject> > conscience_core::ai::CscEntityDetectionState::untrackObjectsAbsentFor ( duration< Rep, Period >  maxAbsenceDuration)
inline

Remove tracked objects which haven't been detected for maxAbsenceDuration (x milliseconds for instance)

◆ untrackObjectsMissingActualDetectionFor()

template<class Rep , class Period >
vector<ptr<TrackedObject> > conscience_core::ai::CscEntityDetectionState::untrackObjectsMissingActualDetectionFor ( duration< Rep, Period >  maxDuration)
inline

Remove tracked objects which haven't been actually detected for maxDuration (x milliseconds for instance) This will remove objects tracked by internal tracker but which we cannot match through regular detection. Indeed, sometimes, tracker starts tracking something which is not precise enough and stays stucked on a static rectangle in the image

◆ updateDetectionState()

vector< ptr< TrackedObject > > conscience_core::ai::CscEntityDetectionState::updateDetectionState ( const cv::Mat &  pristineImage,
cv::Mat &  processedImage,
ptr< detector_engine::DetectionResult detectionResult,
bool  trackingEnabled 
)

Member Data Documentation

◆ framesWithPersonRatioPeriodMillis

constexpr unsigned long long conscience_core::ai::CscEntityDetectionState::framesWithPersonRatioPeriodMillis = 60'000
staticconstexpr

◆ hasReceivedCarePulseValues

bool conscience_core::ai::CscEntityDetectionState::hasReceivedCarePulseValues = false

◆ hasReceivedCareSureValues

bool conscience_core::ai::CscEntityDetectionState::hasReceivedCareSureValues = false

◆ lastPulseSensorTimestamp

unsigned long long conscience_core::ai::CscEntityDetectionState::lastPulseSensorTimestamp = 0

◆ lastRedonSensorTimestamp

unsigned long long conscience_core::ai::CscEntityDetectionState::lastRedonSensorTimestamp = 0

◆ lastUpdateTime

system_clock::time_point conscience_core::ai::CscEntityDetectionState::lastUpdateTime = system_clock::now()

◆ previousCarePulseValues

map<string, double> conscience_core::ai::CscEntityDetectionState::previousCarePulseValues

◆ previousCareRedonValues

map<string, double> conscience_core::ai::CscEntityDetectionState::previousCareRedonValues

◆ pulseDisconnectedAlertSent

bool conscience_core::ai::CscEntityDetectionState::pulseDisconnectedAlertSent = false

◆ redonDisconnectedAlertSent

bool conscience_core::ai::CscEntityDetectionState::redonDisconnectedAlertSent = false

The documentation for this class was generated from the following files: