Perform Spectral Kurtosis on Input Timeseries, creating output Time Series. More...

#include <SpectralKurtosis.h>

Inheritance diagram for dsp::SpectralKurtosis:
dsp::Transformation< TimeSeries, TimeSeries > dsp::Operation dsp::HasInput< TimeSeries > dsp::HasOutput< TimeSeries > OwnStream Reference::Able Reference::HeapTracked

Public Member Functions

 SpectralKurtosis ()
 Default constructor.
 
 ~SpectralKurtosis ()
 Destructor.
 
bool get_order_supported (TimeSeries::Order order) const
 
void load_configuration (const std::string &filename)
 Load configuration from YAML filename.
 
void set_M (unsigned _M)
 
void set_M (const std::vector< unsigned > &)
 
void set_noverlap (unsigned _nover)
 Set the number of overlapping regions per time sample.
 
void set_noverlap (const std::vector< unsigned > &)
 
void set_thresholds (float _std_devs)
 Set the RFI thresholds with the specified factor.
 
void set_thresholds (const std::vector< float > &)
 
void set_detect_time_freq (bool flag=true)
 Evaluate SK for every time sample and frequency channel.
 
void set_detect_freq (bool flag=true)
 Evaluate SK for every frequency channel after integrating over all time samples.
 
void set_detect_time (bool flag=true)
 Evaluate SK for every time sample after integrating over all frequency channels.
 
void set_omit_outliers (bool flag=true)
 On detecting an outlier, omit sample from any future computation of SK. More...
 
unsigned get_nchan () const
 Get the number of frequency channels for which SK is computed.
 
unsigned get_npol () const
 Get the number of polarizations for which SK is computed.
 
void set_channel_range (unsigned start, unsigned end)
 Set the channel range to conduct detection.
 
void reserve ()
 Reserve the maximum amount of memory required. More...
 
void prepare ()
 Prepare for data operations. More...
 
void prepare_output ()
 
double get_delay_time () const override
 Get the time delay of this operation, if any, in seconds.
 
unsigned get_M () const
 The number of time samples used to calculate the SK statistic.
 
unsigned get_excision_threshold () const
 The excision threshold in number of standard deviations.
 
void get_filtered_sum (std::vector< float > &sum) const
 Total SK statistic for each poln/channel, post filtering.
 
void get_filtered_hits (std::vector< uint64_t > &hits) const
 Hits on filtered average for each channel.
 
void get_unfiltered_sum (std::vector< float > &sum) const
 Total SK statistic for each poln/channel, before filtering.
 
uint64_t get_unfiltered_hits () const
 Hits on unfiltered SK statistic, same for each channel.
 
void reset_count ()
 The arrays will be reset when count_zapped is next called.
 
void set_engine (Engine *)
 
bool get_report () const
 
void set_report (bool _report)
 
bool has_zero_DM_input () const
 Return true if the zero_DM_input attribute has been set.
 
virtual void set_zero_DM_input (TimeSeries *zero_DM_input)
 
virtual const TimeSeriesget_zero_DM_input () const
 
virtual TimeSeriesget_zero_DM_input ()
 
virtual void set_zero_DM_buffering_policy (BufferingPolicy *policy)
 
bool has_zero_DM_buffering_policy () const
 
BufferingPolicyget_zero_DM_buffering_policy () const
 
bool get_zero_DM () const
 get the zero_DM flag
 
void set_zero_DM (bool _zero_DM)
 set the zero_DM flag
 
- Public Member Functions inherited from dsp::Transformation< TimeSeries, TimeSeries >
 Transformation (const char *_name, Behaviour _type)
 All sub-classes must specify name and capacity for inplace operation.
 
virtual ~Transformation ()
 Destructor.
 
void reserve ()
 Set the size of the output to that of the input by default.
 
void set_input (const TimeSeries *input)
 Set the container from which input data will be read.
 
void set_output (TimeSeries *output)
 Set the container into which output data will be written.
 
Behaviour get_type () const
 Return the Transformation type.
 
virtual void set_buffering_policy (BufferingPolicy *policy)
 Set the policy for buffering input and/or output data.
 
bool has_buffering_policy () const
 Returns true if buffering_policy is set.
 
BufferingPolicyget_buffering_policy () const
 
void reset_min_samps ()
 Reset minimum_samps_can_process.
 
std::string name (const std::string &function) const
 String preceding output in verbose mode.
 
virtual void set_cerr (std::ostream &os) const
 Set verbosity ostream.
 
- Public Member Functions inherited from dsp::Operation
 Operation (const char *name)
 All sub-classes must specify a unique name. More...
 
 Operation (const Operation &)
 Copy constructor.
 
virtual ~Operation ()
 Virtual destructor.
 
virtual bool operate ()
 Call this method to operate on data Returns false on failure. More...
 
virtual void add_extensions (Extensions *)
 Add any extensions.
 
virtual void combine (const Operation *)
 Combine accumulated results with another operation. More...
 
virtual void report () const
 Report operation statistics.
 
virtual void reset ()
 Reset accumulated results to intial values. More...
 
std::string get_name () const
 Return the unique name of this operation.
 
double get_total_time () const
 Return the total time spent on this Operation in seconds.
 
double get_elapsed_time () const
 Get the time spent in the last invocation of operate()
 
virtual uint64_t get_total_weights () const
 Return the total number of timesample weights encountered. More...
 
virtual uint64_t get_discarded_weights () const
 Return the number of invalid timesample weights encountered.
 
int get_id ()
 Inquire the unique instantiation id.
 
virtual Function get_function () const
 Get the function classification of this operation.
 
virtual void set_scratch (Scratch *)
 Set the scratch space.
 
bool scratch_was_set () const
 
virtual uint64_t bytes_storage () const
 The number of bytes of additional storage used by the operation.
 
virtual uint64_t bytes_scratch () const
 The number of bytes of scratch space used by the operation. More...
 
- Public Member Functions inherited from OwnStream
 OwnStream (const OwnStream &)
 
const OwnStreamoperator= (const OwnStream &)
 
virtual void set_cout (std::ostream &) const
 
- Public Member Functions inherited from Reference::Able
 Able (const Able &)
 
Ableoperator= (const Able &)
 
unsigned get_reference_count () const
 
- Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
 
HeapTrackedoperator= (const HeapTracked &)
 
bool __is_on_heap () const
 
- Public Member Functions inherited from dsp::HasInput< TimeSeries >
virtual ~HasInput ()
 Destructor.
 
const TimeSeriesget_input () const
 Return pointer to the container from which input data will be read.
 
bool has_input () const
 Returns true if input is set.
 
- Public Member Functions inherited from dsp::HasOutput< TimeSeries >
virtual ~HasOutput ()
 Destructor.
 
virtual TimeSeriesget_output () const
 Return pointer to the container into which output data will be written.
 
bool has_output () const
 Returns true if output is set.
 

Public Attributes

EventEmitter< Reporter< float > > float_reporter
 
EventEmitter< Reporter< unsigned char > > char_reporter
 
- Public Attributes inherited from dsp::Transformation< TimeSeries, TimeSeries >
Callback< Transformation * > pre_transformation
 Functions called before the transformation takes place.
 
Callback< Transformation * > post_transformation
 Functions called after the transformation takes place.
 

Protected Member Functions

void transformation ()
 Perform the transformation on the input time series.
 
- Protected Member Functions inherited from dsp::Transformation< TimeSeries, TimeSeries >
virtual bool can_operate ()
 Return false if the input doesn't have enough data to proceed.
 
virtual void operation ()
 Define the Operation pure virtual method.
 
virtual void vchecks ()
 Makes sure input & output are okay before calling transformation()
 
- Protected Member Functions inherited from dsp::Operation
virtual void set_name (const std::string &_name)
 Set the name!
 
int timers_index (const std::string &op_name)
 Returns the index in the 'timers' array of a particular timer.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Protected Attributes

Reference::To< Engine > engine
 Interface to alternate processing engine (e.g. GPU)
 
- Protected Attributes inherited from dsp::Transformation< TimeSeries, TimeSeries >
Reference::To< BufferingPolicybuffering_policy
 The buffering policy in place (if any)
 
int64_t minimum_samps_can_process
 If input doesn't have this many samples, operate() returns false.
 
- Protected Attributes inherited from dsp::Operation
Scratchscratch
 Shared scratch space, if needed.
 
bool set_scratch_called
 
std::string name
 Operation name.
 
uint64_t discarded_weights
 Number of time sample weights encountered that are flagged invalid.
 
uint64_t total_weights
 Total number of time sample weights encountered.
 
RealTimer optime
 Stop watch records the amount of time spent performing this operation.
 
int id
 Unique instantiation id.
 
bool prepared
 Set true when preparation optimizations are completed.
 
- Protected Attributes inherited from dsp::HasInput< TimeSeries >
Reference::To< const TimeSeriesinput
 Container from which input data will be read.
 
- Protected Attributes inherited from dsp::HasOutput< TimeSeries >
Reference::To< TimeSeriesoutput
 Container into which output data will be written.
 

Additional Inherited Members

- Public Types inherited from dsp::Operation
enum  Function { Producer, Procedural, Structural }
 The function of the operator. More...
 
- Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 
- Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 
static void operator delete (void *location, void *ptr)
 
static void operator delete (void *location)
 
static size_t get_heap_queue_size ()
 
- Static Public Attributes inherited from dsp::Operation
static bool record_time = false
 Global flag enables stopwatch to record the time spent operating. More...
 
static bool report_time = true
 Global flag enables report of time spent in operation on descruction. More...
 
static bool verbose = false
 Global verbosity flag.
 
static int operation_status = 0
 Operations can set this to non-zero in operation() if they fail.
 
static bool check_state = true
 Operations should perform internal consistency checks.
 
static int instantiation_count = 0
 Counts how many Operation instantiations there have been Used for setting the unique instantiation ID. More...
 

Detailed Description

Perform Spectral Kurtosis on Input Timeseries, creating output Time Series.

Output will be in time, frequency, polarization order

Member Function Documentation

◆ prepare()

void dsp::SpectralKurtosis::prepare ( )
virtual

Prepare for data operations.

This method enables optimizations by some derived classes

Reimplemented from dsp::Operation.

References Signal::Coherence, Signal::Intensity, Signal::Nyquist, Signal::PPQQ, and Signal::Stokes.

◆ prepare_output()

void dsp::SpectralKurtosis::prepare_output ( )

ensure output parameters are configured correctly

References Signal::Intensity, dsp::TimeSeries::OrderTFP, and Signal::PPQQ.

◆ reserve()

void dsp::SpectralKurtosis::reserve ( )
virtual

Reserve the maximum amount of memory required.

This avoids the need to reallocate and copy later

Reimplemented from dsp::Operation.

◆ set_omit_outliers()

void dsp::SpectralKurtosis::set_omit_outliers ( bool  flag = true)
inline

On detecting an outlier, omit sample from any future computation of SK.

This applies when computing SK for multiple resolutions and when integrating over time or frequency.


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

Generated using doxygen 1.8.17