Classes | Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
QwtPlotSpectrogram Class Reference

A plot item, which displays a spectrogram. More...

#include <qwt_plot_spectrogram.h>

Inheritance diagram for QwtPlotSpectrogram:
Inheritance graph
[legend]

Classes

class  PrivateData
 

Public Types

enum  DisplayMode { ImageMode = 0x01, ContourMode = 0x02 }
 
- Public Types inherited from QwtPlotRasterItem
enum  CachePolicy { NoCache, PaintCache }
 Cache policy The default policy is NoCache. More...
 
enum  PaintAttribute { PaintInDeviceResolution = 1 }
 
- Public Types inherited from QwtPlotItem
enum  ItemAttribute { Legend = 0x01, AutoScale = 0x02, Margins = 0x04 }
 Plot Item Attributes. More...
 
enum  ItemInterest { ScaleInterest = 0x01, LegendInterest = 0x02 }
 Plot Item Interests. More...
 
enum  RenderHint { RenderAntialiased = 0x1 }
 Render hints. More...
 
enum  RttiValues {
  Rtti_PlotItem = 0, Rtti_PlotGrid, Rtti_PlotScale, Rtti_PlotLegend,
  Rtti_PlotMarker, Rtti_PlotCurve, Rtti_PlotSpectroCurve, Rtti_PlotIntervalCurve,
  Rtti_PlotHistogram, Rtti_PlotSpectrogram, Rtti_PlotGraphic, Rtti_PlotTradingCurve,
  Rtti_PlotBarChart, Rtti_PlotMultiBarChart, Rtti_PlotShape, Rtti_PlotTextLabel,
  Rtti_PlotZone, Rtti_PlotVectorField, Rtti_PlotUserItem = 1000
}
 Runtime type information. More...
 

Public Member Functions

const QwtColorMapcolorMap () const
 
int colorTableSize () const
 
QList< double > contourLevels () const
 
virtual QPen contourPen (double level) const
 Calculate the pen for a contour line. More...
 
QwtRasterDatadata ()
 
const QwtRasterDatadata () const
 
QPen defaultContourPen () const
 
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE
 Draw the spectrogram. More...
 
virtual QwtInterval interval (Qt::Axis) const QWT_OVERRIDE
 
virtual QRectF pixelHint (const QRectF &) const QWT_OVERRIDE
 Pixel hint. More...
 
 QwtPlotSpectrogram (const QString &title=QString())
 
virtual int rtti () const QWT_OVERRIDE
 
void setColorMap (QwtColorMap *)
 
void setColorTableSize (int numColors)
 
void setConrecFlag (QwtRasterData::ConrecFlag, bool on)
 
void setContourLevels (const QList< double > &)
 
void setData (QwtRasterData *data)
 
void setDefaultContourPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
 
void setDefaultContourPen (const QPen &)
 Set the default pen for the contour lines. More...
 
void setDisplayMode (DisplayMode, bool on=true)
 
bool testConrecFlag (QwtRasterData::ConrecFlag) const
 
bool testDisplayMode (DisplayMode) const
 
virtual ~QwtPlotSpectrogram ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotRasterItem
int alpha () const
 
virtual QRectF boundingRect () const QWT_OVERRIDE
 
CachePolicy cachePolicy () const
 
void invalidateCache ()
 
 QwtPlotRasterItem (const QString &title=QString())
 Constructor. More...
 
 QwtPlotRasterItem (const QwtText &title)
 Constructor. More...
 
void setAlpha (int alpha)
 Set an alpha value for the raster data. More...
 
void setCachePolicy (CachePolicy)
 
void setPaintAttribute (PaintAttribute, bool on=true)
 
bool testPaintAttribute (PaintAttribute) const
 
virtual ~QwtPlotRasterItem ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotItem
void attach (QwtPlot *plot)
 Attach the item to a plot. More...
 
void detach ()
 This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
 
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
 Calculate a hint for the canvas margin. More...
 
void hide ()
 Hide the item. More...
 
bool isVisible () const
 
virtual void itemChanged ()
 
virtual void legendChanged ()
 
virtual QList< QwtLegendDatalegendData () const
 Return all information, that is needed to represent the item on the legend. More...
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
 
QSize legendIconSize () const
 
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding paint rectangle of 2 maps. More...
 
QwtPlotplot () const
 Return attached plot. More...
 
 QwtPlotItem ()
 
 QwtPlotItem (const QString &title)
 
 QwtPlotItem (const QwtText &title)
 
uint renderThreadCount () const
 
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding scale rectangle of 2 maps. More...
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 
void setItemAttribute (ItemAttribute, bool on=true)
 
void setItemInterest (ItemInterest, bool on=true)
 
void setLegendIconSize (const QSize &)
 
void setRenderHint (RenderHint, bool on=true)
 
void setRenderThreadCount (uint numThreads)
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
virtual void setVisible (bool)
 
void setXAxis (QwtAxisId)
 
void setYAxis (QwtAxisId)
 
void setZ (double z)
 Set the z value. More...
 
void show ()
 Show the item. More...
 
bool testItemAttribute (ItemAttribute) const
 
bool testItemInterest (ItemInterest) const
 
bool testRenderHint (RenderHint) const
 
const QwtTexttitle () const
 
virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
 Update the item to changes of the legend info. More...
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
 Update the item to changes of the axes scale division. More...
 
QwtAxisId xAxis () const
 Return xAxis. More...
 
QwtAxisId yAxis () const
 Return yAxis. More...
 
double z () const
 
virtual ~QwtPlotItem ()
 Destroy the QwtPlotItem. More...
 

Protected Member Functions

virtual QSize contourRasterSize (const QRectF &, const QRect &) const
 Return the raster to be used by the CONREC contour algorithm. More...
 
virtual void drawContourLines (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtRasterData::ContourLines &) const
 
virtual QwtRasterData::ContourLines renderContourLines (const QRectF &rect, const QSize &raster) const
 
virtual QImage renderImage (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &area, const QSize &imageSize) const QWT_OVERRIDE
 Render an image from data and color map. More...
 
void renderTile (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &tile, QImage *) const
 Render a tile of an image. More...
 
- Protected Member Functions inherited from QwtPlotRasterItem
virtual QwtScaleMap imageMap (Qt::Orientation, const QwtScaleMap &map, const QRectF &area, const QSize &imageSize, double pixelSize) const
 Calculate a scale map for painting to an image. More...
 
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...
 

Private Attributes

PrivateDatam_data
 

Detailed Description

A plot item, which displays a spectrogram.

A spectrogram displays 3-dimensional data, where the 3rd dimension ( the intensity ) is displayed using colors. The colors are calculated from the values using a color map.

On multi-core systems the performance of the image composition can often be improved by dividing the area into tiles - each of them rendered in a different thread ( see QwtPlotItem::setRenderThreadCount() ).

In ContourMode contour lines are painted for the contour levels.

See also
QwtRasterData, QwtColorMap, QwtPlotItem::setRenderThreadCount()

Definition at line 36 of file qwt_plot_spectrogram.h.

Member Enumeration Documentation

◆ DisplayMode

The display mode controls how the raster data will be represented.

See also
setDisplayMode(), testDisplayMode()
Enumerator
ImageMode 

The values are mapped to colors using a color map.

ContourMode 

The data is displayed using contour lines.

Definition at line 44 of file qwt_plot_spectrogram.h.

Constructor & Destructor Documentation

◆ QwtPlotSpectrogram()

QwtPlotSpectrogram::QwtPlotSpectrogram ( const QString &  title = QString())
explicit

Sets the following item attributes:

The z value is initialized by 8.0.

Parameters
titleTitle
See also
QwtPlotItem::setItemAttribute(), QwtPlotItem::setZ()

Definition at line 108 of file qwt_plot_spectrogram.cpp.

◆ ~QwtPlotSpectrogram()

QwtPlotSpectrogram::~QwtPlotSpectrogram ( )
virtual

Destructor.

Definition at line 120 of file qwt_plot_spectrogram.cpp.

Member Function Documentation

◆ colorMap()

const QwtColorMap * QwtPlotSpectrogram::colorMap ( ) const
Returns
Color Map used for mapping the intensity values to colors
See also
setColorMap()

Definition at line 200 of file qwt_plot_spectrogram.cpp.

◆ colorTableSize()

int QwtPlotSpectrogram::colorTableSize ( ) const
Returns
Size of the color table, 0 means not using a color table
See also
QwtColorMap::colorTable(), setColorTableSize()

Definition at line 238 of file qwt_plot_spectrogram.cpp.

◆ contourLevels()

QList< double > QwtPlotSpectrogram::contourLevels ( ) const
Returns
Levels of the contour lines.

The levels are sorted in increasing order.

See also
contourLevels(), renderContourLines(), QwtRasterData::contourLines()

Definition at line 382 of file qwt_plot_spectrogram.cpp.

◆ contourPen()

QPen QwtPlotSpectrogram::contourPen ( double  level) const
virtual

Calculate the pen for a contour line.

The color of the pen is the color for level calculated by the color map

Parameters
levelContour level
Returns
Pen for the contour line
Note
contourPen is only used if defaultContourPen().style() == Qt::NoPen
See also
setDefaultContourPen(), setColorMap(), setContourLevels()

Definition at line 303 of file qwt_plot_spectrogram.cpp.

◆ contourRasterSize()

QSize QwtPlotSpectrogram::contourRasterSize ( const QRectF &  area,
const QRect &  rect 
) const
protectedvirtual

Return the raster to be used by the CONREC contour algorithm.

A larger size will improve the precision of the CONREC algorithm, but will slow down the time that is needed to calculate the lines.

The default implementation returns rect.size() / 2 bounded to the resolution depending on pixelSize().

Parameters
areaRectangle, where to calculate the contour lines
rectRectangle in pixel coordinates, where to paint the contour lines
Returns
Raster to be used by the CONREC contour algorithm.
Note
The size will be bounded to rect.size().
See also
drawContourLines(), QwtRasterData::contourLines()

Definition at line 663 of file qwt_plot_spectrogram.cpp.

◆ data() [1/2]

QwtRasterData* QwtPlotSpectrogram::data ( )

◆ data() [2/2]

QwtRasterData * QwtPlotSpectrogram::data ( ) const
Returns
Spectrogram data
See also
setData()

Definition at line 409 of file qwt_plot_spectrogram.cpp.

◆ defaultContourPen()

QPen QwtPlotSpectrogram::defaultContourPen ( ) const
Returns
Default contour pen
See also
setDefaultContourPen()

Definition at line 287 of file qwt_plot_spectrogram.cpp.

◆ draw()

void QwtPlotSpectrogram::draw ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect 
) const
virtual

Draw the spectrogram.

Parameters
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rectangle of the canvas in painter coordinates
See also
setDisplayMode(), renderImage(), QwtPlotRasterItem::draw(), drawContourLines()

Reimplemented from QwtPlotRasterItem.

Definition at line 754 of file qwt_plot_spectrogram.cpp.

◆ drawContourLines()

void QwtPlotSpectrogram::drawContourLines ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QwtRasterData::ContourLines contourLines 
) const
protectedvirtual

Paint the contour lines

Parameters
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
contourLinesContour lines
See also
renderContourLines(), defaultContourPen(), contourPen()

Definition at line 709 of file qwt_plot_spectrogram.cpp.

◆ interval()

QwtInterval QwtPlotSpectrogram::interval ( Qt::Axis  axis) const
virtual
Returns
Bounding interval for an axis

The default implementation returns the interval of the associated raster data object.

Parameters
axisX, Y, or Z axis
See also
QwtRasterData::interval()

Reimplemented from QwtPlotRasterItem.

Definition at line 432 of file qwt_plot_spectrogram.cpp.

◆ pixelHint()

QRectF QwtPlotSpectrogram::pixelHint ( const QRectF &  area) const
virtual

Pixel hint.

The geometry of a pixel is used to calculated the resolution and alignment of the rendered image.

The default implementation returns data()->pixelHint( rect );

Parameters
areaIn most implementations the resolution of the data doesn't depend on the requested area.
Returns
Bounding rectangle of a pixel
See also
QwtPlotRasterItem::pixelHint(), QwtRasterData::pixelHint(), render(), renderImage()

Reimplemented from QwtPlotRasterItem.

Definition at line 456 of file qwt_plot_spectrogram.cpp.

◆ renderContourLines()

QwtRasterData::ContourLines QwtPlotSpectrogram::renderContourLines ( const QRectF &  rect,
const QSize &  raster 
) const
protectedvirtual

Calculate contour lines

Parameters
rectRectangle, where to calculate the contour lines
rasterRaster, used by the CONREC algorithm
Returns
Calculated contour lines
See also
contourLevels(), setConrecFlag(), QwtRasterData::contourLines()

Definition at line 689 of file qwt_plot_spectrogram.cpp.

◆ renderImage()

QImage QwtPlotSpectrogram::renderImage ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  area,
const QSize &  imageSize 
) const
protectedvirtual

Render an image from data and color map.

For each pixel of area the value is mapped into a color.

Parameters
xMapX-Scale Map
yMapY-Scale Map
areaRequested area for the image in scale coordinates
imageSizeSize of the requested image
Returns
A QImage::Format_Indexed8 or QImage::Format_ARGB32 depending on the color map.
See also
QwtRasterData::value(), QwtColorMap::rgb(), QwtColorMap::colorIndex()

Implements QwtPlotRasterItem.

Definition at line 480 of file qwt_plot_spectrogram.cpp.

◆ renderTile()

void QwtPlotSpectrogram::renderTile ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRect &  tile,
QImage *  image 
) const
protected

Render a tile of an image.

Rendering in tiles can be used to composite an image in parallel threads.

Parameters
xMapX-Scale Map
yMapY-Scale Map
tileGeometry of the tile in image coordinates
imageImage to be rendered

Definition at line 572 of file qwt_plot_spectrogram.cpp.

◆ rtti()

int QwtPlotSpectrogram::rtti ( ) const
virtual
Returns
QwtPlotItem::Rtti_PlotSpectrogram

Reimplemented from QwtPlotItem.

Definition at line 126 of file qwt_plot_spectrogram.cpp.

◆ setColorMap()

void QwtPlotSpectrogram::setColorMap ( QwtColorMap colorMap)

Change the color map

Often it is useful to display the mapping between intensities and colors as an additional plot axis, showing a color bar.

Parameters
colorMapColor Map
See also
colorMap(), QwtScaleWidget::setColorBarEnabled(), QwtScaleWidget::setColorMap()

Definition at line 177 of file qwt_plot_spectrogram.cpp.

◆ setColorTableSize()

void QwtPlotSpectrogram::setColorTableSize ( int  numColors)

Limit the number of colors being used by the color map

When using a color table the mapping from the value into a color is usually faster as it can be done by simple lookups into a precalculated color table.

Setting a table size > 0 enables using a color table, while setting the size to 0 disables it.

The default size = 0, and no color table is used.

Parameters
numColorsNumber of colors. 0 means not using a color table
Note
The colorTableSize has no effect when using a color table of QwtColorMap::Indexed, where the size is always 256.
See also
QwtColorMap::colorTable(), colorTableSize()

Definition at line 224 of file qwt_plot_spectrogram.cpp.

◆ setConrecFlag()

void QwtPlotSpectrogram::setConrecFlag ( QwtRasterData::ConrecFlag  flag,
bool  on 
)

Modify an attribute of the CONREC algorithm, used to calculate the contour lines.

Parameters
flagCONREC flag
onOn/Off
See also
testConrecFlag(), renderContourLines(), QwtRasterData::contourLines()

Definition at line 324 of file qwt_plot_spectrogram.cpp.

◆ setContourLevels()

void QwtPlotSpectrogram::setContourLevels ( const QList< double > &  levels)

Set the levels of the contour lines

Parameters
levelsValues of the contour levels
See also
contourLevels(), renderContourLines(), QwtRasterData::contourLines()
Note
contourLevels returns the same levels but sorted.

Definition at line 365 of file qwt_plot_spectrogram.cpp.

◆ setData()

void QwtPlotSpectrogram::setData ( QwtRasterData data)

Set the data to be displayed

Parameters
dataSpectrogram Data
See also
data()

Definition at line 393 of file qwt_plot_spectrogram.cpp.

◆ setDefaultContourPen() [1/2]

void QwtPlotSpectrogram::setDefaultContourPen ( const QColor &  color,
qreal  width = 0.0,
Qt::PenStyle  style = Qt::SolidLine 
)

Build and assign the default pen for the contour lines

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters
colorPen color
widthPen width
stylePen style
See also
pen(), brush()

Definition at line 256 of file qwt_plot_spectrogram.cpp.

◆ setDefaultContourPen() [2/2]

void QwtPlotSpectrogram::setDefaultContourPen ( const QPen &  pen)

Set the default pen for the contour lines.

If the spectrogram has a valid default contour pen a contour line is painted using the default contour pen. Otherwise (pen.style() == Qt::NoPen) the pen is calculated for each contour level using contourPen().

See also
defaultContourPen(), contourPen()

Definition at line 272 of file qwt_plot_spectrogram.cpp.

◆ setDisplayMode()

void QwtPlotSpectrogram::setDisplayMode ( DisplayMode  mode,
bool  on = true 
)

The display mode controls how the raster data will be represented.

Parameters
modeDisplay mode
onOn/Off

The default setting enables ImageMode.

See also
DisplayMode, displayMode()

Definition at line 141 of file qwt_plot_spectrogram.cpp.

◆ testConrecFlag()

bool QwtPlotSpectrogram::testConrecFlag ( QwtRasterData::ConrecFlag  flag) const

Test an attribute of the CONREC algorithm, used to calculate the contour lines.

Parameters
flagCONREC flag
Returns
true, is enabled

The default setting enables QwtRasterData::IgnoreAllVerticesOnLevel

See also
setConrecClag(), renderContourLines(), QwtRasterData::contourLines()

Definition at line 350 of file qwt_plot_spectrogram.cpp.

◆ testDisplayMode()

bool QwtPlotSpectrogram::testDisplayMode ( DisplayMode  mode) const

The display mode controls how the raster data will be represented.

Parameters
modeDisplay mode
Returns
true if mode is enabled

Definition at line 161 of file qwt_plot_spectrogram.cpp.

Member Data Documentation

◆ m_data

PrivateData* QwtPlotSpectrogram::m_data
private

Definition at line 112 of file qwt_plot_spectrogram.h.


The documentation for this class was generated from the following files:


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:51