TablePlot
[tables package (libtables)]


Detailed Description

TablePlot can plot the data from AIPS++ tables using TaQL commands.

See below for an overview of the classes in this module.


Namespaces

namespace  casa
 Define the special aips++ macros.

Modules

 TablePlot_internal_classes
 Internal TablePlot classes and functions.

Classes

class  casa::CrossPlot< T >
 Basic table access class for the TablePlot (tableplot) tool More...

Defines

#define TP_PGPLOT
 Plotter class for the TablePlot (tableplot) tool.

Enumerations

enum  {
  casa::XYPLOT,
  casa::CROSSPLOT,
  casa::HISTPLOT
}
 Basic table access class for the TablePlot (tableplot) tool. More...


Define Documentation

#define TP_PGPLOT
 

Plotter class for the TablePlot (tableplot) tool.

Intended use:

Part of API

Prerequisite

  • BasePlot
  • PGPlotter

Etymology

TPPlotter is the class that controls all plot operations for the TablePlot (TP) class.

Synopsis

Class TPPlotter is the plotting interface that the TablePlot class uses. It has to be used along with the BasePlot and TablePlot classes. It currently uses the PGPlotter class interface to the pgplot plotting package.

Example

    // Instantiate a TPPlotter
    TPPlotter<T> TPLP();
    TPLP.SetPlotOptions(.\..);
    TPLP.SelPlotRange(.\..);
    TPLP.PlotData(.\..);

Motivation

This class was written to keep all plotting function calls and display window management issues independant of the BasePlot class that handles the actual tables. Also if the current plotting package has to be replaced, changes need be made only in this one class. The TablePlot manipulates the TPPlotter objects.

To Do

  • Add additional plotting window interaction commands/calls accessible via PlotOptions.
  • Allow glish-level access to the choice of plotting device
  • Add functions to display sensible metadata info and labels on the plots.
  • Optional labelling on multi-panel plots
  • Provide the option of plotting with/without flagging and/or plotting only flagged/unflagged data.
  • Provide functions to clear a plot/panel window, or hold the current plot for an overlay from another plot command.
  • Provide a 'rubber-band' facility to mark regions. The basic PGPlotter class currently does not emulate the corresponding PGPLOT function.
  • Use formal exception handling rather than 'return -1' to handle irrecoverable errors.

Definition at line 100 of file TPPlotter.h.


Enumeration Type Documentation

anonymous enum
 

Basic table access class for the TablePlot (tableplot) tool.

Intended use:

Part of API

Prerequisite

Etymology

BasePlot is the basic class that accesses one table/subtable and extracts data to be plotted. It provides the interface between the TablePlot class and the actual tables.

Synopsis

Class BasePlot is the basic table access class for the purpose of plotting data via TaQL expressions. A BasePlot object can operate on one table/subtable and handles the extraction of data corresponding to TaQL expressions for the purpose of plotting. It is to be used in conjunction with the TPPlotter class via the TablePlot class, to connect the data from a table to a plotting device.

Example

    // Instantiate BasePlot 
    BasePlot<T> BP();
    BP.Init(Table&);
    BP.CreateTENS(Vector<String> &TaQL);
    BP.GetData();
    .\.. followed by TPPlotter 'setPlotRange' and 'plotData' calls

Motivation

This class was written so that each table/subtable can be handled independant of each other. This allows simple bookkeeping and clean relationships between tables and data sets when multiple tables are being simultaneously accessed (plotting/editing). Issues like different numbers of data points to be plotted from different tables, and simultaneous editing on multiple tables/subtables (on one or more plot panels) are handled by this class organization.

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

  • Use formal exception handling rather than 'return -1' to handle irrecoverable errors.
  • Store marked flag regions into some sort of flag_history associated with the table/subtable, to be able to later unflag specific flag regions if desired. Modify the clearFlags() function to include this information.
  • Modify to allow user-specified flag column names to be used. Currently only FLAG and FLAG_ROW are used (if either or both exists).
  • Provide the option to flag all channels (or a range) for a chosen range of stokes, or to flag all (or range of) stokes for the chosen channel range.
Enumerator:
XYPLOT 
CROSSPLOT 
HISTPLOT 

Definition at line 121 of file BasePlot.h.


Generated on Tue Nov 6 11:37:44 2007 for AIPS++ by  doxygen 1.4.4