Filter Class Reference

#include <Filter.h>

Inheritance diagram for Filter:

Convolution Correlation Differentiation FFT FFTFilter Fit Integration Interpolation SmoothFilter

List of all members.


Detailed Description

Abstract base class for data analysis operations.

Public Member Functions

int dataSize ()
 Returns the size of the input data set.
virtual void enableGraphicsDisplay (bool on=true, Graph *g=0)
bool error ()
 Filter (ApplicationWindow *parent, Graph *g=0, const QString &name=QString())
 Filter (ApplicationWindow *parent, Table *t=0, const QString &name=QString())
virtual QString legendInfo ()
 Output string added to the plot as a new legend.
TableresultTable ()
 Returns a pointer to the table created to display the results.
virtual bool run ()
 Actually does the job. Should be reimplemented in derived classes.
void setColor (const QString &colorName)
 Sets the color of the output fit curve. Provided for convenience. To be used in scripts only!
void setColor (int colorId)
 Sets the color of the output fit curve.
virtual void setDataCurve (int curve, double start, double end)
bool setDataFromCurve (const QString &curveTitle, double from, double to, Graph *g=0)
bool setDataFromCurve (const QString &curveTitle, Graph *g=0)
virtual bool setDataFromTable (Table *, const QString &, const QString &, int=1, int=-1)
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().
double * x ()
 Returns the x values of the input data set.
double * y ()
 Returns the y values of the input data set.
 ~Filter ()

Protected Member Functions

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.
virtual void calculateOutputData (double *X, double *Y)
 Calculates the data for the output curve and store it in the X an Y vectors.
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.
int curveRange (QwtPlotCurve *c, double start, double end, int *iStart, int *iEnd)
void init ()
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.
virtual int sortedCurveData (QwtPlotCurve *c, double start, double end, double **x, double **y)
 Same as curveData, but sorts the points by their x value.

Protected Attributes

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.
Graphd_graph
 The source graph with the curve to be analyzed.
bool d_graphics_display
 Specifies if the filter should display a result curve.
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.
Graphd_output_graph
 The graph where the result curve should be displayed.
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.
Tabled_result_table
 The table displaying the results of the filtering operation (not alvays valid!).
bool d_sort_data
 Specifies if the filter needs sorted data as input.
Tabled_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
QString d_y_col_name

Constructor & Destructor Documentation

Filter::Filter ( ApplicationWindow parent,
Table t = 0,
const QString &  name = QString() 
)

Filter::Filter ( ApplicationWindow parent,
Graph g = 0,
const QString &  name = QString() 
)

Filter::~Filter (  ) 


Member Function Documentation

QwtPlotCurve * Filter::addResultCurve ( double *  x,
double *  y 
) [protected]

Adds the result curve to the target output plot window. Creates a hidden table and frees the input data from memory.

virtual void Filter::calculateOutputData ( double *  X,
double *  Y 
) [inline, protected, virtual]

Calculates the data for the output curve and store it in the X an Y vectors.

Reimplemented in FFTFilter, Interpolation, and SmoothFilter.

MultiLayer * Filter::createOutputGraph (  )  [protected]

int Filter::curveData ( QwtPlotCurve *  c,
double  start,
double  end,
double **  x,
double **  y 
) [protected, virtual]

Sets x and y to the curve points between start and end. Memory will be allocated with new double[]. Returns the number of points within range == size of x and y arrays.

int Filter::curveIndex ( const QString &  curveTitle,
Graph g 
) [protected]

Performs checks and returns the index of the source data curve if OK, -1 otherwise.

int Filter::curveRange ( QwtPlotCurve *  c,
double  start,
double  end,
int *  iStart,
int *  iEnd 
) [protected]

int Filter::dataSize (  )  [inline]

Returns the size of the input data set.

void Filter::enableGraphicsDisplay ( bool  on = true,
Graph g = 0 
) [virtual]

Reimplemented in Integration.

bool Filter::error (  )  [inline]

void Filter::init (  )  [protected]

Reimplemented in Differentiation, ExponentialFit, TwoExpFit, ThreeExpFit, FFT, Fit, Integration, LogisticFit, LorentzFit, GaussFit, GaussAmpFit, NonLinearFit, PluginFit, PolynomialFit, LinearFit, and SigmoidalFit.

virtual QString Filter::legendInfo (  )  [inline, virtual]

Output string added to the plot as a new legend.

Reimplemented in Fit, and PolynomialFit.

virtual QString Filter::logInfo (  )  [inline, protected, virtual]

Output string added to the log pannel of the application.

Reimplemented in Integration.

void Filter::output (  )  [protected, virtual]

Performs the data analysis and takes care of the output.

Reimplemented in Convolution, Deconvolution, Correlation, Differentiation, FFT, and Integration.

Table* Filter::resultTable (  )  [inline]

Returns a pointer to the table created to display the results.

bool Filter::run (  )  [virtual]

Actually does the job. Should be reimplemented in derived classes.

Reimplemented in Fit.

void Filter::setColor ( const QString &  colorName  ) 

Sets the color of the output fit curve. Provided for convenience. To be used in scripts only!

void Filter::setColor ( int  colorId  )  [inline]

Sets the color of the output fit curve.

void Filter::setDataCurve ( int  curve,
double  start,
double  end 
) [virtual]

Reimplemented in Fit.

bool Filter::setDataFromCurve ( const QString &  curveTitle,
double  from,
double  to,
Graph g = 0 
)

bool Filter::setDataFromCurve ( const QString &  curveTitle,
Graph g = 0 
)

bool Filter::setDataFromTable ( Table t,
const QString &  xColName,
const QString &  yColName,
int  startRow = 1,
int  endRow = -1 
) [virtual]

Reimplemented in Correlation, FFT, and Fit.

void Filter::setInterval ( double  from,
double  to 
)

Changes the data range if the source curve was already assigned. Provided for convenience.

void Filter::setMaximumIterations ( int  iter  )  [inline]

Sets the maximum number of iterations to be performed during an iterative session.

void Filter::setOutputPoints ( int  points  )  [inline]

Sets the number of points in the output curve.

void Filter::setOutputPrecision ( int  digits  )  [inline]

Sets the precision used for the output.

void Filter::setTolerance ( double  eps  )  [inline]

Sets the tolerance used by the GSL routines.

void Filter::showLegend (  )  [virtual]

Adds a new legend to the plot. Calls virtual legendInfo().

int Filter::sortedCurveData ( QwtPlotCurve *  c,
double  start,
double  end,
double **  x,
double **  y 
) [protected, virtual]

Same as curveData, but sorts the points by their x value.

Reimplemented in Interpolation.

double* Filter::x (  )  [inline]

Returns the x values of the input data set.

double* Filter::y (  )  [inline]

Returns the y values of the input data set.


Member Data Documentation

QwtPlotCurve* Filter::d_curve [protected]

The curve to be analysed.

int Filter::d_curveColorIndex [protected]

Color index of the result curve.

QString Filter::d_explanation [protected]

String explaining the operation in the comment of the result table and in the project explorer.

double Filter::d_from [protected]

Data interval.

Graph* Filter::d_graph [protected]

The source graph with the curve to be analyzed.

bool Filter::d_graphics_display [protected]

Specifies if the filter should display a result curve.

bool Filter::d_init_err [protected]

Error flag telling if something went wrong during the initialization phase.

int Filter::d_max_iterations [protected]

Maximum number of iterations per fit.

int Filter::d_min_points [protected]

Minimum number of data points necessary to perform the operation.

int Filter::d_n [protected]

Size of the data arrays.

Graph* Filter::d_output_graph [protected]

The graph where the result curve should be displayed.

int Filter::d_points [protected]

Number of result points to de calculated and displayed in the output curve.

int Filter::d_prec [protected]

Precision (number of significant digits) used for the results output.

Table* Filter::d_result_table [protected]

The table displaying the results of the filtering operation (not alvays valid!).

bool Filter::d_sort_data [protected]

Specifies if the filter needs sorted data as input.

Table* Filter::d_table [protected]

A table source of data.

double Filter::d_to [protected]

double Filter::d_tolerance [protected]

GSL Tolerance, if ever needed...

double* Filter::d_x [protected]

x data set to be analysed

double* Filter::d_y [protected]

y data set to be analysed

QString Filter::d_y_col_name [protected]


The documentation for this class was generated from the following files:
Generated on Thu Feb 7 13:59:28 2008 for QtiPlot by  doxygen 1.5.4