gWaveFilter

Introduction

gWaveFilter allows a user to apply filters to arbitrary datasets and graph the results.

Features

  • Filter types: FIR, modified-median and moving average.  Also allow ruby scripts for filter implementations.
  • Allows filters to be linked in a chain
  • Graphing of data sets, including defining X and Y axes and a magnifying glass

Screens

  • Filter design: specifies filter type and relevant parameters. Shows preview of working data set.
  • Filter chain design: specifies which filters should be chained together and in what order, whether they should be shown on the chart and what color/line style.
  • Plot: which data sets should be plotted, which filter chain should be applied, plot window, X and Y axes control (“auto”, “range” and “manual” modes), magnifying glass, peak-to-peak and harmonics are computed and displayed, export data in CSV format.
  • Settings: background plot color

Classes

  • CFilter: abstract class for filters.
  • CFilterChain: container for filters and graphing parameters.
  • CPlot: extends Gtk::DrawingArea. Encapsulates datasets, a filter chain and X/Y axes information. The first dataset is given; the others are generated via the filter chain. Contains code for drawing actual plots.
  • CAxis: mode, minimum, maximum.
  • CDataset: contains code for loading data from a file. Encapsulates datapoints.