Removes broad-band impulsive spikes from pulse profiles. More...

#include <LawnMower.h>

Inheritance diagram for Pulsar::LawnMower:
Pulsar::Mower Pulsar::Transformation< Integration > Pulsar::Algorithm Reference::Able Reference::HeapTracked

Public Member Functions

 LawnMower ()
 Default constructor.
 ~LawnMower ()
 Destructor.
void set_threshold (float sigma)
 Set the threshold above which samples are mown.
void set_baseline_estimator (BaselineEstimator *)
 Set the BaselineEstimator used to find the baseline.
BaselineEstimatorget_baseline_estimator () const
Public Member Functions inherited from Pulsar::Mower
 Mower ()
 Default constructor.
virtual TextInterface::Parserget_interface ()
 Get the text interface to the mower attributes.
void transform (Integration *)
 Set the Profile from which baseline PhaseWeight will be computed.
float get_threshold () const
virtual void set_median_smoothing (float turns)
 Set the size of the window used during median smoothing.
float get_median_smoothing () const
virtual void set_broadband (bool)
 If set, search for spikes in fscrunched (DM=0) total.
virtual void set_prune (const PhaseWeight *prune_mask)
 If set, mow only the points flagged in the prune mask.
const PhaseWeightget_prune () const
virtual void add_precondition (Functor< bool(Profile *, PhaseWeight *) >)
 One or more preconditions can be added.
Public Member Functions inherited from Pulsar::Transformation< Integration >
void operator() (Integration *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 (PhaseWeight *mask, const Profile *difference)
 Find the spikes in median smoothed difference and flag them in mask.
Protected Member Functions inherited from Pulsar::Mower
virtual bool build_mask (Profile *profile)
 Create mask and return true if all preconditions are satisfied.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

Reference::To< OnPulseThresholdmower
 Masks all points above a threshold.
Reference::To< PhaseWeightinclude
 Points to be included in baseline estimator used by mower.
Protected Attributes inherited from Pulsar::Mower
Reference::To< PhaseWeightmowed
 Points to be mowed.
Reference::To< const PhaseWeightprune
 Specific points to be pruned.
float median_smoothing_turns
 Size of median smoothing window in turns.
float cutoff_threshold
 Cutoff threshold.
bool broadband
 Search for spikes in fscrunch (DM=0) total.
std::vector< Functor< bool(Profile *, PhaseWeight *) > > precondition
 Preconditions.

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

Removes broad-band impulsive spikes from pulse profiles.

This original version of the lawn mower algorithm makes use of various baseline estimators but is too sensitive to outliers. It is better to use the RobustMower class.

Member Function Documentation

◆ compute()

void Pulsar::LawnMower::compute ( PhaseWeight * mask,
const Profile * difference )
protectedvirtual

Find the spikes in median smoothed difference and flag them in mask.

Implements Pulsar::Mower.

References Pulsar::ProfileAmps::get_amps(), Pulsar::ProfileAmps::get_nbin(), include, and mower.

◆ set_threshold()

void Pulsar::LawnMower::set_threshold ( float madm)
virtual

Set the threshold above which samples are mown.

Reimplemented from Pulsar::Mower.

References mower, and Pulsar::Mower::set_threshold().

Referenced by LawnMower().


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

Generated using doxygen 1.14.0