Falcon
Loading...
Searching...
No Matches

Public Member Functions

void CreatePorts () override
void CompleteStreamInfo () override
void Preprocess (ProcessingContext &context) override
void Process (ProcessingContext &context) override
void Postprocess (ProcessingContext &context) override
Public Member Functions inherited from IProcessor
 IProcessor (ThreadPriority priority=PRIORITY_HIGH)
void record_metrics (uint64_t sync, uint64_t work) noexcept
void dump_benchmarks ()
const std::string name () const
const std::string type () const
unsigned int n_input_ports () const
unsigned int n_output_ports () const
const std::set< std::string > input_port_names () const
const std::set< std::string > output_port_names () const
bool has_input_port (const std::string &port)
bool has_output_port (const std::string &port)
virtual bool issource () const
virtual bool issink () const
virtual bool isfilter () const
virtual bool isautonomous () const
ThreadPriority thread_priority () const
ThreadCore thread_core () const
bool running () const
YAML::Node ExportYAML ()
void checkNonvoluntaryContextSwitches ()

Public Attributes

const std::string THRESHOLD_DEV = "threshold_dev"
const std::string SMOOTH_TIME = "smooth_time"
const std::string DETECTION_LOCKOUT_TIME = "detection_lockout_time"
const std::string STREAM_EVENTS = "stream_events"
const std::string STREAM_STATISTICS = "stream_statistics"

Protected Attributes

PortIn< MUAType > * data_in_port_
PortOut< EventType > * data_out_port_
PortOut< TimeSeriesType< double > > * stats_out_port_
BroadcasterState< double > * threshold_
BroadcasterState< double > * signal_mean_
BroadcasterState< double > * signal_dev_
BroadcasterState< bool > * burst_
FollowerState< double > * bin_size_mua_
StaticState< double > * threshold_dev_
StaticState< double > * smooth_time_
StaticState< double > * detection_lockout_time_
StaticState< bool > * stream_events_
StaticState< bool > * stats_out_
bool stats_out_enabled_
std::uint64_t stats_nsamples_
std::uint64_t block_
std::uint64_t burn_in_
double sample_rate_
double acc_
std::unique_ptr< dsp::algorithms::RunningMeanMAD > running_statistics_
std::unique_ptr< dsp::algorithms::ThresholdCrosser > threshold_detector_
const unsigned int N_STATS_OUT = 2
options::Double initial_threshold_dev_ {6.}
options::Measurement< double, false > initial_smooth_time_
options::Measurement< double, false > initial_detection_lockout_time_
options::Bool default_stream_events_ {true}
options::Bool initial_stats_out_ {true}
options::Measurement< double, false > stats_buffer_size_
Protected Attributes inherited from IProcessor
std::map< std::string, std::shared_ptr< std::ostream > > streams_
std::vector< TimePoint > test_source_timestamps_
options::OptionList options_
options::OptionList advanced_options_

Additional Inherited Members

Static Public Attributes inherited from IProcessor
static std::vector< TimingEntry > * t_metrics = nullptr
static constexpr size_t MAX_SAMPLES = 100000
Protected Member Functions inherited from IProcessor
void create_file (const std::string &prefix, const std::string &variable_name, const std::string &extension="bin")
void prepare_latency_test (ProcessingContext &context)
void save_source_timestamps_to_disk (std::uint64_t n_timestamps)
template<typename TValue>
void add_option (std::string name, TValue &value, std::string description="", bool required=false)
void remove_option (const std::string &name)
template<typename DATATYPE>
PortOut< DATATYPE > * create_output_port (std::string name, const typename DATATYPE::Parameters &parameters, const PortOutPolicy &policy)
template<typename DATATYPE>
PortOut< DATATYPE > * create_output_port (const typename DATATYPE::Parameters &parameters, const PortOutPolicy &policy)
template<typename DATATYPE>
PortIn< DATATYPE > * create_input_port (std::string name, const typename DATATYPE::Capabilities &capabilities, const PortInPolicy &policy)
template<typename DATATYPE>
PortIn< DATATYPE > * create_input_port (const typename DATATYPE::Capabilities &capabilities, const PortInPolicy &policy)
IPortIn * input_port (const std::string &port)
IPortOut * output_port (const std::string &port)
IPortIn * input_port (const PortAddress &address)
IPortOut * output_port (const PortAddress &address)
ISlotIn * input_slot (const SlotAddress &address)
ISlotOut * output_slot (const SlotAddress &address)
template<typename T>
StaticState< T > * create_static_state (std::string state, T default_value, bool shared=true, Permission external=Permission::WRITE, std::string description="")
template<typename T>
ProducerState< T > * create_producer_state (std::string state, T default_value, bool cooperative=false, Permission external=Permission::READ, std::string description="")
template<typename T>
BroadcasterState< T > * create_broadcaster_state (std::string state, T default_value, Permission external=Permission::NONE, std::string description="")
template<typename T>
FollowerState< T > * create_follower_state (std::string state, T default_value, Permission external=Permission::NONE, std::string description="")
template<typename T>
ReadableState< T > * create_readable_shared_state (const std::string &state, T default_value, Permission peers=Permission::WRITE, Permission external=Permission::NONE, std::string description="")
template<typename T>
WritableState< T > * create_writable_shared_state (const std::string &state, T default_value, Permission peers=Permission::READ, Permission external=Permission::NONE, std::string description="")
std::shared_ptr< IState > shared_state (const std::string &state)
template<class T>
void expose_method (const std::string &methodname, YAML::Node(T::*method)(const YAML::Node &))
std::function< YAML::Node(const YAML::Node &)> & exposed_method (const std::string &method)
virtual std::string default_input_port () const
virtual std::string default_output_port () const

Member Function Documentation

◆ CompleteStreamInfo()

void BurstDetector::CompleteStreamInfo ( )
overridevirtual

Reimplemented from IProcessor.

◆ CreatePorts()

void BurstDetector::CreatePorts ( )
overridevirtual

Implements IProcessor.

◆ Postprocess()

void BurstDetector::Postprocess ( ProcessingContext & context)
overridevirtual

Reimplemented from IProcessor.

◆ Preprocess()

void BurstDetector::Preprocess ( ProcessingContext & context)
overridevirtual

Reimplemented from IProcessor.

◆ Process()

void BurstDetector::Process ( ProcessingContext & context)
overridevirtual

Implements IProcessor.

Member Data Documentation

◆ initial_detection_lockout_time_

options::Measurement<double, false> BurstDetector::initial_detection_lockout_time_
protected
Initial value:
{
30., "ms", options::positive<double>(true)}

◆ initial_smooth_time_

options::Measurement<double, false> BurstDetector::initial_smooth_time_
protected
Initial value:
{10., "second",
options::positive<double>(true)}

◆ stats_buffer_size_

options::Measurement<double, false> BurstDetector::stats_buffer_size_
protected
Initial value:
{0.5, "second",
options::positive<double>(true)}

The documentation for this class was generated from the following files:
  • extensions/falcon-fklab-extensions/processors/burstdetector/burstdetector.hpp
  • extensions/falcon-fklab-extensions/processors/burstdetector/burstdetector.cpp