44 class PlotMSCacheBase;
48 class PMS_PP_Iteration;
115 std::vector<MaskedScatterPlotPtr>
plots()
const;
118 std::vector<PlotCanvasPtr>
canvases()
const;
206 bool showUnflagged,
bool showFlagged,
bool selectAll )
const ;
209 bool showUnflagged,
bool showFlagged);
262 int updateFlag,
bool releaseWhenDone );
267 const std::vector<PlotCanvasPtr>&
canvases)
const;
351 PMS::DataColumn& xColumn,
353 std::vector<PMS_PP_Axes*>& axesParams,
354 std::vector<PMS_PP_Cache*>& cacheParams,
355 std::vector<PMS_PP_Canvas*>& canvParams,
356 std::vector<PMS_PP_MSData*>& dataParams,
357 std::vector<PMS_PP_Display*>& displayParams,
358 std::vector<PlotMSPlot*>&
plots,
360 bool commonPolnRatio,
362 int defaultLabelFont);
364 PMS::DataColumn& xColumn,
366 std::vector<PMS_PP_Axes*>& axesParams,
367 std::vector<PMS_PP_Cache*>& cacheParams,
368 std::vector<PMS_PP_MSData*>& dataParams,
369 std::vector<PlotMSPlot*>&
plots,
370 int commonCacheType);
374 std::vector<PMS_PP_Axes*>& axesParams,
375 std::vector<PMS_PP_Cache*>& cacheParams,
376 std::vector<PMS_PP_Display*>& displayParams,
377 std::vector<PlotMSPlot*>&
plots,
380 PMS::Axis xAxis, PMS::DataColumn xColumn,
PlotAxis xPlotAxis,
381 std::vector<PMS_PP_Cache*> cacheParams,
382 std::vector<PMS_PP_Canvas*> canvasParams,
383 std::vector<PMS_PP_MSData*> dataParams,
384 std::vector<PlotMSPlot*>&
plots,
385 int defaultFontSize,
int commonCacheType,
bool commonPolnRatio);
389 std::vector<PMS::DataColumn>& yColumns,
391 std::vector<PMS_PP_Axes*>& axesParams,
392 std::vector<PMS_PP_Cache*>& cacheParams,
393 std::vector<PMS_PP_Canvas*>& canvParams,
394 std::vector<PMS_PP_MSData*>& dataParams,
395 std::vector<PMS_PP_Display*>& displayParams,
396 std::vector<PlotMSPlot*>&
plots,
398 int defaultLabelFont);
399 void setYAxes(std::vector<PMS::Axis>& yaxes,
400 std::vector<PMS::DataColumn>& ycolumns,
401 std::vector<PMS_PP_Cache*>& cacheParams,
402 std::vector<PMS_PP_MSData*>& dataParams,
403 std::vector<PlotMSPlot*>&
plots);
405 std::vector<PMS_PP_Axes*>& axesParams,
406 std::vector<PMS_PP_Cache*>& cacheParams,
407 std::vector<PMS_PP_Display*>& displayParams,
408 std::vector<PlotMSPlot*>&
plots,
411 std::vector<PMS::Axis>& yAxes,
412 std::vector<PMS::DataColumn>& yColumns,
413 std::vector<PMS_PP_Axes*>& axesParams,
414 std::vector<PMS_PP_Cache*>& cacheParams,
415 std::vector<PMS_PP_Canvas*>& canvasParams,
416 std::vector<PMS_PP_MSData*>& dataParams,
417 std::vector<PlotMSPlot*>&
plots,
418 int defaultFontSize);
422 std::vector<PMS_PP_Canvas*>& canvasParams,
423 std::vector<PMS_PP_Iteration*>& iterParams,
424 std::vector<PlotMSPlot*>&
plots,
425 int defaultTitleFont,
int iteration);
445 int commonCacheType,
bool averaged);
449 std::vector<std::vector<MaskedScatterPlotPtr> >
itsPlots_;
bool isIteration() const
Returns true if the plot is an iteration plot.
void recalculateIteration()
PlotMSCacheBase * itsCache_
Cache.
void setXAxisRange(PMS::Axis xAxis, PlotAxis xPlotAxis, PlotCanvasPtr canvas, std::vector< PMS_PP_Axes * > &axesParams, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_Display * > &displayParams, std::vector< PlotMSPlot * > &plots, int iteration)
A 1-D Specialization of the Array class.
void logIter(casacore::Int iter, casacore::Int nIter)
Specifies averaging parameters for an MS.
Represents a single page of PlotCanvases, arranged in a grid.
StatsData< AccumType > copy(const StatsData< AccumType > &stats)
casacore::Record locateInfo(int plotIterIndex, const casacore::Vector< PlotRegion > ®ions, bool showUnflagged, bool showFlagged, bool selectAll) const
void parametersHaveChanged(const PlotMSWatchedParameters ¶ms, int updateFlag)
Implements PlotMSParametersWatcher::parametersHaveChanged().
Simple class to hold parameter to resume updating after a threaded cache loading. ...
const PlotMSPlotParameters & parameters() const
Returns a reference to the plot's parameters.
void setXAxisProperties(PMS::Axis &xAxis, PMS::DataColumn &xColumn, PlotCanvasPtr canvas, std::vector< PMS_PP_Axes * > &axesParams, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_Canvas * > &canvParams, std::vector< PMS_PP_MSData * > &dataParams, std::vector< PMS_PP_Display * > &displayParams, std::vector< PlotMSPlot * > &plots, int commonCacheType, bool commonPolnRatio, int iteration, int defaultLabelFont)
x-axis, ranges, labels
bool updateData()
Force data update by clearing the cache.
void logMessage(const QString &msg) const
Post a plot message to the logger.
virtual bool guiShown() const
See PlotMSPlotter::guiShown().
Subclass of PlotMSPlotParameters::Group to handle display parameters.
void setXAxis(PMS::Axis &xAxis, PMS::DataColumn &xColumn, PlotAxis &xPlotaxis, std::vector< PMS_PP_Axes * > &axesParams, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_MSData * > &dataParams, std::vector< PlotMSPlot * > &plots, int commonCacheType)
PMS::Axis msDataAxisToCal(PMS::Axis inputAxis, casacore::String calType)
static const casacore::uInt PIXEL_THRESHOLD
Parameters for a PlotMSPlot.
int getPageIterationCount(const PlotMSPage &page)
int getIterationIndex(int r, int c, const PlotMSPage &page)
Returns the iteration for the canvas located at row, r, and column, c.
bool parametersHaveChanged_(const PlotMSWatchedParameters ¶ms, int updateFlag, bool releaseWhenDone)
Updates plot members for parameters specific to the child plot type.
Subclass of PlotMSPlotParameters::Group to handle canvas parameters.
void clearPlotData()
Clear data when deleting cache to prevent seg fault in other thread.
void setXAxisLabel(PlotCanvasPtr canvas, PMS::Axis xAxis, PMS::DataColumn xColumn, PlotAxis xPlotAxis, std::vector< PMS_PP_Cache * > cacheParams, std::vector< PMS_PP_Canvas * > canvasParams, std::vector< PMS_PP_MSData * > dataParams, std::vector< PlotMSPlot * > &plots, int defaultFontSize, int commonCacheType, bool commonPolnRatio)
void getAxisBoundsForUV(double &min, double &max)
PlotMSRegions visibleSelectedRegions() const
PlotMSPlotter::currentCanvases()) associated with this plot.
PlotMSApp * parent()
Gets the plot's parent.
PlotMSCacheBase & cache()
Gets the plot's data source.
static void cacheLoaded(void *obj, bool wasCanceled)
Abstract class for parameters that may be watched by one or more interested classes.
void attachToCanvases()
Attaches/Detaches internal plot objects to their assigned canvases.
void getAxisBoundsForTime(double &min, double &max)
specify axis ranges for certain axes
PlotMSRegions is a class that holds information about selected regions for a single PlotMSPlot...
void getAxisBoundsForOverlay(double &min, double &max)
Controller class for plotms.
bool firstIter()
Steps the iteration.
void setYAxesProperties(std::vector< PMS::Axis > &yAxes, std::vector< PMS::DataColumn > &yColumns, PlotCanvasPtr canvas, std::vector< PMS_PP_Axes * > &axesParams, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_Canvas * > &canvParams, std::vector< PMS_PP_MSData * > &dataParams, std::vector< PMS_PP_Display * > &displayParams, std::vector< PlotMSPlot * > &plots, int iteration, int defaultLabelFont)
y-axis, ranges, labels
PlotMSApp * itsParent_
MEMBERS //.
bool isCacheUpdating() const
Whether a thread is currently updating the cache.
bool initializePlot()
Initializes any internal plot objects, but does NOT set parameters or attach to canvases.
int getCommonCacheType(std::vector< PMS_PP_MSData * > &dataParams)
type is MS unless all CalTables
void setCanvasProperties(PlotCanvasPtr canvas, int numplots, casacore::uInt iteration, PMS_PP_Axes *axesParams, PMS_PP_Cache *cacheParams, PMS_PP_Canvas *canvParams, PMS_PP_Iteration *iterParams, PMS_PP_MSData *dataParams, PMS_PP_Display *displayParams, int gridRow, int gridCol)
void customizeOverlaySymbol(const PlotSymbolPtr &baseSymbol, casacore::uInt dataSize)
const PlotMSCacheBase & cache() const
bool allDrawingHeld()
Returns true if drawing is currently being held on all plot canvases, false otherwise.
void setCacheUpdating(bool updating)
void setCommonAxes(std::vector< PMS_PP_Iteration * > &iterParams, PlotCanvasPtr canvas)
Common canvas settings Share external axes for iterated plots.
Subclass of PlotMSPlotParameters::Group to handle subparameters for casacore::MS data.
void clearCanvases()
Clear the title and axes from all this plots canvases.
PMS::Axis getDefaultXAxis(int cachetype, casacore::String caltype)
Validate or handle axes for MS/Cal.
Specifies flagging parameters (including possibly flag extension) for an MS.
Subclass of PlotMSPlotParameters::Group to handle axes parameters.
void addAxisDescription(casacore::String &label, PMS::Axis axis, int commonCacheType, bool averaged)
std::vector< PlotCanvasPtr > canvases() const
Returns the canvases that have been assigned to this plot.
Class for a single "plot" concept.
static const casacore::uInt MEDIUM_THRESHOLD
void cacheLoaded_(bool wasCanceled)
PMS::Axis getGsplineAxis(const casacore::String filename)
void waitOnCanvas(const PlotCanvasPtr &canvas)
void getPlotSize(casacore::Int &rows, casacore::Int &cols)
Return the dimensions of the plot data that this plot should hold.
std::vector< PMS::Axis > getCachedAxes()
PlotAxis
Enum for the four plot axes.
void checkIteraxis(casacore::String caltype, PMS_PP_Iteration *iter)
virtual PlotMSRegions selectedRegions() const
Returns all selected regions on all canvases associated with this plot.
A hierarchical collection of named fields of various types.
void customizeAutoSymbol(const PlotSymbolPtr &baseSymbol, casacore::uInt dataSize)
void holdDrawing()
Holds drawing on all plot canvases.
bool getCommonPolnRatio(std::vector< PMS_PP_MSData * > &dataParams)
true if all plots have selected this polarization
void checkColoraxis(casacore::String caltype, PMS_PP_Display *display)
void resize(PlotMSPages &, casacore::uInt rows, casacore::uInt cols)
void resizePlots(int rows, int cols)
Adjust the amount of plot data that this plot is holding.
bool assignCanvases(PlotMSPages &pages)
Generates and assigns canvases that this plot will be using, with the given PlotMSPages object...
std::vector< MaskedScatterPlotPtr > plots() const
Returns the plots assigned to this plot.
void setYAxesLabels(PlotCanvasPtr canvas, std::vector< PMS::Axis > &yAxes, std::vector< PMS::DataColumn > &yColumns, std::vector< PMS_PP_Axes * > &axesParams, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_Canvas * > &canvasParams, std::vector< PMS_PP_MSData * > &dataParams, std::vector< PlotMSPlot * > &plots, int defaultFontSize)
void setSquareAxesRange(PlotCanvasPtr canvas)
axis ranges for square plots
void setRelease(bool b)
This was added so that in 'mixed mode', cacheloaded will trigger a redraw of the plot.
bool exportToFormat(const PlotExportFormat &format)
Exports canvases associated with this plot to the given format.
Subclass of PlotMSPlotParameters::Group to handle cache parameters.
bool axisIsAveraged(PMS::Axis axis, PlotMSAveraging averaging)
For axis labels and title.
static PlotMSPlotParameters makeParameters(PlotMSApp *plotms)
Static //.
void detachFromCanvases()
volatile bool cacheUpdating
Used to determine if a thread is running to update the cache.
std::vector< std::vector< PlotCanvasPtr > > itsCanvases_
Note: First index for a canvas is the number of rows, second index is the column within a grid for it...
PlotMSPlot(PlotMSApp *parent)
Non-Static //.
Interface for classes that wish to be notified when PlotMSWatchedParameters have changed.
void plotDataChanged()
Calls the dataChanged() method on the MaskedScatterPlots.
PMS::Axis calDataAxisToMS(PMS::Axis inputAxis)
const Double c
Fundamental physical constants (SI units):
PlotMSPlotParameters itsParams_
Parameters.
void exportToFormatCancel()
void releaseDrawing()
Releases drawing on all plot canvases, which will also cause a redraw.
PlotLogMessage * locateRange(int plotIterIndex, const casacore::Vector< PlotRegion > ®ions, bool showUnflagged, bool showFlagged)
static const casacore::uInt LARGE_THRESHOLD
String: the storage and methods of handling collections of characters.
void setYAxes(std::vector< PMS::Axis > &yaxes, std::vector< PMS::DataColumn > &ycolumns, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_MSData * > &dataParams, std::vector< PlotMSPlot * > &plots)
Subclass of PlotMSPlotParameters::Group to handle iteration parameters.
casacore::String spectype() const
Returns specialization Id for this plot.
std::vector< std::vector< MaskedScatterPlotPtr > > itsPlots_
Note: First index for a plot is the dataCount, second index is the number of iteration.
Superclass for all messages going through the PlotLogger.
std::vector< PlotCanvasPtr > visibleCanvases() const
Returns the visible canvases (accessible via PlotMSPlotter::currentCanvases()) associated with this p...
static const casacore::uInt XLARGE_THRESHOLD
void canvasWasDisowned(PlotCanvasPtr canvas)
This method should be called when the given canvas (which was owned by this plot) was disowned...
std::vector< PMS::DataColumn > getCachedData()
void setTitleProperties(casacore::String &title, PlotCanvasPtr canvas, std::vector< PMS_PP_Canvas * > &canvasParams, std::vector< PMS_PP_Iteration * > &iterParams, std::vector< PlotMSPlot * > &plots, int defaultTitleFont, int iteration)
title
PlotMSPlot & operator=(const PlotMSPlot ©)
PlotItemPtr ColoredPlotPtr
std::vector< std::vector< ColoredPlotPtr > > itsColoredPlots_
Represents (potentially) multiple pages for PlotMS, with one being current (visible) at a time...
void waitForDrawing(bool holdDrawing)
This method was written because in scripting mode, there was a segfault when the grid size was change...
casacore::String name() const
Returns a human-readable name for this plot.
void clearCanvasProperties(int row, int col)
void setYAxesRanges(PlotCanvasPtr canvas, std::vector< PMS_PP_Axes * > &axesParams, std::vector< PMS_PP_Cache * > &cacheParams, std::vector< PMS_PP_Display * > &displayParams, std::vector< PlotMSPlot * > &plots, int iteration)
bool releaseWhenDone
Parameters.
PlotLogMessage * flagRange(int canvasIndex, casa::PlotMSFlagging &flagging, const casacore::Vector< PlotRegion > ®ions, bool showFlagged)
PlotFactoryPtr itsFactory_
Plot factory for generating plot objects as needed.
void dataMissing()
The cache load did not succeed so clear the plot and the cache.