QtiPlot
0.9.8.2
|
#include <FFT.h>
Public Member Functions | |
Matrix * | amplitudesMatrix () |
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) | |
Matrix * | imaginaryOutputMatrix () |
void | normalizeAmplitudes (bool norm=true) |
Matrix * | realOutputMatrix () |
void | setInverseFFT (bool inverse=true) |
void | setSampling (double sampling) |
void | shiftFrequencies (bool shift=true) |
Private Member Functions | |
void | fftCurve () |
void | fftMatrix () |
void | fftTable () |
void | init () |
void | output () |
Performs the data analysis and takes care of the output. | |
void | outputGraphs () |
bool | setDataFromTable (Table *t, const QString &realColName, const QString &imagColName=QString(), int from=0, int to=-1) |
Private Attributes | |
Matrix * | d_amp_matrix |
Matrix * | d_im_matrix |
Matrix * | d_im_out_matrix |
int | d_imag_col |
bool | d_inverse |
Flag telling if an inverse FFT must be performed. | |
bool | d_normalize |
Flag telling if the amplitudes in the output spectrum must be normalized. | |
bool | d_power2 |
Matrix * | d_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. |
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 | ||
) |
References init(), and Filter::setDataFromCurve().
FFT::FFT | ( | ApplicationWindow * | parent, |
QwtPlotCurve * | c, | ||
double | start, | ||
double | end | ||
) |
References init(), and Filter::setDataFromCurve().
FFT::FFT | ( | ApplicationWindow * | parent, |
Graph * | g, | ||
const QString & | curveTitle | ||
) |
References init(), and Filter::setDataFromCurve().
FFT::FFT | ( | ApplicationWindow * | parent, |
Graph * | g, | ||
const QString & | curveTitle, | ||
double | start, | ||
double | end | ||
) |
References init(), and Filter::setDataFromCurve().
FFT::FFT | ( | ApplicationWindow * | parent, |
Matrix * | re, | ||
Matrix * | im = NULL , |
||
bool | inverse = false , |
||
bool | shift = true , |
||
bool | norm = false , |
||
bool | outputPower2Sizes = true |
||
) |
References d_imag_col, Filter::d_output_graph, d_real_col, and d_sampling.
Matrix* FFT::amplitudesMatrix | ( | ) | [inline] |
References d_amp_matrix.
void FFT::fftCurve | ( | ) | [private] |
References ApplicationWindow::d_decimal_digits, d_inverse, Filter::d_n, d_normalize, Filter::d_result_table, d_sampling, d_shift_order, Filter::d_x, Filter::d_y, Filter::memoryErrorMessage(), and Table::setText().
Referenced by output().
void FFT::fftMatrix | ( | ) | [private] |
References Matrix::allocateMatrixData(), Matrix::cell(), Matrix::colorMap(), d_amp_matrix, d_im_matrix, d_im_out_matrix, d_inverse, Filter::d_matrix, d_normalize, d_power2, d_re_out_matrix, d_shift_order, Matrix::dx(), Matrix::dy(), fft2d(), fft2d_inv(), Matrix::freeMatrixData(), ApplicationWindow::generateUniqueName(), Matrix::headerViewType(), isPower2(), ApplicationWindow::newMatrix(), next2Power(), Matrix::numCols(), Matrix::numRows(), Matrix::range(), Matrix::setCell(), Matrix::setColorMap(), Matrix::setCoordinates(), Matrix::setHeaderViewType(), Matrix::setViewType(), MdiSubWindow::setWindowLabel(), ApplicationWindow::setWindowName(), and Matrix::viewType().
Referenced by output().
void FFT::fftTable | ( | ) | [private] |
References ApplicationWindow::d_decimal_digits, d_inverse, Filter::d_n, d_normalize, Filter::d_result_table, d_sampling, d_shift_order, Filter::d_x, Filter::d_y, Filter::memoryErrorMessage(), and Table::setText().
Referenced by output().
Matrix* FFT::imaginaryOutputMatrix | ( | ) | [inline] |
References d_im_out_matrix.
void FFT::init | ( | ) | [private] |
Reimplemented from Filter.
References d_amp_matrix, d_im_matrix, d_im_out_matrix, d_imag_col, d_inverse, d_normalize, Filter::d_output_graph, d_re_out_matrix, d_real_col, d_sampling, and d_shift_order.
Referenced by FFT().
void FFT::normalizeAmplitudes | ( | bool | norm = true | ) | [inline] |
References d_normalize.
Referenced by FFTDialog::accept().
void FFT::output | ( | ) | [private, virtual] |
Performs the data analysis and takes care of the output.
Reimplemented from Filter.
References Table::colName(), Filter::d_curve, Filter::d_explanation, Filter::d_graph, Filter::d_graphics_display, d_inverse, Filter::d_matrix, Filter::d_n, d_real_col, Filter::d_result_table, Filter::d_table, fftCurve(), fftMatrix(), fftTable(), ApplicationWindow::generateUniqueName(), ApplicationWindow::newHiddenTable(), outputGraphs(), and Table::setHeader().
void FFT::outputGraphs | ( | ) | [private] |
References MultiLayer::addLayer(), MultiLayer::AlignCanvases, MultiLayer::arrangeLayers(), Filter::createOutputGraph(), Filter::d_curveColor, d_inverse, Filter::d_matrix, Filter::d_output_graph, Filter::d_result_table, Graph::enableAxis(), ScaleDraw::HideBegin, ScaleDraw::HideBeginEnd, Graph::insertCurve(), MultiLayer::linkXLayerAxes(), Graph::multiLayer(), Graph::removeLegend(), MultiLayer::setAlignPolicy(), Graph::setAxisTitle(), MultiLayer::setCols(), MultiLayer::setCommonLayerAxes(), MultiLayer::setRows(), ScaleDraw::setShowTicksPolicy(), MultiLayer::setSpacing(), Graph::setXAxisTitle(), Graph::setYAxisTitle(), and Graph::updatePlot().
Referenced by output().
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 |
||
) | [private] |
References Table::cell(), Table::colIndex(), Filter::d_curve, Filter::d_graph, d_imag_col, Filter::d_init_err, Filter::d_n, d_real_col, Filter::d_table, Filter::d_x, Filter::d_y, Filter::freeMemory(), Filter::memoryErrorMessage(), Table::Numeric, and Table::numRows().
Referenced by FFT().
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().
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] |
Referenced by fftMatrix(), imaginaryOutputMatrix(), and init().
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] |
Referenced by FFT(), fftCurve(), fftTable(), init(), and setSampling().
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().