SciDAVis
1.D4
|
#include <FFTFilter.h>
Public Types | |
enum | FilterType { LowPass = 1, HighPass = 2, BandPass = 3, BandBlock = 4 } |
Public Member Functions | |
void | enableOffset (bool offset=true) |
Enables/Disables the DC offset when applying a Band Pass/Band block filter. | |
FFTFilter (ApplicationWindow *parent, Graph *g, const QString &curveTitle, int m=1) | |
FFTFilter (ApplicationWindow *parent, Graph *g, const QString &curveTitle, double start, double end, int m=1) | |
void | setBand (double lowFreq, double highFreq) |
Sets the cutoff frequencies. To be used only for the Band Pass and Band block filters. | |
void | setCutoff (double f) |
Sets the cutoff frequency. To be used only for Low Pass and High Pass filters. | |
void | setFilterType (int type) |
void | setFilterType (FilterType type) |
Public Member Functions inherited from Filter | |
int | dataSize () |
Returns the size of the fitted data set. | |
bool | error () |
Filter (ApplicationWindow *parent, Table *t=0, const char *name=0) | |
Filter (ApplicationWindow *parent, Graph *g=0, const char *name=0) | |
virtual QString | legendInfo () |
Output string added to the plot as a new legend. | |
virtual bool | run () |
Actually does the job. Should be reimplemented in derived classes. | |
void | setColor (int colorId) |
Sets the color of the output fit curve. | |
void | setColor (const QString &colorName) |
Sets the color of the output fit curve. Provided for convenience. To be used in scripts only! | |
virtual void | setDataCurve (int curve, double start, double end) |
bool | setDataFromCurve (const QString &curveTitle, Graph *g=0) |
bool | setDataFromCurve (const QString &curveTitle, double from, double to, Graph *g=0) |
void | setInterval (double from, double to) |
Changes the data range if the source curve was already assigned. Provided for convenience. | |
void | setMaximumIterations (int iter) |
Sets the maximum number of iterations to be performed during an iterative session. | |
void | setOutputPoints (int points) |
Sets the number of points in the output curve. | |
void | setOutputPrecision (int digits) |
Sets the precision used for the output. | |
void | setTolerance (double eps) |
Sets the tolerance used by the GSL routines. | |
virtual void | showLegend () |
Adds a new legend to the plot. Calls virtual legendInfo() | |
~Filter () |
Private Member Functions | |
void | calculateOutputData (double *x, double *y) |
Calculates the data for the output curve and store it in the X an Y vectors. | |
void | init (int m) |
Private Attributes | |
FilterType | d_filter_type |
The filter type. | |
double | d_high_freq |
Upper edge of the band for Band Pass and Band block filters. | |
double | d_low_freq |
Cutoff frequency for Low Pass and High Pass filters. Lower edge of the band for Band Pass and Band block filters. | |
bool | d_offset |
Flag telling if the DC offset must be added/substracted when applying a Band Pass/Band block filter respectively. |
Additional Inherited Members | |
Protected Member Functions inherited from Filter | |
QwtPlotCurve * | addResultCurve (double *x, double *y) |
Adds the result curve to the target output plot window. Creates a hidden table and frees the input data from memory. | |
int | curveIndex (const QString &curveTitle, Graph *g) |
Performs checks and returns the index of the source data curve if OK, -1 otherwise. | |
virtual bool | isDataAcceptable () |
virtual QString | logInfo () |
Output string added to the log pannel of the application. | |
virtual void | output () |
Performs the data analysis and takes care of the output. | |
Protected Attributes inherited from Filter | |
QwtPlotCurve * | d_curve |
The curve to be analysed. | |
int | d_curveColorIndex |
Color index of the result curve. | |
QString | d_explanation |
String explaining the operation in the comment of the result table and in the project explorer. | |
double | d_from |
Data interval. | |
Graph * | d_graph |
The graph where the result curve should be displayed. | |
bool | d_init_err |
Error flag telling if something went wrong during the initialization phase. | |
int | d_max_iterations |
Maximum number of iterations per fit. | |
int | d_min_points |
Minimum number of data points necessary to perform the operation. | |
int | d_n |
Size of the data arrays. | |
int | d_points |
Number of result points to de calculated and displayed in the output curve. | |
int | d_prec |
Precision (number of significant digits) used for the results output. | |
bool | d_sort_data |
Specifies if the filter needs sorted data as input. | |
Table * | d_table |
A table source of data. | |
double | d_to |
double | d_tolerance |
GSL Tolerance, if ever needed... | |
double * | d_x |
x data set to be analysed | |
double * | d_y |
y data set to be analysed |
FFTFilter::FFTFilter | ( | ApplicationWindow * | parent, |
Graph * | g, | ||
const QString & | curveTitle, | ||
int | m = 1 |
||
) |
References Filter::init(), and Filter::setDataFromCurve().
FFTFilter::FFTFilter | ( | ApplicationWindow * | parent, |
Graph * | g, | ||
const QString & | curveTitle, | ||
double | start, | ||
double | end, | ||
int | m = 1 |
||
) |
References Filter::init(), and Filter::setDataFromCurve().
|
privatevirtual |
Calculates the data for the output curve and store it in the X an Y vectors.
Reimplemented from Filter.
References Filter::d_explanation, d_filter_type, d_high_freq, d_low_freq, Filter::d_n, d_offset, Filter::d_points, Filter::d_x, and Filter::d_y.
|
inline |
Enables/Disables the DC offset when applying a Band Pass/Band block filter.
References d_offset.
Referenced by FilterDialog::filter().
|
private |
References d_high_freq, d_low_freq, Filter::d_n, d_offset, Filter::d_points, and setFilterType().
void FFTFilter::setBand | ( | double | lowFreq, |
double | highFreq | ||
) |
Sets the cutoff frequencies. To be used only for the Band Pass and Band block filters.
References d_filter_type, d_high_freq, Filter::d_init_err, and d_low_freq.
Referenced by FilterDialog::filter().
void FFTFilter::setCutoff | ( | double | f | ) |
Sets the cutoff frequency. To be used only for Low Pass and High Pass filters.
References d_filter_type, and d_low_freq.
Referenced by FilterDialog::filter().
void FFTFilter::setFilterType | ( | int | type | ) |
References d_filter_type, and Filter::d_init_err.
Referenced by init().
|
inline |
References setFilterType().
Referenced by setFilterType().
|
private |
The filter type.
Referenced by calculateOutputData(), setBand(), setCutoff(), and setFilterType().
|
private |
Upper edge of the band for Band Pass and Band block filters.
Referenced by calculateOutputData(), init(), and setBand().
|
private |
Cutoff frequency for Low Pass and High Pass filters. Lower edge of the band for Band Pass and Band block filters.
Referenced by calculateOutputData(), init(), setBand(), and setCutoff().
|
private |
Flag telling if the DC offset must be added/substracted when applying a Band Pass/Band block filter respectively.
Referenced by calculateOutputData(), enableOffset(), and init().