Compute mask from statistic vs time/freq. More...

#include <TimeFrequencyMask.h>

Inheritance diagram for Pulsar::TimeFrequencyMask:
Pulsar::Algorithm Reference::Able Reference::HeapTracked Pulsar::InterQuartileRange Pulsar::SetThresholds Pulsar::SortedMinimumSlope Pulsar::SumThreshold

Public Member Functions

virtual unsigned update_mask (std::vector< float > &mask, std::vector< float > &stat, std::vector< float > &model, unsigned nsubint, unsigned nchan, unsigned npol)=0
 Update the mask. More...
 
virtual void set_threshold (float t)
 
virtual float get_threshold () const
 
virtual TextInterface::Parserget_interface ()
 Return a text interface that can be used to configure this instance.
 
virtual TimeFrequencyMaskclone () const =0
 Derived types must also define clone method.
 
- 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
 

Static Public Member Functions

static TimeFrequencyMaskfactory (const std::string &name)
 Create a new instance of TimeFrequencyMask based on name.
 
static const std::vector< TimeFrequencyMask * > & children ()
 Returns a list of available TimeFrequencyMask children.
 
- 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 ()
 

Protected Attributes

float threshold
 

Additional Inherited Members

- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Detailed Description

Compute mask from statistic vs time/freq.

Base class for algorithms that compute a mask (set of chans/subints to zap) from a statistic (eg off-pulse variance or similar) as a function of time and frequency within an Archive.

Member Function Documentation

◆ update_mask()

virtual unsigned Pulsar::TimeFrequencyMask::update_mask ( std::vector< float > &  mask,
std::vector< float > &  stat,
std::vector< float > &  model,
unsigned  nsubint,
unsigned  nchan,
unsigned  npol 
)
pure virtual

Update the mask.

mask is the current weights array. stat is the relevant statistic vs time/freq model is a model for how the statistic "should" look (ie a smoothed bandpass shape or similar).

mask is nsubint-by-nchan, stat and model are nsubint-by-nchan-by-npol

return value is number of points masked

Implemented in Pulsar::SumThreshold, Pulsar::InterQuartileRange, Pulsar::SortedMinimumSlope, and Pulsar::SetThresholds.


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

Generated using doxygen 1.8.17