Electric Tiger DAQ  1.0.0
Data Acquisition Software for the Electric Tiger Experiment
Public Member Functions | List of all members
ModeTrack Class Reference

Base Class for mode tracking algorithims; designed to be wrapped with Swig and called from Python module. More...

#include <modetrack.h>

Public Member Functions

void SetBackground (const std::vector< data_triple< double > > &background_list)
 Set background data which will be subtracted from each measurement. More...
 
double GetPeaksGauss (const std::vector< data_triple< double > > &power_list, int mod_number)
 Identify minima peaks in a list of power data using Gaussian filtering. More...
 
double GetPeaksBiLat (const std::vector< data_triple< double > > &power_list, int mod_number)
 Identify minima peaks in a list of power data using Bilateral filtering. More...
 
double GetMaxPeak (const std::vector< data_triple< double > > &power_list)
 Find a local maximum in a list of data. More...
 
void SetLowerBound (double frequency)
 
void SetUpperBound (double frequency)
 

Detailed Description

Base Class for mode tracking algorithims; designed to be wrapped with Swig and called from Python module.

Member Function Documentation

double ModeTrack::GetMaxPeak ( const std::vector< data_triple< double > > &  power_list)

Find a local maximum in a list of data.

This method applies the same Gaussian Blur/Derivative filter combination that 'GetPeaks' uses, but does not make reference to the estimated peak positions. If multiple peaks are identified take the one with the highest overall value. This function is designed to be called when identifying peaks when looking at a transmission measurement.

Returns
Frequency of maxima, if one is found. Otherwise return value will be 0.
double ModeTrack::GetPeaksBiLat ( const std::vector< data_triple< double > > &  power_list,
int  mod_number 
)

Identify minima peaks in a list of power data using Bilateral filtering.

This function is very similar to GetPeaksGauss() except for the method that is used to filter data. This function makes use of a Bilateral filter for data pre-processing.

See https://users.cs.duke.edu/~tomasi/papers/tomasi/tomasiIccv98.pdf for more details.

Parameters
data_strstring containing power data that should be searched through. Needs to be in the a list of values seperated by commas, eg $ \{p_1,p_2,...,p_n\}$
mode_numberIdentify which mode should be tracked. Choices are 0,1,2 and 3.
Returns
The frequency of the requested mode in MHz. If the requested mode was not found a value of 0 will be returned.
double ModeTrack::GetPeaksGauss ( const std::vector< data_triple< double > > &  power_list,
int  mod_number 
)

Identify minima peaks in a list of power data using Gaussian filtering.

This function is designed to be called by the main control code during data taking. The main control program will collect reflection measurements and call this function to identify the position of the mode of desire.

Parameters
data_strstring containing power data that should be searched through. Needs to be in the a list of values seperated by commas, eg $ \{p_1,p_2,...,p_n\}$
mode_numberIdentify which mode should be tracked. Choices are 0,1,2 and 3.
Returns
The frequency of the requested mode in MHz. If the requested mode was not found a value of 0 will be returned.
void ModeTrack::SetBackground ( const std::vector< data_triple< double > > &  background_list)

Set background data which will be subtracted from each measurement.

Parameters
background_strstring of power values seperated by commas, eg $ \{p_1,p_2,...,p_n\}$

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