QtiPlot  0.9.8.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FFT Class Reference

#include <FFT.h>

Inheritance diagram for FFT:
Filter

Public Member Functions

MatrixamplitudesMatrix ()
 
 FFT (ApplicationWindow *parent, Table *t, const QString &realColName, const QString &imagColName=QString(), int from=1, int to=-1)
 
 FFT (ApplicationWindow *parent, QwtPlotCurve *c)
 
 FFT (ApplicationWindow *parent, QwtPlotCurve *c, double start, double end)
 
 FFT (ApplicationWindow *parent, Graph *g, const QString &curveTitle)
 
 FFT (ApplicationWindow *parent, Graph *g, const QString &curveTitle, double start, double end)
 
 FFT (ApplicationWindow *parent, Matrix *re, Matrix *im=NULL, bool inverse=false, bool shift=true, bool norm=false, bool outputPower2Sizes=true)
 
MatriximaginaryOutputMatrix ()
 
void normalizeAmplitudes (bool norm=true)
 
MatrixrealOutputMatrix ()
 
bool setDataFromTable (Table *t, const QString &realColName, const QString &imagColName=QString(), int from=0, int to=-1, bool unused=false)
 
void setInverseFFT (bool inverse=true)
 
void setSampling (double sampling)
 
void shiftFrequencies (bool shift=true)
 
- Public Member Functions inherited from Filter
int dataSize ()
 Returns the size of the input data set. More...
 
virtual void enableGraphicsDisplay (bool on=true, Graph *g=0)
 
bool error ()
 
 Filter (ApplicationWindow *parent, Table *t=0, const QString &name=QString())
 
 Filter (ApplicationWindow *parent, Graph *g=0, const QString &name=QString())
 
 Filter (ApplicationWindow *parent, Matrix *m, const QString &name=QString())
 
 Filter (ApplicationWindow *parent, QwtPlotCurve *c)
 
virtual QString legendInfo ()
 Output string added to the plot as a new legend. More...
 
GraphoutputGraph ()
 Returns a pointer to the graph where the result curve should be displayed. More...
 
QwtPlotCurve * resultCurve ()
 Returns a pointer to the plot curve created to display the results. More...
 
TableresultTable ()
 Returns a pointer to the table created to display the results. More...
 
virtual bool run ()
 Actually does the job. Should be reimplemented in derived classes. More...
 
void setColor (int colorId)
 Obsolete: sets the color of the output fit curve. More...
 
void setColor (const QColor &color)
 Sets the color of the output fit curve. More...
 
void setColor (const QString &colorName)
 Sets the color of the output fit curve. Provided for convenience. To be used in scripts only! More...
 
virtual void setDataCurve (QwtPlotCurve *curve, double start, double end)
 
bool setDataFromCurve (QwtPlotCurve *c)
 
bool setDataFromCurve (QwtPlotCurve *c, double from, double to)
 
bool setDataFromCurve (const QString &curveTitle, Graph *g=0)
 
bool setDataFromCurve (const QString &curveTitle, double from, double to, Graph *g=0)
 
void setError (bool on=true)
 
void setInterval (double from, double to)
 Changes the data range if the source curve was already assigned. Provided for convenience. More...
 
void setMaximumIterations (int iter)
 Sets the maximum number of iterations to be performed during an iterative session. More...
 
void setOutputPoints (int points)
 Sets the number of points in the output curve. More...
 
void setOutputPrecision (int digits)
 Sets the precision used for the output. More...
 
void setSortData (bool on=true)
 
void setTolerance (double eps)
 Sets the tolerance used by the GSL routines. More...
 
void setUpdateOutputGraph (bool update=true)
 
virtual void showLegend ()
 Adds a new legend to the plot. Calls virtual legendInfo() More...
 
double * x ()
 Returns the x values of the input data set. More...
 
double * y ()
 Returns the y values of the input data set. More...
 
 ~Filter ()
 

Private Member Functions

void fftCurve ()
 
void fftMatrix ()
 
void fftTable ()
 
void init ()
 
void output ()
 Performs the data analysis and takes care of the output. More...
 
void outputGraphs ()
 

Private Attributes

Matrixd_amp_matrix
 
Matrixd_im_matrix
 
Matrixd_im_out_matrix
 
int d_imag_col
 
bool d_inverse
 Flag telling if an inverse FFT must be performed. More...
 
bool d_normalize
 Flag telling if the amplitudes in the output spectrum must be normalized. More...
 
bool d_power2
 
Matrixd_re_out_matrix
 
int d_real_col
 
double d_sampling
 
bool d_shift_order
 Flag telling if the output frequencies must be shifted in order to have a zero-centered spectrum. More...
 

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. More...
 
virtual void calculateOutputData (double *X, double *Y)
 Calculates the data for the output curve and store it in the X an Y vectors. More...
 
MultiLayercreateOutputGraph ()
 
virtual int curveData (QwtPlotCurve *c, double start, double end, double **x, double **y)
 
int curveIndex (const QString &curveTitle, Graph *g)
 Performs checks and returns the index of the source data curve if OK, -1 otherwise. More...
 
int curveRange (QwtPlotCurve *c, double start, double end, int *iStart, int *iEnd)
 
virtual void freeMemory ()
 Frees the memory allocated for the X and Y data sets. More...
 
void init ()
 
virtual QString logInfo ()
 Output string added to the log pannel of the application. More...
 
void memoryErrorMessage ()
 
virtual int sortedCurveData (QwtPlotCurve *c, double start, double end, double **x, double **y)
 Same as curveData, but sorts the points by their x value. More...
 
- Protected Attributes inherited from Filter
QwtPlotCurve * d_curve
 The curve to be analysed. More...
 
QColor d_curveColor
 Color index of the result curve. More...
 
QString d_explanation
 String explaining the operation in the comment of the result table and in the project explorer. More...
 
double d_from
 Data interval. More...
 
Graphd_graph
 The source graph with the curve to be analyzed. More...
 
bool d_graphics_display
 Specifies if the filter should display a result curve. More...
 
bool d_init_err
 Error flag telling if something went wrong during the initialization phase. More...
 
Matrixd_matrix
 
int d_max_iterations
 Maximum number of iterations per fit. More...
 
int d_min_points
 Minimum number of data points necessary to perform the operation. More...
 
int d_n
 Size of the data arrays. More...
 
Graphd_output_graph
 The graph where the result curve should be displayed. More...
 
int d_points
 Number of result points to de calculated and displayed in the output curve. More...
 
int d_prec
 Precision (number of significant digits) used for the results output. More...
 
QwtPlotCurve * d_result_curve
 The resulting curve. More...
 
Tabled_result_table
 The table displaying the results of the filtering operation (not alvays valid!) More...
 
bool d_sort_data
 Specifies if the filter needs sorted data as input. More...
 
Tabled_table
 A table source of data. More...
 
double d_to
 
double d_tolerance
 GSL Tolerance, if ever needed... More...
 
bool d_update_output_graph
 Specifies if the filter should update the output graph. More...
 
double * d_x
 x data set to be analysed More...
 
double * d_y
 y data set to be analysed More...
 
QString d_y_col_name
 

Constructor & Destructor Documentation

FFT::FFT ( ApplicationWindow parent,
Table t,
const QString &  realColName,
const QString &  imagColName = QString(),
int  from = 1,
int  to = -1 
)

References init(), and setDataFromTable().

FFT::FFT ( ApplicationWindow parent,
QwtPlotCurve *  c 
)
FFT::FFT ( ApplicationWindow parent,
QwtPlotCurve *  c,
double  start,
double  end 
)
FFT::FFT ( ApplicationWindow parent,
Graph g,
const QString &  curveTitle 
)
FFT::FFT ( ApplicationWindow parent,
Graph g,
const QString &  curveTitle,
double  start,
double  end 
)
FFT::FFT ( ApplicationWindow parent,
Matrix re,
Matrix im = NULL,
bool  inverse = false,
bool  shift = true,
bool  norm = false,
bool  outputPower2Sizes = true 
)

Member Function Documentation

Matrix* FFT::amplitudesMatrix ( )
inline

References d_amp_matrix.

void FFT::fftCurve ( )
private
void FFT::fftMatrix ( )
private
void FFT::fftTable ( )
private
Matrix* FFT::imaginaryOutputMatrix ( )
inline

References d_im_out_matrix.

void FFT::init ( )
private
void FFT::normalizeAmplitudes ( bool  norm = true)
inline

References d_normalize.

Referenced by FFTDialog::accept().

void FFT::output ( )
privatevirtual
void FFT::outputGraphs ( )
private
Matrix* FFT::realOutputMatrix ( )
inline

References d_re_out_matrix.

bool FFT::setDataFromTable ( Table t,
const QString &  realColName,
const QString &  imagColName = QString(),
int  from = 0,
int  to = -1,
bool  unused = false 
)
virtual
void FFT::setInverseFFT ( bool  inverse = true)
inline

References d_inverse.

Referenced by FFTDialog::accept().

void FFT::setSampling ( double  sampling)
inline

References d_sampling.

Referenced by FFTDialog::accept().

void FFT::shiftFrequencies ( bool  shift = true)
inline

References d_shift_order.

Referenced by FFTDialog::accept().

Member Data Documentation

Matrix* FFT::d_amp_matrix
private

Referenced by amplitudesMatrix(), fftMatrix(), and init().

Matrix* FFT::d_im_matrix
private

Referenced by fftMatrix(), and init().

Matrix* FFT::d_im_out_matrix
private
int FFT::d_imag_col
private

Referenced by FFT(), init(), and setDataFromTable().

bool FFT::d_inverse
private

Flag telling if an inverse FFT must be performed.

Referenced by fftCurve(), fftMatrix(), fftTable(), init(), output(), outputGraphs(), and setInverseFFT().

bool FFT::d_normalize
private

Flag telling if the amplitudes in the output spectrum must be normalized.

Referenced by fftCurve(), fftMatrix(), fftTable(), init(), and normalizeAmplitudes().

bool FFT::d_power2
private

Referenced by fftMatrix().

Matrix* FFT::d_re_out_matrix
private

Referenced by fftMatrix(), init(), and realOutputMatrix().

int FFT::d_real_col
private

Referenced by FFT(), init(), output(), and setDataFromTable().

double FFT::d_sampling
private
bool FFT::d_shift_order
private

Flag telling if the output frequencies must be shifted in order to have a zero-centered spectrum.

Referenced by fftCurve(), fftMatrix(), fftTable(), init(), and shiftFrequencies().


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