Pulsar::DoubleMedian Class Reference

Median smooth in time then frequency. More...

#include <DoubleMedian.h>

Inheritance diagram for Pulsar::DoubleMedian:
Pulsar::TimeFrequencySmooth Pulsar::Algorithm Reference::Able Reference::HeapTracked

Public Member Functions

virtual void smooth (std::vector< float > &smoothed, std::vector< float > &raw, std::vector< float > &weight, std::vector< float > &freqs, std::vector< float > &times)
 Smooth the data given in raw, output to smoothed. More...
 
void set_freq_range (float r)
 
float get_freq_range () const
 
void set_time_range (float r)
 
float get_time_range () const
 
TextInterface::Parserget_interface ()
 Return a text interface that can be used to configure this instance. More...
 
DoubleMedianclone () const
 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
 

Protected Attributes

float freq_range
 
float time_range
 
- Protected Attributes inherited from Pulsar::TimeFrequencySmooth
unsigned nsub
 
unsigned nchan
 
unsigned npol
 

Additional Inherited Members

- Static Public Member Functions inherited from Pulsar::TimeFrequencySmooth
static TimeFrequencySmoothfactory (const std::string &name)
 Create a new instance of TimeFrequencySmooth based on name.
 
static const std::vector< TimeFrequencySmooth * > & children ()
 Returns a list of available TimeFrequencySmooth 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 Member Functions inherited from Pulsar::TimeFrequencySmooth
void check_dimensions (std::vector< float > &smoothed, std::vector< float > &raw, std::vector< float > &weight, std::vector< float > &freqs, std::vector< float > &times)
 
unsigned idx (unsigned isubint, unsigned ichan) const
 Index into (nsub, nchan) arrays.
 
unsigned idx (unsigned isubint, unsigned ichan, unsigned ipol) const
 Index into (nsub, nchan, npol) arrays.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Detailed Description

Median smooth in time then frequency.

Median smooth in time direction then in frequency direction. Uses physical units (MHz, seconds) rather than numbers of channels to be more robust to discontinuities.

Member Function Documentation

◆ get_interface()

TextInterface::Parser * Pulsar::DoubleMedian::get_interface ( )
virtual

Return a text interface that can be used to configure this instance.

Get the text interface to the configuration attributes.

Reimplemented from Pulsar::TimeFrequencySmooth.

◆ smooth()

void Pulsar::DoubleMedian::smooth ( std::vector< float > &  smoothed,
std::vector< float > &  raw,
std::vector< float > &  weight,
std::vector< float > &  freqs,
std::vector< float > &  times 
)
virtual

Smooth the data given in raw, output to smoothed.

Both data arrays have dims (nsub, nchan, npol), slow to fast. weight array has dims (nsub, nchan).

Implements Pulsar::TimeFrequencySmooth.


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

Generated using doxygen 1.8.17