Find bad data using a statistic vs time and frequency. More...

#include <TimeFrequencyZap.h>

Inheritance diagram for Pulsar::TimeFrequencyZap:
Pulsar::Transformation< Archive > Pulsar::Algorithm Reference::Able Reference::HeapTracked

Public Member Functions

void transform (Archive *)
 Defined by derived classes.
 
TextInterface::Parserget_interface ()
 Get the text interface to the configuration attributes.
 
void set_expression (const std::string &)
 Set the statistical expression.
 
std::string get_expression () const
 Get the statistical expression.
 
void set_statistic (ArchiveStatistic *)
 Set the statistic.
 
ArchiveStatisticget_statistic () const
 Get the statistic.
 
void set_logarithmic (bool flag=true)
 Set flag to compute the logarithm of the statistic.
 
bool get_logarithmic () const
 Get flag to compute the logarithm of the statistic.
 
void set_smoother (TimeFrequencySmooth *)
 Set the smoother.
 
TimeFrequencySmoothget_smoother () const
 Get the smoother.
 
void set_masker (TimeFrequencyMask *)
 Set the masker.
 
TimeFrequencyMaskget_masker () const
 Get the masker.
 
void set_cutoff_threshold (float t)
 Set the cut-off threshold.
 
float get_cutoff_threshold () const
 Get the cut-off threshold.
 
void set_fscrunch (const ScrunchFactor &f)
 Set the frequency scrunch factor.
 
const ScrunchFactor get_fscrunch () const
 Get the frequency scrunch factor.
 
void set_bscrunch (const ScrunchFactor &f)
 Compute covariance matrix from bscrunched clone of data.
 
const ScrunchFactor get_bscrunch () const
 Get the phase bin scrunch factor.
 
void set_max_iterations (unsigned n)
 Set the maximum number of iterations.
 
unsigned get_max_iterations () const
 Get the maximum number of iterations.
 
void set_jobs (const std::string &p)
 Set tasks performed on clone before computing statistic.
 
std::string get_jobs () const
 Get tasks performed on clone before computing statistic.
 
void set_polarizations (const std::string &p)
 Set the list of polns to look at.
 
std::string get_polarizations () const
 Get the list of polns to look at.
 
void set_recompute (bool flag=true)
 Set flag to recompute the statistic on each iteration.
 
bool get_recompute () const
 Get flag to recompute the statistic on each iteration.
 
void set_report (bool flag=true)
 Set flag to print a one-line report.
 
bool get_report () const
 Get flag to print a one-line report.
 
void set_filename (const std::string &name)
 Set name of file to which data are printed.
 
const std::string & get_filename () const
 Get name of file to which data are printed.
 
void set_aux_filename (const std::string &name)
 Set name of file to which auxiliary data are printed.
 
const std::string & get_aux_filename () const
 Get name of file to which auxiliary data are printed.
 
- Public Member Functions inherited from Pulsar::Transformation< Archive >
void operator() (Archive *container)
 Functor interface.
 
- 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
 

Protected Member Functions

void compute_mask (Archive *data)
 computer the mask
 
virtual void compute_stat (Archive *data)
 compute the relevant statistic
 
virtual void update_mask ()
 determine the time/freq mask
 
void apply_mask (Archive *archive, const ScrunchFactor &fscrunch=ScrunchFactor::none, unsigned chan_offset=0)
 apply the current mask to the archive
 
unsigned idx (unsigned isubint, unsigned ichan) const
 Index into the freqs, mask arrays vs chan and subint.
 
unsigned idx (unsigned isubint, unsigned ichan, unsigned ipol) const
 Index into the stat array vs chan and subint and pol.
 
void iteration (Archive *archive)
 One iteration of the transformation.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Protected Attributes

std::string expression
 The statistical expression.
 
Reference::To< ArchiveStatisticstatistic
 The statistic to be derived from each profile.
 
bool logarithmic
 Use the logarithm of the statistic.
 
bool regions_from_total
 Use the archive total profile to determine on/off pulse regions.
 
bool pscrunch
 pscrunch first
 
ScrunchFactor fscrunch_factor
 Compute mask from fscrunched clone of data (twice)
 
ScrunchFactor bscrunch_factor
 Compute covariance matrix from bscrunched clone of data.
 
std::string jobs
 Tasks performed on clone before computing statistic.
 
std::string polns
 The list of polarizations to analyze.
 
Reference::To< TimeFrequencySmoothsmoother
 Method to use for constructing the smoothed stat vs time/freq/pol.
 
Reference::To< TimeFrequencyMaskmasker
 Method to use for constructing the mask.
 
unsigned nchan
 num channels in the current archive
 
unsigned nsubint
 num subints in the current archive
 
unsigned npol
 num poln in the current archive
 
std::vector< unsigned > pol_i
 List of polarizations to analyze.
 
std::vector< float > freq
 Frequencies.
 
std::vector< float > time
 Times.
 
std::vector< float > stat
 The current statistic values.
 
std::vector< float > mask
 The current weights mask.
 
unsigned max_iterations
 Maximum number of times to loop.
 
bool recompute
 Recompute the statistic on each iteration.
 
bool recompute_original
 Iterate and recompute after masking the original data.
 
bool report
 Print a report on stdout.
 
std::string filename
 Name of file to which statistics are printed on first iteration.
 
std::string aux_filename
 Name of file to which auxiliary data is printed on first iteration.
 

Additional Inherited Members

- 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 ()
 

Detailed Description

Find bad data using a statistic vs time and frequency.

Base class for algorithms that compute a statistic as a function of time and frequency within an Archive, then use this to identify and zap bad channels/subints.


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

Generated using doxygen 1.8.17