casa  $Rev:20696$
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
casa::MsPlot Class Reference

This class does, oh a little of this and a little of that. This class understands Measurement Sets and provides support for plotting various bits of data in the measurment set. More...

#include <MsPlot.h>

List of all members.

Public Member Functions

 MsPlot ()
 Constructor; creates an MsPlot object with no Measurement Set or TablePlot object associated with it at this point.
 MsPlot (const String &MSPath)
 Constructor; creates an MsPlot object with a Measurement Set associated with it.
 ~MsPlot ()
 Destructor, destroy the MsPlot object, destroying the TablePlot and Measurement Set object with it.
Bool open (const String &MSPath, Bool doVel=False, const String &restfreq="", const String &frame="", const String &doppler="")
 Open the Measurement Set (table) to be plotted, creating a Measurement Set object as well as as <linto class"TablePlot">TablePlot</linkto> object.
Bool initialize ()
 Initialize the class variables.
Bool reset (Bool resetMS)
 Reset the MsPlot class back to its initial state.
Bool done ()
 Free memory, reset defaults, and destroy the TablePlot and MeasurementSet objects.
Bool setupPlotxy (const String &x, const String &y, const String &xcolumn, const String &ycolumn, const String &xvalue, const String &yvalue, Vector< String > &iteration)
 Do all of the necessary setup required to prepare for plotting.
Bool plotxy (const Bool checkOnly, const String &x, const String &y, const String &xcolumn, const String &ycolumn, const String &xvalue, const String &yvalue, Vector< String > &iteration)
 Main plot function.
Bool iterPlotNext ()
 Iteration plotting.
Bool iterPlotStop (const Bool rmplotter)
Bool clearPlot (const Int nrows, const Int ncols, const Int panel)
Bool setplotoptions (Record)
Bool saveFigure (const String &filename, const Int dpi, const String &orientation, const String &papertype, const String &facecolor, const String &edgecolor)
Bool summary (Bool selected)
Bool setData (const String &baselineExpr, const String &fieldExpr, const String &scanExpr, const String &uvDistExpr, const String &arrayExpr, const String &feedExpr, const String &spwExpr, const String &corrExpr, const String &timeExpr)
Bool setFlagExtension (const String &extendcorr="", const String &extendchan="", const String &extendspw="", const String &extendant="", const String &extendtime="")
Bool average (const String &chanAveMode, const String &corrAveMode, const String &aveData, const String &aveMode, const String &aveChan, const String &aveTime, const Bool &aveFlag, const Bool &aveScan, const Bool &aveBl, const Bool &aveArray, const Bool &aveChanId, const Bool &aveVel)
Bool setSpectral (const Vector< Int > &start, const Vector< Int > &end, const Vector< Int > &step, const Bool width, const String &average, const String &frequencyExpr, const String &correlationExpr)
 nchan: how many channels you want the selected data to be averagged to.
Bool markRegion (Int nrows, Int ncols, Int panel, Vector< Double > regionvec)
Bool flagData (Int direction)
Bool locateData ()
Bool saveFlagVersion (String versionname, String comment, String merge)
 Functions for flag version control.
Bool restoreFlagVersion (Vector< String > versionname, String merge)
Bool deleteFlagVersion (Vector< String > versionname)
Bool getFlagVersionList ()
Double getRefFrequency (uInt spwId=0)
 A number of methods for getting specific values for the open measurement set.
Double getChanFrequency (uInt spwId=0, uInt channel=0)
Double getChanVelocity (uInt spwId=0, uInt fieldId=0, uInt channel=0)

Private Member Functions

String defaultDataSelectString ()
String defaultSpectralSelectString ()
void resetDataSelection ()
void resetTableSelection ()
Bool makeDataSelectStr (MSSelection &MSSelecObj, const Vector< Vector< String > > &selectedCorrs, const String &selectedTimes)
Bool corrSelection (const String &correlation, Vector< Vector< String > > &corrNames)
Bool corrAndStokesParser (const String &corrExpr, Vector< Vector< String > > &names)
Bool validateCorrAndStokes (Vector< Vector< String > > &names)
Bool makeCorrIdLists (Vector< Vector< Int > > &ids)
Bool getChannelInfo (Matrix< Int > chanSelectList)
Bool setSingleChannelSet (uInt spwId, Int start, Int stop, Int step)
String getTimeExprStr (const String &times, const String &aveOrStep)
String getTimeExprStr (const String &times)
In order to make thins faster
when we get a new Measurement
Set we store a bunch of
information in some internal
variables *void 
initAllLists ()
void getAllAntennaNames ()
void getAllFieldNames ()
void getAllCorrelations ()
void getAllSpwsAndFreqs ()
void getAllSpwChanNums ()
void getAllScanNumbers ()
void getAllTimes ()
Vector< StringparsePlotRange ()
 Parse the input provided by the user for the plotrange option, if double/int values are given the values are taken as they are.
Vector< StringplotrangeToDbls (Vector< String > rangeStrVec, Vector< Double > rangeVector, Vector< Bool > rangeSet)
Vector< StringparseStrToList (const String &inString, Vector< String > &outVector)
 /////////////////////////////////////////////////////////////////////// Parse a string assuming to be a list of values.
Create the TaQL string from
the various parameters given
to plotxy *Bool 
createTaQL (const String &x, const String &y, const String &xcolumn, const String &ycolumn, const String &xvalue, const String &yvalue, String &title, String &xlabel, String &ylabel)
Bool createSaQL (const String &x, const String &y, const String &xvalue, const String &yvalue, String &title, String &xlabel, String &ylabel)
Vector< StringgetTaQL (const String &axisStr, const String &column, const String &value, const uInt spwId, const uInt polId, const char axis, String &label)
Bool checkAverageMode (String optName, String mode, String selectExpr)
Bool checkAverageMode (String optName, String mode)
Bool checkIterationAxes (const Vector< String > &iteration)
Bool setSingleInputTable (const Vector< String > &sortOrder, const uInt spwId, const uInt polId, const Table table, const String tableName)
Bool setInputTable (const String &xcolumn, const String &ycolumn)
Bool updatePlotOptions (const String &title, const String &xlabel, const String &ylabel, const String &xcolumn, const String &ycolumn, const String &x, const String &y)
void cleanupOptions ()
Bool checkSpwShapes ()
 Bool setSpwLists( Bool checkShape );.
Bool checkPolShapes ()
Vector< StringdataTaQL (const String &column, const String &value, const uInt spwId, const uInt polId, String &label)
 Bool setSpwChanNums();.
String getIndices (const Int &startcorr, const Int &endcorr, const Int &stepcorr, const Int &startchan, const Int &endchan, const Int &stepchan, const String &column, const String &value, String &label)
 Create the vector of XTaQL, YTaQL pairs that TablePlot likes..\.
Double getMeterToKlambdaConvertValue (uInt spwIndex)
 Find the conversion value for converting uvdists from meters to kilometers.
Bool getDerivedConvertVectors ()
Bool setupConvertFn (const String &axisStr, const Char &axis)
Vector< DoublemsDerivedConvert (const String &convertType)
 Conversion routines which use MSDerived to calculate the conversion values.
Misceleanouse methods Verify
that the class variables have
been iniiatlized If they haven
t been then initialize them
*Bool 
checkInit ()
Int checkForArrayPlot (Int subplot)
 This is needed for flagging.
Bool checkOpenMS ()
 Verify that we have openen a measurement set.
void initializeLabels ()
 Initialize the plot title, x-axis label, and y-axis label to their default settings, the empty sting.
void disableAllButtons ()
 Enable/Disable all buttons.
void enableAllButtons ()

Private Attributes

SLoglog
 Message log, used to report warning, errors, and debugging information.
TablePlotitsTablePlot
 The table plotter, a measurement set is a table and as such can be plotted by the TablePlot class.
TableitsTable
 The Table that is to be plotted, this may or may not be the full measurement set, depending on the values given to setdata()
MeasurementSetitsMS
 The measurement set that that is plotted.
MeasurementSet itsSelectedMS
 The reference MS created after data selection.
MSSelection itsMSSelectionObj
MeasurementSet itsAveragedMS
Vector< Vector< Table > > itsTableVectors
 In case an extra sub-selection needs to be done to account for varying shapes in the main table (due to different spectral window shapes) store the internally sub-selected MSs.
Vector< Vector< String > > itsTableVecNames
Vector< Vector< Int > > itsTableVecSpwIds
Vector< Vector< Int > > itsTableVecPolIds
Vector< StringitsSelectString
 Vector<uInt> itsTableVecSpwIdNChans;.
String itsDataSelectString
Vector< IntitsSelectedSpwIds
Vector< IntitsSpwIdNChans
Vector< Vector< Int > > itsSelectedCorrIds
Vector< IntitsSelectedPolIds
Vector< IntitsSelectedNPols
String itsTimeSelectString
Int itsTimeStep
MsAveragermsa
String itsDataColumn
String itsAveMode
Vector< StringitsAveCorr
Int itsAveChan
Double itsAveTime
Double itsMinTimeInterval
Bool itsAveFlag
Bool itsAveScan
Bool itsAveBl
Bool itsAveArray
Int nAveChan
Int nAvePol
Matrix< IntchanList
Matrix< IntaveRowMap
Matrix< IntaveChanMap
Matrix< DoubleaveTimeMap
Bool doAverage
Bool useAveChanId
Bool doVel
String itsRestFreq
String itsFrame
String itsDoppler
String itsExtendCorr
String itsExtendChan
String itsExtendSpw
String itsExtendAnt
String itsExtendTime
uInt itsMaxPolId
 Blarg.
Matrix< IntitsBaselines
Vector< Vector< String > > itsCorrelationNames
Vector< Vector< Int > > itsCorrelationIds
Vector< StringitsFieldNames
Vector< StringitsAntennaNames
Vector< DoubleitsRefFrequencies
Vector< Vector< Double > > itsChanFrequencies
Vector< Vector< Vector< Double > > > itsChanVelocities
 x=spw id, y= field id, z = channel num
Vector< IntitsScanNumbers
MVTime itsStartTime
MVTime itsEndTime
uInt itsMaxSpwId
Vector< BoolitsUsedSpws
Array< DoubleitsPlotRange
PlotOptions itsPlotOptions
 The various plot options that can be set by the user.
Record itsOptionRecord
 This record is the persistant record of parameters.
Vector< Vector< Vector< String > > > itsTaqlStrings
 Stores the TaQL string used by TablePlot to select the data to be plotted.
Vector< StringitsIterationAxes
 Store the iteration axes information.
Vector< DoubleitsTimeRange
 The time range selected as a pair of double values.
Bool itsIterPlotOn
 Values to keep track of iterative plots.
Vector< StringitsIterLabels
 Bool itsIterPlot;.
Vector< StringitsIterAxes
Vector< Vector< Int > > itsStartChan
 Variables to keep track of the current data selection for channels and correlations.
Vector< Vector< Int > > itsEndChan
Vector< Vector< Int > > itsStepChan
Vector< StringitsAverage
String itsStepOrSlice
Vector< Vector< Int > > itsStartCorr
Vector< Vector< Int > > itsEndCorr
Vector< Vector< Int > > itsStepCorr
TPGuiCallBackHooksitsCallBack
TPResetCallBackitsResetCallBack
Bool itsInitialized
Bool itsMsIsOpen
Bool itsIsNewSelection
 Flags to decide when to send a Table into TablePlot.
Bool itsIsSubTablePlot
Bool itsIsIterationPlot
Bool itsIsInIterPlot
Bool itsConvertClassSet
Bool itsSpwIterOn
Bool itsIsUVWPlot
Methods used to figure out
what needs to be plotted Find
which table to give to Table 
plot
Methods used to figure out
what needs to be plotted Find
which table to give to Table
it will be one of 
three: 1. The whole measurement set 2. The SubMS created with MSSelection values 3. A SubMS with channel averaging Table* getTable()

Static Private Attributes

static String clname

Detailed Description

This class does, oh a little of this and a little of that. This class understands Measurement Sets and provides support for plotting various bits of data in the measurment set.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

The implementation of the Measurement Set plotting facilities hence its called MS Plot.

Synopsis

This class implements the interface to the MS plotting tool. See the Measurement Set description to get a good understanding of measurement sets and the TablePlot class description for further details on plotting.

There are four basic activities that can be performed with the MS Plot tool, as follows:

The data selection is done via the MSSelection class, with some additions. Although the added selections in MS plot will be in the MSSelection class in the future. The data selections made determine which data in the MeasurementSet is to be plotted. Selections can be made on the following data:

See the MSSelection class for details on the syntax.

MS Plot uses all of the plotting options as defined by the PanelParam class in the TablePlot module. The plot options control the plot colours, window size, overplotting, number of plots to display, labels on the axes, and many more options. The plotrange option in MS Plot is specified as a String, rather then a list of doubles. This allows time ranges to be given in time values as well as numeric values, unlike TablePlot which allows numeric values only.

The plotting of the data is where most of the tricky bits occur in this class. A good understanding of the process is important in understanding this class. The general process is:

  1. verify the plot options, setting some of the internally depending on some of choices the user has made for plotting This includes setting up a callback class or two if they are needed. The callback classes are used to allow MS Plot some control over flagging, displaying information about selected plotted points, resets, and others. See MsPlotHooks class.
  2. Some of the plots require each data point to be altered, for these plots "convert" functions have been set up. These are set up at this point in the plotting process. An example of a conversion class is, the UVDist plot converts all points from m to klamba. See MsPlotConvert class.
  3. Next the set of table(s) to be plotted is constructed. The table may be one of:
    • The whole measurement set, ie. main table
    • A sub table of the measurement set, such as the Antenna table
    • The main table sorted by some criteria. This step uses the MSIter class to divide and sort the main table into a number of smaller tables. This process is done if the measurment set contains spectral windows with differently shaped data, if different pieces of the data have different correlations, or if the user has selected time averaging.
    Once it is determined what tables are to be used these are given to TablePlot to store and keep track of.
  4. Create the Table Query expressions (TaQL) string. In MS Plot only the "select" portion of the TaQLs are constructed. The TaQL strings created can be viewed in the log messages, if the messaging level is set to INFO3. The TaQL strings are designed to do as much of the work as possible, for example the channel averaging is done through careful construction of the TaQLs. See AIPS++ note 199 for a good description of TaQL expressions.

  5. Finally the data is plotted by calling the table plot (see (method="TablePlot::plotData"))plotData method for single plots or the iterMultiPlotStart

    method for iterative plots. Iterative plots allow users to circulate over some data property. For example, plotting each field separately.

All flagging facilities are currently handled by the TablePlot . MS Plot just hands all information given to the table plot class, this may change in the future, for example to properly support flagging of antenna's MS Plot will need to flag all data in the main table as well as the Antenna subtable.

The current model between TablePlot and MSPlot has all of the GUI events being funnelled through TablePlot, but all of the command-line commands from the Python interpreter being funnelled through MSPlot to TablePlot. This makes the design tricky!

The approach taken has been for the command-line flow, MsPlot accesses the TablePlot through and instance of the class. For the GUI flow, MsPlot provides a set of classes which, are given to TablePlot, TablePlot then calls methods in these classes to give control to MsPlot. These classes are:

Definition at line 312 of file MsPlot.h.


Constructor & Destructor Documentation

casa::MsPlot::MsPlot ( )

Constructor; creates an MsPlot object with no Measurement Set or TablePlot object associated with it at this point.

casa::MsPlot::MsPlot ( const String MSPath)

Constructor; creates an MsPlot object with a Measurement Set associated with it.

A TablePlot object will also be created with the associated main table in Measurement Set as the table.

casa::MsPlot::~MsPlot ( )

Destructor, destroy the MsPlot object, destroying the TablePlot and Measurement Set object with it.


Member Function Documentation

Bool casa::MsPlot::average ( const String chanAveMode,
const String corrAveMode,
const String aveData,
const String aveMode,
const String aveChan,
const String aveTime,
const Bool aveFlag,
const Bool aveScan,
const Bool aveBl,
const Bool aveArray,
const Bool aveChanId,
const Bool aveVel 
)
Bool casa::MsPlot::checkAverageMode ( String  optName,
String  mode,
String  selectExpr 
) [private]
Bool casa::MsPlot::checkAverageMode ( String  optName,
String  mode 
) [private]
Int casa::MsPlot::checkForArrayPlot ( Int  subplot) [private]

This is needed for flagging.

We need to know if we've made an array plot, or more precisely a subtable plot.

Misceleanouse methods Verify that the class variables have been iniiatlized If they haven t been then initialize them* Bool casa::MsPlot::checkInit ( ) [private]
Bool casa::MsPlot::checkIterationAxes ( const Vector< String > &  iteration) [private]
Bool casa::MsPlot::checkOpenMS ( ) [private]

Verify that we have openen a measurement set.

Bool casa::MsPlot::checkPolShapes ( ) [private]
Bool casa::MsPlot::checkSpwShapes ( ) [private]

Bool setSpwLists( Bool checkShape );.

void casa::MsPlot::cleanupOptions ( ) [private]
Bool casa::MsPlot::clearPlot ( const Int  nrows,
const Int  ncols,
const Int  panel 
)
Bool casa::MsPlot::corrAndStokesParser ( const String corrExpr,
Vector< Vector< String > > &  names 
) [private]
Bool casa::MsPlot::corrSelection ( const String correlation,
Vector< Vector< String > > &  corrNames 
) [private]
Bool casa::MsPlot::createSaQL ( const String x,
const String y,
const String xvalue,
const String yvalue,
String title,
String xlabel,
String ylabel 
) [private]
Create the TaQL string from the various parameters given to plotxy* Bool casa::MsPlot::createTaQL ( const String x,
const String y,
const String xcolumn,
const String ycolumn,
const String xvalue,
const String yvalue,
String title,
String xlabel,
String ylabel 
) [private]
Vector<String> casa::MsPlot::dataTaQL ( const String column,
const String value,
const uInt  spwId,
const uInt  polId,
String label 
) [private]

Bool setSpwChanNums();.

String casa::MsPlot::defaultDataSelectString ( ) [private]
String casa::MsPlot::defaultSpectralSelectString ( ) [private]
Bool casa::MsPlot::deleteFlagVersion ( Vector< String versionname)
void casa::MsPlot::disableAllButtons ( ) [private]

Enable/Disable all buttons.

Bool casa::MsPlot::done ( )

Free memory, reset defaults, and destroy the TablePlot and MeasurementSet objects.

void casa::MsPlot::enableAllButtons ( ) [private]
Bool casa::MsPlot::flagData ( Int  direction)
void casa::MsPlot::getAllAntennaNames ( ) [private]
void casa::MsPlot::getAllCorrelations ( ) [private]
void casa::MsPlot::getAllFieldNames ( ) [private]
void casa::MsPlot::getAllScanNumbers ( ) [private]
void casa::MsPlot::getAllSpwChanNums ( ) [private]
void casa::MsPlot::getAllSpwsAndFreqs ( ) [private]
void casa::MsPlot::getAllTimes ( ) [private]
Double casa::MsPlot::getChanFrequency ( uInt  spwId = 0,
uInt  channel = 0 
)
Bool casa::MsPlot::getChannelInfo ( Matrix< Int chanSelectList) [private]
Double casa::MsPlot::getChanVelocity ( uInt  spwId = 0,
uInt  fieldId = 0,
uInt  channel = 0 
)
Bool casa::MsPlot::getDerivedConvertVectors ( ) [private]
Bool casa::MsPlot::getFlagVersionList ( )
String casa::MsPlot::getIndices ( const Int startcorr,
const Int endcorr,
const Int stepcorr,
const Int startchan,
const Int endchan,
const Int stepchan,
const String column,
const String value,
String label 
) [private]

Create the vector of XTaQL, YTaQL pairs that TablePlot likes..\.

Double casa::MsPlot::getMeterToKlambdaConvertValue ( uInt  spwIndex) [private]

Find the conversion value for converting uvdists from meters to kilometers.

Double casa::MsPlot::getRefFrequency ( uInt  spwId = 0)

A number of methods for getting specific values for the open measurement set.

Vector<String> casa::MsPlot::getTaQL ( const String axisStr,
const String column,
const String value,
const uInt  spwId,
const uInt  polId,
const char  axis,
String label 
) [private]
String casa::MsPlot::getTimeExprStr ( const String times,
const String aveOrStep 
) [private]
String casa::MsPlot::getTimeExprStr ( const String times) [private]
In order to make thins faster when we get a new Measurement Set we store a bunch of information in some internal variables* void casa::MsPlot::initAllLists ( ) [private]
Bool casa::MsPlot::initialize ( )

Initialize the class variables.

void casa::MsPlot::initializeLabels ( ) [private]

Initialize the plot title, x-axis label, and y-axis label to their default settings, the empty sting.

This method can also be used to reset the labels to their default values.

Bool casa::MsPlot::iterPlotNext ( )

Iteration plotting.

Bool casa::MsPlot::iterPlotStop ( const Bool  rmplotter)
Bool casa::MsPlot::locateData ( )
Bool casa::MsPlot::makeCorrIdLists ( Vector< Vector< Int > > &  ids) [private]
Bool casa::MsPlot::makeDataSelectStr ( MSSelection MSSelecObj,
const Vector< Vector< String > > &  selectedCorrs,
const String selectedTimes 
) [private]
Bool casa::MsPlot::markRegion ( Int  nrows,
Int  ncols,
Int  panel,
Vector< Double regionvec 
)
Vector<Double> casa::MsPlot::msDerivedConvert ( const String convertType) [private]

Conversion routines which use MSDerived to calculate the conversion values.

Bool casa::MsPlot::open ( const String MSPath,
Bool  doVel = False,
const String restfreq = "",
const String frame = "",
const String doppler = "" 
)

Open the Measurement Set (table) to be plotted, creating a Measurement Set object as well as as <linto class"TablePlot">TablePlot</linkto> object.

The TablePlot object is initialize with the main table of the Measurement Set

Vector<String> casa::MsPlot::parsePlotRange ( ) [private]

Parse the input provided by the user for the plotrange option, if double/int values are given the values are taken as they are.

If the values are strings then it's assumed that they are time ranges The plotrange is expected to be a string in the form: [xmin,xmax,ymin,ymax] where each is either a double value or in the from YY/MM/DD/hh:mm:ss

RETURN: returns error/warning messages. If no mesasges are returned then there were no errors. The warnings are in retValue[1] and the errors in retValue[0];

Vector<String> casa::MsPlot::parseStrToList ( const String inString,
Vector< String > &  outVector 
) [private]

/////////////////////////////////////////////////////////////////////// Parse a string assuming to be a list of values.

The list of values is expected to be in one of the following formats: [item1, item2, ..., itemN] (item1, item2, ..., itemN)

If no item is given between two commas an empty string is returned for this item in the string vector.

RETURN: returns error/warning messages. If no mesasges are returned then there were no errors. The warnings are in retValue[1] and the errors in retValue[0];

Vector<String> casa::MsPlot::plotrangeToDbls ( Vector< String rangeStrVec,
Vector< Double rangeVector,
Vector< Bool rangeSet 
) [private]
Bool casa::MsPlot::plotxy ( const Bool  checkOnly,
const String x,
const String y,
const String xcolumn,
const String ycolumn,
const String xvalue,
const String yvalue,
Vector< String > &  iteration 
)

Main plot function.

For iteration plots, this initializes the iterations and makes the first iterplot.

Bool casa::MsPlot::reset ( Bool  resetMS)

Reset the MsPlot class back to its initial state.

void casa::MsPlot::resetDataSelection ( ) [private]
void casa::MsPlot::resetTableSelection ( ) [private]
Bool casa::MsPlot::restoreFlagVersion ( Vector< String versionname,
String  merge 
)
Bool casa::MsPlot::saveFigure ( const String filename,
const Int  dpi,
const String orientation,
const String papertype,
const String facecolor,
const String edgecolor 
)
Bool casa::MsPlot::saveFlagVersion ( String  versionname,
String  comment,
String  merge 
)

Functions for flag version control.

Bool casa::MsPlot::setData ( const String baselineExpr,
const String fieldExpr,
const String scanExpr,
const String uvDistExpr,
const String arrayExpr,
const String feedExpr,
const String spwExpr,
const String corrExpr,
const String timeExpr 
)
Bool casa::MsPlot::setFlagExtension ( const String extendcorr = "",
const String extendchan = "",
const String extendspw = "",
const String extendant = "",
const String extendtime = "" 
)
Bool casa::MsPlot::setInputTable ( const String xcolumn,
const String ycolumn 
) [private]
Bool casa::MsPlot::setplotoptions ( Record  )
Bool casa::MsPlot::setSingleChannelSet ( uInt  spwId,
Int  start,
Int  stop,
Int  step 
) [private]
Bool casa::MsPlot::setSingleInputTable ( const Vector< String > &  sortOrder,
const uInt  spwId,
const uInt  polId,
const Table  table,
const String  tableName 
) [private]
Bool casa::MsPlot::setSpectral ( const Vector< Int > &  start,
const Vector< Int > &  end,
const Vector< Int > &  step,
const Bool  width,
const String average,
const String frequencyExpr,
const String correlationExpr 
)

nchan: how many channels you want the selected data to be averagged to.

start: start channel number; width: number of channels to average; colName: the data column name -- DATA, CORRECTED_DATA or MODEL_DATA

Bool casa::MsPlot::setupConvertFn ( const String axisStr,
const Char axis 
) [private]
Bool casa::MsPlot::setupPlotxy ( const String x,
const String y,
const String xcolumn,
const String ycolumn,
const String xvalue,
const String yvalue,
Vector< String > &  iteration 
)

Do all of the necessary setup required to prepare for plotting.

This incluces:

  1. Get the plotoptions set by the user
  2. Check correctness of the iteration value given, if one is given
  3. Set up the callback classes responsible for converting data points to different units
  4. Figure out what Table(s) we are plotting, this may require some virtual manipulation of main table to create the set we need. Note that if any data selection was done by the user, we start with the resulting table from an MSSelection call.
  5. Create the TaQL (Table Query Language) expressions that will select the desired data from the tables.
  6. Apply any internal setting of plot options, see updatePlotOptions for more details on what options can be set internally.
Bool casa::MsPlot::summary ( Bool  selected)
Bool casa::MsPlot::updatePlotOptions ( const String title,
const String xlabel,
const String ylabel,
const String xcolumn,
const String ycolumn,
const String x,
const String y 
) [private]
Bool casa::MsPlot::validateCorrAndStokes ( Vector< Vector< String > > &  names) [private]

Member Data Documentation

Definition at line 543 of file MsPlot.h.

Definition at line 542 of file MsPlot.h.

Definition at line 544 of file MsPlot.h.

Definition at line 541 of file MsPlot.h.

String casa::MsPlot::clname [static, private]

Definition at line 481 of file MsPlot.h.

Definition at line 545 of file MsPlot.h.

Definition at line 547 of file MsPlot.h.

Definition at line 565 of file MsPlot.h.

Definition at line 538 of file MsPlot.h.

Definition at line 537 of file MsPlot.h.

Definition at line 532 of file MsPlot.h.

Definition at line 531 of file MsPlot.h.

Definition at line 535 of file MsPlot.h.

Definition at line 530 of file MsPlot.h.

Definition at line 630 of file MsPlot.h.

Definition at line 499 of file MsPlot.h.

Definition at line 536 of file MsPlot.h.

Definition at line 533 of file MsPlot.h.

Definition at line 561 of file MsPlot.h.

Definition at line 639 of file MsPlot.h.

Definition at line 567 of file MsPlot.h.

x=spw id, y= field id, z = channel num

Definition at line 569 of file MsPlot.h.

Definition at line 653 of file MsPlot.h.

Definition at line 563 of file MsPlot.h.

Definition at line 562 of file MsPlot.h.

Definition at line 529 of file MsPlot.h.

Definition at line 519 of file MsPlot.h.

Definition at line 551 of file MsPlot.h.

Definition at line 628 of file MsPlot.h.

Definition at line 633 of file MsPlot.h.

Definition at line 572 of file MsPlot.h.

Definition at line 556 of file MsPlot.h.

Definition at line 554 of file MsPlot.h.

Definition at line 553 of file MsPlot.h.

Definition at line 555 of file MsPlot.h.

Definition at line 557 of file MsPlot.h.

Definition at line 564 of file MsPlot.h.

Definition at line 550 of file MsPlot.h.

Definition at line 642 of file MsPlot.h.

Definition at line 652 of file MsPlot.h.

Definition at line 651 of file MsPlot.h.

Flags to decide when to send a Table into TablePlot.

For performance reasons, do not re-set a Table if there is no need to.

Definition at line 649 of file MsPlot.h.

Definition at line 650 of file MsPlot.h.

Definition at line 655 of file MsPlot.h.

Store the iteration axes information.

Definition at line 606 of file MsPlot.h.

Definition at line 619 of file MsPlot.h.

Bool itsIterPlot;.

Definition at line 618 of file MsPlot.h.

Values to keep track of iterative plots.

Definition at line 616 of file MsPlot.h.

Blarg.

Definition at line 560 of file MsPlot.h.

Definition at line 573 of file MsPlot.h.

Definition at line 534 of file MsPlot.h.

The measurement set that that is plotted.

Definition at line 493 of file MsPlot.h.

Definition at line 643 of file MsPlot.h.

Definition at line 498 of file MsPlot.h.

This record is the persistant record of parameters.

Required so that any plot-type-dependant parameters can be reset, while retaining all user-parameters. Every MsPlot::plotxy call, refills itsPlotOptions from this record, and then calls MsPlot::updatePlotOptions to augment the params for plot-type dependant parameters. SDJ This is probably not needed

Definition at line 598 of file MsPlot.h.

The various plot options that can be set by the user.

The current list of options includes: TODO : update this list from PanelParams.h

ncols, nrows, panel, windowsize, aspectratio, fontsize, plotstyle, plotcolour, plotsymbol, pointlabels, plotrange, linewidth, overplot, multicolour, timeplot, crossdirection, and useflags,

See also:
TablePlot::parsePOption() for the list of options supported by table plot and their descriptions
TPPlotter::parsePlotOptions() for more of the options and their descriptions.

Definition at line 589 of file MsPlot.h.

Definition at line 576 of file MsPlot.h.

Definition at line 566 of file MsPlot.h.

Definition at line 640 of file MsPlot.h.

Definition at line 549 of file MsPlot.h.

Definition at line 570 of file MsPlot.h.

Definition at line 522 of file MsPlot.h.

The reference MS created after data selection.

This is passed into TablePlot via setTableT().

Definition at line 497 of file MsPlot.h.

Definition at line 524 of file MsPlot.h.

Definition at line 523 of file MsPlot.h.

Definition at line 520 of file MsPlot.h.

Vector<uInt> itsTableVecSpwIdNChans;.

Info about currently selected MS. A string with information about the current data selection. String itsSelectString;

Definition at line 518 of file MsPlot.h.

Definition at line 521 of file MsPlot.h.

Definition at line 654 of file MsPlot.h.

Variables to keep track of the current data selection for channels and correlations.

These are used inside the dataTaQL function to create TaQL strings that reflect this chan, corr selection.

Definition at line 627 of file MsPlot.h.

Definition at line 632 of file MsPlot.h.

Definition at line 571 of file MsPlot.h.

Definition at line 629 of file MsPlot.h.

Definition at line 634 of file MsPlot.h.

Definition at line 631 of file MsPlot.h.

The Table that is to be plotted, this may or may not be the full measurement set, depending on the values given to setdata()

Definition at line 490 of file MsPlot.h.

The table plotter, a measurement set is a table and as such can be plotted by the TablePlot class.

Definition at line 485 of file MsPlot.h.

Definition at line 509 of file MsPlot.h.

Definition at line 511 of file MsPlot.h.

Definition at line 510 of file MsPlot.h.

In case an extra sub-selection needs to be done to account for varying shapes in the main table (due to different spectral window shapes) store the internally sub-selected MSs.

Store the list of tables to be plotted. Vector<Table> itsTableVec;

Definition at line 508 of file MsPlot.h.

Stores the TaQL string used by TablePlot to select the data to be plotted.

Definition at line 602 of file MsPlot.h.

The time range selected as a pair of double values.

Time ranges are applied to the x-axis only, and only for timeplot.

Definition at line 611 of file MsPlot.h.

Definition at line 525 of file MsPlot.h.

Definition at line 526 of file MsPlot.h.

Definition at line 574 of file MsPlot.h.

SLog* casa::MsPlot::log [private]

Message log, used to report warning, errors, and debugging information.

Definition at line 480 of file MsPlot.h.

Definition at line 528 of file MsPlot.h.

Definition at line 539 of file MsPlot.h.

Definition at line 540 of file MsPlot.h.

Methods used to figure out what needs to be plotted Find which table to give to Table casa::MsPlot::plot [private]

Definition at line 728 of file MsPlot.h.

Methods used to figure out what needs to be plotted Find which table to give to Table it will be one of casa::MsPlot::three [private]

Definition at line 728 of file MsPlot.h.

Definition at line 546 of file MsPlot.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines