High-performance neural signal processor for real-time sharp-wave ripple (SWR) detection.
More...
|
| void | CreatePorts () override |
| void | CompleteStreamInfo () override |
| void | Preprocess (ProcessingContext &context) override |
| void | Process (ProcessingContext &context) override |
| | Primary execution loop processing streaming samples, updating tracking metrics, and broadcasting detections.
|
| void | Postprocess (ProcessingContext &context) override |
|
| 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 () |
|
|
double | compute_value (TimeSeriesType< double >::Data *data_in, unsigned int sample) |
| | Extracts or transforms a single data point from the input pipeline for threshold analysis.
|
|
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 ¶meters, const PortOutPolicy &policy) |
| template<typename DATATYPE> |
| PortOut< DATATYPE > * | create_output_port (const typename DATATYPE::Parameters ¶meters, 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 |
|
|
PortIn< TimeSeriesType< double > > * | data_in_port_ |
| | High-density LFP input stream (1 to 256 channels).
|
|
PortOut< EventType > * | event_out_port_ |
| | Zero-latency output channel for discrete SWR event timestamps.
|
|
PortOut< TimeSeriesType< double > > * | stats_out_port_ |
| | High-throughput telemetry pipeline for baseline tracking analysis.
|
|
ProducerState< double > * | threshold_ |
|
ProducerState< double > * | signal_mean_ |
|
ProducerState< double > * | signal_dev_ |
|
BroadcasterState< bool > * | ripple_ |
|
StaticState< double > * | threshold_dev_ |
|
StaticState< double > * | detection_lockout_time_ |
|
FollowerState< bool > * | detection_enabled_ |
|
StaticState< bool > * | stream_events_ |
|
StaticState< double > * | smooth_time_ |
|
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_ |
|
options::Double | initial_threshold_dev_ {6.} |
| | Configurable baseline multiplier defining default SWR detection sensitivity.
|
| options::Measurement< double, false > | initial_smooth_time_ |
| | Measurement option managing baseline initialization window duration.
|
| options::Measurement< double, false > | initial_detection_lockout_time_ |
| | Measurement option managing the post-trigger deadtime window.
|
|
options::Bool | default_stream_events_ {true} |
| | Boolean option toggling automatic event packet routing on startup.
|
|
options::Bool | initial_stats_out_ {true} |
| | Boolean option toggling diagnostic tracking streams on startup.
|
| options::Measurement< double, false > | stats_buffer_size_ |
| | Measurement option allocating continuous data memory capacity thresholds.
|
| options::Value< unsigned int, false > | stats_downsample_factor_ |
| | Downsampling selection defining telemetry output bandwidth scaling.
|
|
options::Bool | use_power_ {true} |
| | Boolean option tracking whether evaluation uses root-mean or raw metrics.
|
|
std::map< std::string, std::shared_ptr< std::ostream > > | streams_ |
|
std::vector< TimePoint > | test_source_timestamps_ |
|
options::OptionList | options_ |
|
options::OptionList | advanced_options_ |
High-performance neural signal processor for real-time sharp-wave ripple (SWR) detection.
Designed for closed-loop electrophysiology applications. Tracks ongoing local field potential (LFP) dynamics, computes running baseline statistics (mean and Median Absolute Deviation) to establish adaptive thresholds, and triggers low-latency events upon detecting high-frequency, high-amplitude transient ripple oscillations.