|
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().
1.8.1