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. More...
 
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.


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

Generated using doxygen 1.8.17